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_v4s1,
55 GILLT_v8s1,
56 GILLT_v16s1,
57 GILLT_v32s1,
58 GILLT_v64s1,
59 GILLT_v16s8,
60 GILLT_v32s8,
61 GILLT_v64s8,
62 GILLT_v8s16,
63 GILLT_v16s16,
64 GILLT_v32s16,
65 GILLT_v4s32,
66 GILLT_v8s32,
67 GILLT_v16s32,
68 GILLT_v2s64,
69 GILLT_v4s64,
70 GILLT_v8s64,
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), LLT::scalar(1)),
82 LLT::vector(ElementCount::getFixed(4), LLT::scalar(1)),
83 LLT::vector(ElementCount::getFixed(8), LLT::scalar(1)),
84 LLT::vector(ElementCount::getFixed(16), LLT::scalar(1)),
85 LLT::vector(ElementCount::getFixed(32), LLT::scalar(1)),
86 LLT::vector(ElementCount::getFixed(64), LLT::scalar(1)),
87 LLT::vector(ElementCount::getFixed(16), LLT::scalar(8)),
88 LLT::vector(ElementCount::getFixed(32), LLT::scalar(8)),
89 LLT::vector(ElementCount::getFixed(64), LLT::scalar(8)),
90 LLT::vector(ElementCount::getFixed(8), LLT::scalar(16)),
91 LLT::vector(ElementCount::getFixed(16), LLT::scalar(16)),
92 LLT::vector(ElementCount::getFixed(32), LLT::scalar(16)),
93 LLT::vector(ElementCount::getFixed(4), LLT::scalar(32)),
94 LLT::vector(ElementCount::getFixed(8), LLT::scalar(32)),
95 LLT::vector(ElementCount::getFixed(16), LLT::scalar(32)),
96 LLT::vector(ElementCount::getFixed(2), LLT::scalar(64)),
97 LLT::vector(ElementCount::getFixed(4), LLT::scalar(64)),
98 LLT::vector(ElementCount::getFixed(8), LLT::scalar(64)),
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(360), /*)*//*default:*//*Label 82*/ GIMT_Encode4(236364),
1209 /* 10 */ /*TargetOpcode::G_ADD*//*Label 0*/ GIMT_Encode4(1230),
1210 /* 14 */ /*TargetOpcode::G_SUB*//*Label 1*/ GIMT_Encode4(6692),
1211 /* 18 */ /*TargetOpcode::G_MUL*//*Label 2*/ GIMT_Encode4(9984), 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(13409),
1213 /* 50 */ /*TargetOpcode::G_OR*//*Label 4*/ GIMT_Encode4(23485),
1214 /* 54 */ /*TargetOpcode::G_XOR*//*Label 5*/ GIMT_Encode4(32041), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1215 /* 70 */ /*TargetOpcode::G_UAVGCEIL*//*Label 6*/ GIMT_Encode4(43988), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), 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(45650), GIMT_Encode4(0), GIMT_Encode4(0),
1217 /* 142 */ /*TargetOpcode::G_BITCAST*//*Label 8*/ GIMT_Encode4(45797), 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(48389),
1219 /* 170 */ /*TargetOpcode::G_INTRINSIC_LLRINT*//*Label 10*/ GIMT_Encode4(51575), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1220 /* 186 */ /*TargetOpcode::G_LOAD*//*Label 11*/ GIMT_Encode4(52831),
1221 /* 190 */ /*TargetOpcode::G_SEXTLOAD*//*Label 12*/ GIMT_Encode4(59047),
1222 /* 194 */ /*TargetOpcode::G_ZEXTLOAD*//*Label 13*/ GIMT_Encode4(59380), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1223 /* 210 */ /*TargetOpcode::G_STORE*//*Label 14*/ GIMT_Encode4(60023), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1224 /* 226 */ /*TargetOpcode::G_ATOMICRMW_XCHG*//*Label 15*/ GIMT_Encode4(85486),
1225 /* 230 */ /*TargetOpcode::G_ATOMICRMW_ADD*//*Label 16*/ GIMT_Encode4(85722), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), 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 /* 322 */ /*TargetOpcode::G_PREFETCH*//*Label 17*/ GIMT_Encode4(85970), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1227 /* 338 */ /*TargetOpcode::G_INTRINSIC*//*Label 18*/ GIMT_Encode4(86289),
1228 /* 342 */ /*TargetOpcode::G_INTRINSIC_W_SIDE_EFFECTS*//*Label 19*/ GIMT_Encode4(98836), GIMT_Encode4(0), GIMT_Encode4(0),
1229 /* 354 */ /*TargetOpcode::G_ANYEXT*//*Label 20*/ GIMT_Encode4(107571),
1230 /* 358 */ /*TargetOpcode::G_TRUNC*//*Label 21*/ GIMT_Encode4(108000), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1231 /* 374 */ /*TargetOpcode::G_CONSTANT*//*Label 22*/ GIMT_Encode4(109085),
1232 /* 378 */ /*TargetOpcode::G_FCONSTANT*//*Label 23*/ GIMT_Encode4(109688), GIMT_Encode4(0), GIMT_Encode4(0),
1233 /* 390 */ /*TargetOpcode::G_SEXT*//*Label 24*/ GIMT_Encode4(110141),
1234 /* 394 */ /*TargetOpcode::G_SEXT_INREG*//*Label 25*/ GIMT_Encode4(111813),
1235 /* 398 */ /*TargetOpcode::G_ZEXT*//*Label 26*/ GIMT_Encode4(112055),
1236 /* 402 */ /*TargetOpcode::G_SHL*//*Label 27*/ GIMT_Encode4(114020),
1237 /* 406 */ /*TargetOpcode::G_LSHR*//*Label 28*/ GIMT_Encode4(115704),
1238 /* 410 */ /*TargetOpcode::G_ASHR*//*Label 29*/ GIMT_Encode4(117164),
1239 /* 414 */ /*TargetOpcode::G_FSHL*//*Label 30*/ GIMT_Encode4(118624),
1240 /* 418 */ /*TargetOpcode::G_FSHR*//*Label 31*/ GIMT_Encode4(121345),
1241 /* 422 */ /*TargetOpcode::G_ROTR*//*Label 32*/ GIMT_Encode4(124120),
1242 /* 426 */ /*TargetOpcode::G_ROTL*//*Label 33*/ GIMT_Encode4(127360),
1243 /* 430 */ /*TargetOpcode::G_ICMP*//*Label 34*/ GIMT_Encode4(130769), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1244 /* 446 */ /*TargetOpcode::G_SELECT*//*Label 35*/ GIMT_Encode4(132382), GIMT_Encode4(0), GIMT_Encode4(0), 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 /* 490 */ /*TargetOpcode::G_UMULH*//*Label 36*/ GIMT_Encode4(140028),
1246 /* 494 */ /*TargetOpcode::G_SMULH*//*Label 37*/ GIMT_Encode4(140865),
1247 /* 498 */ /*TargetOpcode::G_UADDSAT*//*Label 38*/ GIMT_Encode4(141702),
1248 /* 502 */ /*TargetOpcode::G_SADDSAT*//*Label 39*/ GIMT_Encode4(143364),
1249 /* 506 */ /*TargetOpcode::G_USUBSAT*//*Label 40*/ GIMT_Encode4(145026),
1250 /* 510 */ /*TargetOpcode::G_SSUBSAT*//*Label 41*/ GIMT_Encode4(146068), GIMT_Encode4(0), GIMT_Encode4(0), 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 /* 554 */ /*TargetOpcode::G_FADD*//*Label 42*/ GIMT_Encode4(147110),
1252 /* 558 */ /*TargetOpcode::G_FSUB*//*Label 43*/ GIMT_Encode4(153032),
1253 /* 562 */ /*TargetOpcode::G_FMUL*//*Label 44*/ GIMT_Encode4(157222),
1254 /* 566 */ /*TargetOpcode::G_FMA*//*Label 45*/ GIMT_Encode4(163144), GIMT_Encode4(0),
1255 /* 574 */ /*TargetOpcode::G_FDIV*//*Label 46*/ GIMT_Encode4(169140), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), 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 /* 626 */ /*TargetOpcode::G_FNEG*//*Label 47*/ GIMT_Encode4(173330),
1257 /* 630 */ /*TargetOpcode::G_FPEXT*//*Label 48*/ GIMT_Encode4(173453),
1258 /* 634 */ /*TargetOpcode::G_FPTRUNC*//*Label 49*/ GIMT_Encode4(174405),
1259 /* 638 */ /*TargetOpcode::G_FPTOSI*//*Label 50*/ GIMT_Encode4(174791),
1260 /* 642 */ /*TargetOpcode::G_FPTOUI*//*Label 51*/ GIMT_Encode4(176208),
1261 /* 646 */ /*TargetOpcode::G_SITOFP*//*Label 52*/ GIMT_Encode4(176764),
1262 /* 650 */ /*TargetOpcode::G_UITOFP*//*Label 53*/ GIMT_Encode4(180148), GIMT_Encode4(0), GIMT_Encode4(0),
1263 /* 662 */ /*TargetOpcode::G_FABS*//*Label 54*/ GIMT_Encode4(182403), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), 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 /* 750 */ /*TargetOpcode::G_SMIN*//*Label 55*/ GIMT_Encode4(182526),
1265 /* 754 */ /*TargetOpcode::G_SMAX*//*Label 56*/ GIMT_Encode4(185827),
1266 /* 758 */ /*TargetOpcode::G_UMIN*//*Label 57*/ GIMT_Encode4(189128),
1267 /* 762 */ /*TargetOpcode::G_UMAX*//*Label 58*/ GIMT_Encode4(192429),
1268 /* 766 */ /*TargetOpcode::G_ABS*//*Label 59*/ GIMT_Encode4(195730), GIMT_Encode4(0), GIMT_Encode4(0),
1269 /* 778 */ /*TargetOpcode::G_BR*//*Label 60*/ GIMT_Encode4(197591), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1270 /* 794 */ /*TargetOpcode::G_EXTRACT_SUBVECTOR*//*Label 61*/ GIMT_Encode4(197607), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1271 /* 818 */ /*TargetOpcode::G_VECTOR_COMPRESS*//*Label 62*/ GIMT_Encode4(200544),
1272 /* 822 */ /*TargetOpcode::G_CTTZ*//*Label 63*/ GIMT_Encode4(202506),
1273 /* 826 */ /*TargetOpcode::G_CTTZ_ZERO_UNDEF*//*Label 64*/ GIMT_Encode4(202812),
1274 /* 830 */ /*TargetOpcode::G_CTLZ*//*Label 65*/ GIMT_Encode4(203199), GIMT_Encode4(0), GIMT_Encode4(0),
1275 /* 842 */ /*TargetOpcode::G_CTPOP*//*Label 66*/ GIMT_Encode4(204523),
1276 /* 846 */ /*TargetOpcode::G_BSWAP*//*Label 67*/ GIMT_Encode4(206785), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), 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 /* 902 */ /*TargetOpcode::G_FSQRT*//*Label 68*/ GIMT_Encode4(207285), GIMT_Encode4(0), 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 /* 942 */ /*TargetOpcode::G_STRICT_FADD*//*Label 69*/ GIMT_Encode4(209462),
1279 /* 946 */ /*TargetOpcode::G_STRICT_FSUB*//*Label 70*/ GIMT_Encode4(214400),
1280 /* 950 */ /*TargetOpcode::G_STRICT_FMUL*//*Label 71*/ GIMT_Encode4(218098),
1281 /* 954 */ /*TargetOpcode::G_STRICT_FDIV*//*Label 72*/ GIMT_Encode4(223036), GIMT_Encode4(0),
1282 /* 962 */ /*TargetOpcode::G_STRICT_FMA*//*Label 73*/ GIMT_Encode4(226734),
1283 /* 966 */ /*TargetOpcode::G_STRICT_FSQRT*//*Label 74*/ GIMT_Encode4(232730), 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 /* 1002 */ /*TargetOpcode::G_TRAP*//*Label 75*/ GIMT_Encode4(234907),
1285 /* 1006 */ /*TargetOpcode::G_DEBUGTRAP*//*Label 76*/ GIMT_Encode4(234920),
1286 /* 1010 */ /*TargetOpcode::G_UBSANTRAP*//*Label 77*/ GIMT_Encode4(234956), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), 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 /* 1214 */ /*X86::G_FILD*//*Label 78*/ GIMT_Encode4(234972),
1288 /* 1218 */ /*X86::G_FIST*//*Label 79*/ GIMT_Encode4(235431),
1289 /* 1222 */ /*X86::G_FLDCW16*//*Label 80*/ GIMT_Encode4(236295),
1290 /* 1226 */ /*X86::G_FNSTCW16*//*Label 81*/ GIMT_Encode4(236331),
1291 /* 1230 */ // Label 0: @1230
1292 /* 1230 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 99*/ GIMT_Encode4(6691),
1293 /* 1241 */ /*GILLT_s8*//*Label 83*/ GIMT_Encode4(1337),
1294 /* 1245 */ /*GILLT_s16*//*Label 84*/ GIMT_Encode4(1720),
1295 /* 1249 */ /*GILLT_s32*//*Label 85*/ GIMT_Encode4(2179),
1296 /* 1253 */ /*GILLT_s64*//*Label 86*/ GIMT_Encode4(2638), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1297 /* 1289 */ /*GILLT_v16s8*//*Label 87*/ GIMT_Encode4(3195),
1298 /* 1293 */ /*GILLT_v32s8*//*Label 88*/ GIMT_Encode4(3537),
1299 /* 1297 */ /*GILLT_v64s8*//*Label 89*/ GIMT_Encode4(3852),
1300 /* 1301 */ /*GILLT_v8s16*//*Label 90*/ GIMT_Encode4(4008),
1301 /* 1305 */ /*GILLT_v16s16*//*Label 91*/ GIMT_Encode4(4472),
1302 /* 1309 */ /*GILLT_v32s16*//*Label 92*/ GIMT_Encode4(4787),
1303 /* 1313 */ /*GILLT_v4s32*//*Label 93*/ GIMT_Encode4(4943),
1304 /* 1317 */ /*GILLT_v8s32*//*Label 94*/ GIMT_Encode4(5407),
1305 /* 1321 */ /*GILLT_v16s32*//*Label 95*/ GIMT_Encode4(5722),
1306 /* 1325 */ /*GILLT_v2s64*//*Label 96*/ GIMT_Encode4(5878),
1307 /* 1329 */ /*GILLT_v4s64*//*Label 97*/ GIMT_Encode4(6220),
1308 /* 1333 */ /*GILLT_v8s64*//*Label 98*/ GIMT_Encode4(6535),
1309 /* 1337 */ // Label 83: @1337
1310 /* 1337 */ GIM_Try, /*On fail goto*//*Label 100*/ GIMT_Encode4(1719),
1311 /* 1342 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
1312 /* 1345 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
1313 /* 1348 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1314 /* 1352 */ GIM_Try, /*On fail goto*//*Label 101*/ GIMT_Encode4(1413), // Rule ID 26112 //
1315 /* 1357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1316 /* 1360 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1317 /* 1364 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1318 /* 1368 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1319 /* 1371 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1320 /* 1375 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
1321 /* 1379 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1322 /* 1383 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1323 /* 1385 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1324 /* 1392 */ // (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 /* 1392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rm),
1326 /* 1395 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1327 /* 1397 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1328 /* 1399 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1329 /* 1403 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1330 /* 1406 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1331 /* 1411 */ GIR_RootConstrainSelectedInstOperands,
1332 /* 1412 */ // GIR_Coverage, 26112,
1333 /* 1412 */ GIR_EraseRootFromParent_Done,
1334 /* 1413 */ // Label 101: @1413
1335 /* 1413 */ GIM_Try, /*On fail goto*//*Label 102*/ GIMT_Encode4(1474), // Rule ID 22854 //
1336 /* 1418 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1337 /* 1421 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1338 /* 1425 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1339 /* 1429 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1340 /* 1433 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1341 /* 1436 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1342 /* 1440 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
1343 /* 1444 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1344 /* 1446 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1345 /* 1453 */ // (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 /* 1453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rm),
1347 /* 1456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1348 /* 1458 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1349 /* 1460 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1350 /* 1464 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1351 /* 1467 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1352 /* 1472 */ GIR_RootConstrainSelectedInstOperands,
1353 /* 1473 */ // GIR_Coverage, 22854,
1354 /* 1473 */ GIR_EraseRootFromParent_Done,
1355 /* 1474 */ // Label 102: @1474
1356 /* 1474 */ GIM_Try, /*On fail goto*//*Label 103*/ GIMT_Encode4(1502), // Rule ID 22920 //
1357 /* 1479 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1358 /* 1482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1359 /* 1486 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1360 /* 1490 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] }) => (INC8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1361 /* 1490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r),
1362 /* 1493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1363 /* 1495 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1364 /* 1497 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1365 /* 1500 */ GIR_RootConstrainSelectedInstOperands,
1366 /* 1501 */ // GIR_Coverage, 22920,
1367 /* 1501 */ GIR_EraseRootFromParent_Done,
1368 /* 1502 */ // Label 103: @1502
1369 /* 1502 */ GIM_Try, /*On fail goto*//*Label 104*/ GIMT_Encode4(1530), // Rule ID 22926 //
1370 /* 1507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1371 /* 1510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1372 /* 1514 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1373 /* 1518 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, -1:{ *:[i8] }) => (DEC8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1374 /* 1518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8r),
1375 /* 1521 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1376 /* 1523 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1377 /* 1525 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1378 /* 1528 */ GIR_RootConstrainSelectedInstOperands,
1379 /* 1529 */ // GIR_Coverage, 22926,
1380 /* 1529 */ GIR_EraseRootFromParent_Done,
1381 /* 1530 */ // Label 104: @1530
1382 /* 1530 */ GIM_Try, /*On fail goto*//*Label 105*/ GIMT_Encode4(1558), // Rule ID 23010 //
1383 /* 1535 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1384 /* 1538 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1385 /* 1542 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1386 /* 1546 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] }) => (INC8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1387 /* 1546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r_ND),
1388 /* 1549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1389 /* 1551 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1390 /* 1553 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1391 /* 1556 */ GIR_RootConstrainSelectedInstOperands,
1392 /* 1557 */ // GIR_Coverage, 23010,
1393 /* 1557 */ GIR_EraseRootFromParent_Done,
1394 /* 1558 */ // Label 105: @1558
1395 /* 1558 */ GIM_Try, /*On fail goto*//*Label 106*/ GIMT_Encode4(1586), // Rule ID 23016 //
1396 /* 1563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1397 /* 1566 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1398 /* 1570 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1399 /* 1574 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src, -1:{ *:[i8] }) => (DEC8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
1400 /* 1574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8r_ND),
1401 /* 1577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1402 /* 1579 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1403 /* 1581 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1404 /* 1584 */ GIR_RootConstrainSelectedInstOperands,
1405 /* 1585 */ // GIR_Coverage, 23016,
1406 /* 1585 */ GIR_EraseRootFromParent_Done,
1407 /* 1586 */ // Label 106: @1586
1408 /* 1586 */ GIM_Try, /*On fail goto*//*Label 107*/ GIMT_Encode4(1623), // Rule ID 22858 //
1409 /* 1591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1410 /* 1594 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1411 /* 1598 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1412 /* 1602 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1413 /* 1606 */ // MIs[1] Operand 1
1414 /* 1606 */ // No operand predicates
1415 /* 1606 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1416 /* 1608 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ADD8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
1417 /* 1608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri),
1418 /* 1611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1419 /* 1613 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1420 /* 1615 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1421 /* 1618 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1422 /* 1621 */ GIR_RootConstrainSelectedInstOperands,
1423 /* 1622 */ // GIR_Coverage, 22858,
1424 /* 1622 */ GIR_EraseRootFromParent_Done,
1425 /* 1623 */ // Label 107: @1623
1426 /* 1623 */ GIM_Try, /*On fail goto*//*Label 108*/ GIMT_Encode4(1660), // Rule ID 22948 //
1427 /* 1628 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1428 /* 1631 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1429 /* 1635 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1430 /* 1639 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1431 /* 1643 */ // MIs[1] Operand 1
1432 /* 1643 */ // No operand predicates
1433 /* 1643 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1434 /* 1645 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ADD8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
1435 /* 1645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri_ND),
1436 /* 1648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1437 /* 1650 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1438 /* 1652 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1439 /* 1655 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1440 /* 1658 */ GIR_RootConstrainSelectedInstOperands,
1441 /* 1659 */ // GIR_Coverage, 22948,
1442 /* 1659 */ GIR_EraseRootFromParent_Done,
1443 /* 1660 */ // Label 108: @1660
1444 /* 1660 */ GIM_Try, /*On fail goto*//*Label 109*/ GIMT_Encode4(1689), // Rule ID 22850 //
1445 /* 1665 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1446 /* 1668 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1447 /* 1672 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1448 /* 1676 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (ADD8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
1449 /* 1676 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD8rr),
1450 /* 1681 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1451 /* 1687 */ GIR_RootConstrainSelectedInstOperands,
1452 /* 1688 */ // GIR_Coverage, 22850,
1453 /* 1688 */ GIR_Done,
1454 /* 1689 */ // Label 109: @1689
1455 /* 1689 */ GIM_Try, /*On fail goto*//*Label 110*/ GIMT_Encode4(1718), // Rule ID 22940 //
1456 /* 1694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1457 /* 1697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1458 /* 1701 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
1459 /* 1705 */ // (add:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (ADD8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
1460 /* 1705 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD8rr_ND),
1461 /* 1710 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1462 /* 1716 */ GIR_RootConstrainSelectedInstOperands,
1463 /* 1717 */ // GIR_Coverage, 22940,
1464 /* 1717 */ GIR_Done,
1465 /* 1718 */ // Label 110: @1718
1466 /* 1718 */ GIM_Reject,
1467 /* 1719 */ // Label 100: @1719
1468 /* 1719 */ GIM_Reject,
1469 /* 1720 */ // Label 84: @1720
1470 /* 1720 */ GIM_Try, /*On fail goto*//*Label 111*/ GIMT_Encode4(2178),
1471 /* 1725 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
1472 /* 1728 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
1473 /* 1731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1474 /* 1735 */ GIM_Try, /*On fail goto*//*Label 112*/ GIMT_Encode4(1796), // Rule ID 26113 //
1475 /* 1740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1476 /* 1743 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1477 /* 1747 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1478 /* 1751 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1479 /* 1754 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1480 /* 1758 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1481 /* 1762 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1482 /* 1766 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1483 /* 1768 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1484 /* 1775 */ // (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 /* 1775 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rm),
1486 /* 1778 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1487 /* 1780 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1488 /* 1782 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1489 /* 1786 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1490 /* 1789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1491 /* 1794 */ GIR_RootConstrainSelectedInstOperands,
1492 /* 1795 */ // GIR_Coverage, 26113,
1493 /* 1795 */ GIR_EraseRootFromParent_Done,
1494 /* 1796 */ // Label 112: @1796
1495 /* 1796 */ GIM_Try, /*On fail goto*//*Label 113*/ GIMT_Encode4(1857), // Rule ID 22855 //
1496 /* 1801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1497 /* 1804 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1498 /* 1808 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1499 /* 1812 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1500 /* 1816 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1501 /* 1819 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1502 /* 1823 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
1503 /* 1827 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1504 /* 1829 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1505 /* 1836 */ // (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 /* 1836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rm),
1507 /* 1839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1508 /* 1841 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1509 /* 1843 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1510 /* 1847 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1511 /* 1850 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1512 /* 1855 */ GIR_RootConstrainSelectedInstOperands,
1513 /* 1856 */ // GIR_Coverage, 22855,
1514 /* 1856 */ GIR_EraseRootFromParent_Done,
1515 /* 1857 */ // Label 113: @1857
1516 /* 1857 */ GIM_Try, /*On fail goto*//*Label 114*/ GIMT_Encode4(1895), // Rule ID 22660 //
1517 /* 1862 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1518 /* 1865 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1519 /* 1869 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1520 /* 1880 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, 128:{ *:[i16] }) => (SUB16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -128:{ *:[i16] })
1521 /* 1880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri),
1522 /* 1883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1523 /* 1885 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1524 /* 1887 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1525 /* 1890 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1526 /* 1893 */ GIR_RootConstrainSelectedInstOperands,
1527 /* 1894 */ // GIR_Coverage, 22660,
1528 /* 1894 */ GIR_EraseRootFromParent_Done,
1529 /* 1895 */ // Label 114: @1895
1530 /* 1895 */ GIM_Try, /*On fail goto*//*Label 115*/ GIMT_Encode4(1933), // Rule ID 22666 //
1531 /* 1900 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1532 /* 1903 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1533 /* 1907 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1534 /* 1918 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, 128:{ *:[i16] }) => (SUB16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -128:{ *:[i16] })
1535 /* 1918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri_ND),
1536 /* 1921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1537 /* 1923 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1538 /* 1925 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1539 /* 1928 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1540 /* 1931 */ GIR_RootConstrainSelectedInstOperands,
1541 /* 1932 */ // GIR_Coverage, 22666,
1542 /* 1932 */ GIR_EraseRootFromParent_Done,
1543 /* 1933 */ // Label 115: @1933
1544 /* 1933 */ GIM_Try, /*On fail goto*//*Label 116*/ GIMT_Encode4(1961), // Rule ID 22922 //
1545 /* 1938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1546 /* 1941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1547 /* 1945 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1548 /* 1949 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] }) => (INC16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1549 /* 1949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r),
1550 /* 1952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1551 /* 1954 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1552 /* 1956 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1553 /* 1959 */ GIR_RootConstrainSelectedInstOperands,
1554 /* 1960 */ // GIR_Coverage, 22922,
1555 /* 1960 */ GIR_EraseRootFromParent_Done,
1556 /* 1961 */ // Label 116: @1961
1557 /* 1961 */ GIM_Try, /*On fail goto*//*Label 117*/ GIMT_Encode4(1989), // Rule ID 22927 //
1558 /* 1966 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1559 /* 1969 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1560 /* 1973 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1561 /* 1977 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, -1:{ *:[i16] }) => (DEC16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1562 /* 1977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16r),
1563 /* 1980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1564 /* 1982 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1565 /* 1984 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1566 /* 1987 */ GIR_RootConstrainSelectedInstOperands,
1567 /* 1988 */ // GIR_Coverage, 22927,
1568 /* 1988 */ GIR_EraseRootFromParent_Done,
1569 /* 1989 */ // Label 117: @1989
1570 /* 1989 */ GIM_Try, /*On fail goto*//*Label 118*/ GIMT_Encode4(2017), // Rule ID 23012 //
1571 /* 1994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1572 /* 1997 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1573 /* 2001 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1574 /* 2005 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] }) => (INC16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1575 /* 2005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r_ND),
1576 /* 2008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1577 /* 2010 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1578 /* 2012 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1579 /* 2015 */ GIR_RootConstrainSelectedInstOperands,
1580 /* 2016 */ // GIR_Coverage, 23012,
1581 /* 2016 */ GIR_EraseRootFromParent_Done,
1582 /* 2017 */ // Label 118: @2017
1583 /* 2017 */ GIM_Try, /*On fail goto*//*Label 119*/ GIMT_Encode4(2045), // Rule ID 23017 //
1584 /* 2022 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1585 /* 2025 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1586 /* 2029 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1587 /* 2033 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src, -1:{ *:[i16] }) => (DEC16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
1588 /* 2033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16r_ND),
1589 /* 2036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1590 /* 2038 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1591 /* 2040 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1592 /* 2043 */ GIR_RootConstrainSelectedInstOperands,
1593 /* 2044 */ // GIR_Coverage, 23017,
1594 /* 2044 */ GIR_EraseRootFromParent_Done,
1595 /* 2045 */ // Label 119: @2045
1596 /* 2045 */ GIM_Try, /*On fail goto*//*Label 120*/ GIMT_Encode4(2082), // Rule ID 22859 //
1597 /* 2050 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1598 /* 2053 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1599 /* 2057 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1600 /* 2061 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1601 /* 2065 */ // MIs[1] Operand 1
1602 /* 2065 */ // No operand predicates
1603 /* 2065 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1604 /* 2067 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (ADD16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
1605 /* 2067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri),
1606 /* 2070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1607 /* 2072 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1608 /* 2074 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1609 /* 2077 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1610 /* 2080 */ GIR_RootConstrainSelectedInstOperands,
1611 /* 2081 */ // GIR_Coverage, 22859,
1612 /* 2081 */ GIR_EraseRootFromParent_Done,
1613 /* 2082 */ // Label 120: @2082
1614 /* 2082 */ GIM_Try, /*On fail goto*//*Label 121*/ GIMT_Encode4(2119), // Rule ID 22949 //
1615 /* 2087 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1616 /* 2090 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1617 /* 2094 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1618 /* 2098 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1619 /* 2102 */ // MIs[1] Operand 1
1620 /* 2102 */ // No operand predicates
1621 /* 2102 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1622 /* 2104 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (ADD16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
1623 /* 2104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri_ND),
1624 /* 2107 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1625 /* 2109 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1626 /* 2111 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1627 /* 2114 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1628 /* 2117 */ GIR_RootConstrainSelectedInstOperands,
1629 /* 2118 */ // GIR_Coverage, 22949,
1630 /* 2118 */ GIR_EraseRootFromParent_Done,
1631 /* 2119 */ // Label 121: @2119
1632 /* 2119 */ GIM_Try, /*On fail goto*//*Label 122*/ GIMT_Encode4(2148), // Rule ID 22851 //
1633 /* 2124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1634 /* 2127 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1635 /* 2131 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1636 /* 2135 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (ADD16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
1637 /* 2135 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD16rr),
1638 /* 2140 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1639 /* 2146 */ GIR_RootConstrainSelectedInstOperands,
1640 /* 2147 */ // GIR_Coverage, 22851,
1641 /* 2147 */ GIR_Done,
1642 /* 2148 */ // Label 122: @2148
1643 /* 2148 */ GIM_Try, /*On fail goto*//*Label 123*/ GIMT_Encode4(2177), // Rule ID 22941 //
1644 /* 2153 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1645 /* 2156 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1646 /* 2160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
1647 /* 2164 */ // (add:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (ADD16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
1648 /* 2164 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD16rr_ND),
1649 /* 2169 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1650 /* 2175 */ GIR_RootConstrainSelectedInstOperands,
1651 /* 2176 */ // GIR_Coverage, 22941,
1652 /* 2176 */ GIR_Done,
1653 /* 2177 */ // Label 123: @2177
1654 /* 2177 */ GIM_Reject,
1655 /* 2178 */ // Label 111: @2178
1656 /* 2178 */ GIM_Reject,
1657 /* 2179 */ // Label 85: @2179
1658 /* 2179 */ GIM_Try, /*On fail goto*//*Label 124*/ GIMT_Encode4(2637),
1659 /* 2184 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
1660 /* 2187 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
1661 /* 2190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1662 /* 2194 */ GIM_Try, /*On fail goto*//*Label 125*/ GIMT_Encode4(2255), // Rule ID 26114 //
1663 /* 2199 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1664 /* 2202 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1665 /* 2206 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1666 /* 2210 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1667 /* 2213 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1668 /* 2217 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1669 /* 2221 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1670 /* 2225 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1671 /* 2227 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1672 /* 2234 */ // (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 /* 2234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rm),
1674 /* 2237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1675 /* 2239 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1676 /* 2241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1677 /* 2245 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1678 /* 2248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1679 /* 2253 */ GIR_RootConstrainSelectedInstOperands,
1680 /* 2254 */ // GIR_Coverage, 26114,
1681 /* 2254 */ GIR_EraseRootFromParent_Done,
1682 /* 2255 */ // Label 125: @2255
1683 /* 2255 */ GIM_Try, /*On fail goto*//*Label 126*/ GIMT_Encode4(2316), // Rule ID 22856 //
1684 /* 2260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1685 /* 2263 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1686 /* 2267 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1687 /* 2271 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1688 /* 2275 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1689 /* 2278 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1690 /* 2282 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
1691 /* 2286 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1692 /* 2288 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1693 /* 2295 */ // (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 /* 2295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rm),
1695 /* 2298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1696 /* 2300 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1697 /* 2302 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1698 /* 2306 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1699 /* 2309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1700 /* 2314 */ GIR_RootConstrainSelectedInstOperands,
1701 /* 2315 */ // GIR_Coverage, 22856,
1702 /* 2315 */ GIR_EraseRootFromParent_Done,
1703 /* 2316 */ // Label 126: @2316
1704 /* 2316 */ GIM_Try, /*On fail goto*//*Label 127*/ GIMT_Encode4(2354), // Rule ID 22661 //
1705 /* 2321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1706 /* 2324 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1707 /* 2328 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1708 /* 2339 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, 128:{ *:[i32] }) => (SUB32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -128:{ *:[i32] })
1709 /* 2339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri),
1710 /* 2342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1711 /* 2344 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1712 /* 2346 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1713 /* 2349 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1714 /* 2352 */ GIR_RootConstrainSelectedInstOperands,
1715 /* 2353 */ // GIR_Coverage, 22661,
1716 /* 2353 */ GIR_EraseRootFromParent_Done,
1717 /* 2354 */ // Label 127: @2354
1718 /* 2354 */ GIM_Try, /*On fail goto*//*Label 128*/ GIMT_Encode4(2392), // Rule ID 22667 //
1719 /* 2359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1720 /* 2362 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1721 /* 2366 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1722 /* 2377 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, 128:{ *:[i32] }) => (SUB32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -128:{ *:[i32] })
1723 /* 2377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri_ND),
1724 /* 2380 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1725 /* 2382 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1726 /* 2384 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1727 /* 2387 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1728 /* 2390 */ GIR_RootConstrainSelectedInstOperands,
1729 /* 2391 */ // GIR_Coverage, 22667,
1730 /* 2391 */ GIR_EraseRootFromParent_Done,
1731 /* 2392 */ // Label 128: @2392
1732 /* 2392 */ GIM_Try, /*On fail goto*//*Label 129*/ GIMT_Encode4(2420), // Rule ID 22924 //
1733 /* 2397 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1734 /* 2400 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1735 /* 2404 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1736 /* 2408 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }) => (INC32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1737 /* 2408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r),
1738 /* 2411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1739 /* 2413 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1740 /* 2415 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1741 /* 2418 */ GIR_RootConstrainSelectedInstOperands,
1742 /* 2419 */ // GIR_Coverage, 22924,
1743 /* 2419 */ GIR_EraseRootFromParent_Done,
1744 /* 2420 */ // Label 129: @2420
1745 /* 2420 */ GIM_Try, /*On fail goto*//*Label 130*/ GIMT_Encode4(2448), // Rule ID 22928 //
1746 /* 2425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
1747 /* 2428 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1748 /* 2432 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1749 /* 2436 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }) => (DEC32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1750 /* 2436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32r),
1751 /* 2439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1752 /* 2441 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1753 /* 2443 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1754 /* 2446 */ GIR_RootConstrainSelectedInstOperands,
1755 /* 2447 */ // GIR_Coverage, 22928,
1756 /* 2447 */ GIR_EraseRootFromParent_Done,
1757 /* 2448 */ // Label 130: @2448
1758 /* 2448 */ GIM_Try, /*On fail goto*//*Label 131*/ GIMT_Encode4(2476), // Rule ID 23014 //
1759 /* 2453 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1760 /* 2456 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1761 /* 2460 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1762 /* 2464 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }) => (INC32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1763 /* 2464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r_ND),
1764 /* 2467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1765 /* 2469 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1766 /* 2471 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1767 /* 2474 */ GIR_RootConstrainSelectedInstOperands,
1768 /* 2475 */ // GIR_Coverage, 23014,
1769 /* 2475 */ GIR_EraseRootFromParent_Done,
1770 /* 2476 */ // Label 131: @2476
1771 /* 2476 */ GIM_Try, /*On fail goto*//*Label 132*/ GIMT_Encode4(2504), // Rule ID 23018 //
1772 /* 2481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
1773 /* 2484 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1774 /* 2488 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1775 /* 2492 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }) => (DEC32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
1776 /* 2492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32r_ND),
1777 /* 2495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1778 /* 2497 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1779 /* 2499 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1780 /* 2502 */ GIR_RootConstrainSelectedInstOperands,
1781 /* 2503 */ // GIR_Coverage, 23018,
1782 /* 2503 */ GIR_EraseRootFromParent_Done,
1783 /* 2504 */ // Label 132: @2504
1784 /* 2504 */ GIM_Try, /*On fail goto*//*Label 133*/ GIMT_Encode4(2541), // Rule ID 22860 //
1785 /* 2509 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1786 /* 2512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1787 /* 2516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1788 /* 2520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1789 /* 2524 */ // MIs[1] Operand 1
1790 /* 2524 */ // No operand predicates
1791 /* 2524 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1792 /* 2526 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (ADD32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
1793 /* 2526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri),
1794 /* 2529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1795 /* 2531 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1796 /* 2533 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1797 /* 2536 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1798 /* 2539 */ GIR_RootConstrainSelectedInstOperands,
1799 /* 2540 */ // GIR_Coverage, 22860,
1800 /* 2540 */ GIR_EraseRootFromParent_Done,
1801 /* 2541 */ // Label 133: @2541
1802 /* 2541 */ GIM_Try, /*On fail goto*//*Label 134*/ GIMT_Encode4(2578), // Rule ID 22950 //
1803 /* 2546 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1804 /* 2549 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1805 /* 2553 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1806 /* 2557 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1807 /* 2561 */ // MIs[1] Operand 1
1808 /* 2561 */ // No operand predicates
1809 /* 2561 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1810 /* 2563 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (ADD32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
1811 /* 2563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri_ND),
1812 /* 2566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1813 /* 2568 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1814 /* 2570 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
1815 /* 2573 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1816 /* 2576 */ GIR_RootConstrainSelectedInstOperands,
1817 /* 2577 */ // GIR_Coverage, 22950,
1818 /* 2577 */ GIR_EraseRootFromParent_Done,
1819 /* 2578 */ // Label 134: @2578
1820 /* 2578 */ GIM_Try, /*On fail goto*//*Label 135*/ GIMT_Encode4(2607), // Rule ID 22852 //
1821 /* 2583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1822 /* 2586 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1823 /* 2590 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1824 /* 2594 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (ADD32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
1825 /* 2594 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD32rr),
1826 /* 2599 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1827 /* 2605 */ GIR_RootConstrainSelectedInstOperands,
1828 /* 2606 */ // GIR_Coverage, 22852,
1829 /* 2606 */ GIR_Done,
1830 /* 2607 */ // Label 135: @2607
1831 /* 2607 */ GIM_Try, /*On fail goto*//*Label 136*/ GIMT_Encode4(2636), // Rule ID 22942 //
1832 /* 2612 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
1833 /* 2615 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1834 /* 2619 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
1835 /* 2623 */ // (add:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (ADD32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
1836 /* 2623 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD32rr_ND),
1837 /* 2628 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
1838 /* 2634 */ GIR_RootConstrainSelectedInstOperands,
1839 /* 2635 */ // GIR_Coverage, 22942,
1840 /* 2635 */ GIR_Done,
1841 /* 2636 */ // Label 136: @2636
1842 /* 2636 */ GIM_Reject,
1843 /* 2637 */ // Label 124: @2637
1844 /* 2637 */ GIM_Reject,
1845 /* 2638 */ // Label 86: @2638
1846 /* 2638 */ GIM_Try, /*On fail goto*//*Label 137*/ GIMT_Encode4(3194),
1847 /* 2643 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
1848 /* 2646 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
1849 /* 2649 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1850 /* 2653 */ GIM_Try, /*On fail goto*//*Label 138*/ GIMT_Encode4(2714), // Rule ID 26115 //
1851 /* 2658 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1852 /* 2661 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1853 /* 2665 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1854 /* 2669 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1855 /* 2672 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
1856 /* 2676 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1857 /* 2680 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1858 /* 2684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1859 /* 2686 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1860 /* 2693 */ // (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 /* 2693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rm),
1862 /* 2696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1863 /* 2698 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
1864 /* 2700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1865 /* 2704 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1866 /* 2707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1867 /* 2712 */ GIR_RootConstrainSelectedInstOperands,
1868 /* 2713 */ // GIR_Coverage, 26115,
1869 /* 2713 */ GIR_EraseRootFromParent_Done,
1870 /* 2714 */ // Label 138: @2714
1871 /* 2714 */ GIM_Try, /*On fail goto*//*Label 139*/ GIMT_Encode4(2775), // Rule ID 22857 //
1872 /* 2719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1873 /* 2722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1874 /* 2726 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1875 /* 2730 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
1876 /* 2734 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
1877 /* 2737 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
1878 /* 2741 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
1879 /* 2745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1880 /* 2747 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
1881 /* 2754 */ // (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 /* 2754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rm),
1883 /* 2757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1884 /* 2759 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1885 /* 2761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
1886 /* 2765 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1887 /* 2768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
1888 /* 2773 */ GIR_RootConstrainSelectedInstOperands,
1889 /* 2774 */ // GIR_Coverage, 22857,
1890 /* 2774 */ GIR_EraseRootFromParent_Done,
1891 /* 2775 */ // Label 139: @2775
1892 /* 2775 */ GIM_Try, /*On fail goto*//*Label 140*/ GIMT_Encode4(2813), // Rule ID 22664 //
1893 /* 2780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDDI),
1894 /* 2783 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1895 /* 2787 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1896 /* 2798 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 128:{ *:[i64] }) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -128:{ *:[i64] })
1897 /* 2798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
1898 /* 2801 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1899 /* 2803 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1900 /* 2805 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1901 /* 2808 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1902 /* 2811 */ GIR_RootConstrainSelectedInstOperands,
1903 /* 2812 */ // GIR_Coverage, 22664,
1904 /* 2812 */ GIR_EraseRootFromParent_Done,
1905 /* 2813 */ // Label 140: @2813
1906 /* 2813 */ GIM_Try, /*On fail goto*//*Label 141*/ GIMT_Encode4(2851), // Rule ID 22670 //
1907 /* 2818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDDI),
1908 /* 2821 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1909 /* 2825 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(128),
1910 /* 2836 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 128:{ *:[i64] }) => (SUB64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -128:{ *:[i64] })
1911 /* 2836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
1912 /* 2839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1913 /* 2841 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1914 /* 2843 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
1915 /* 2846 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1916 /* 2849 */ GIR_RootConstrainSelectedInstOperands,
1917 /* 2850 */ // GIR_Coverage, 22670,
1918 /* 2850 */ GIR_EraseRootFromParent_Done,
1919 /* 2851 */ // Label 141: @2851
1920 /* 2851 */ GIM_Try, /*On fail goto*//*Label 142*/ GIMT_Encode4(2896), // Rule ID 22678 //
1921 /* 2856 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
1922 /* 2859 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1923 /* 2863 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2147483648),
1924 /* 2874 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 2147483648:{ *:[i64] }) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -2147483648:{ *:[i64] })
1925 /* 2874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
1926 /* 2877 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1927 /* 2879 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1928 /* 2881 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
1929 /* 2891 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1930 /* 2894 */ GIR_RootConstrainSelectedInstOperands,
1931 /* 2895 */ // GIR_Coverage, 22678,
1932 /* 2895 */ GIR_EraseRootFromParent_Done,
1933 /* 2896 */ // Label 142: @2896
1934 /* 2896 */ GIM_Try, /*On fail goto*//*Label 143*/ GIMT_Encode4(2941), // Rule ID 22680 //
1935 /* 2901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDDI),
1936 /* 2904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1937 /* 2908 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2147483648),
1938 /* 2919 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, 2147483648:{ *:[i64] }) => (SUB64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, -2147483648:{ *:[i64] })
1939 /* 2919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
1940 /* 2922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1941 /* 2924 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
1942 /* 2926 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
1943 /* 2936 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1944 /* 2939 */ GIR_RootConstrainSelectedInstOperands,
1945 /* 2940 */ // GIR_Coverage, 22680,
1946 /* 2940 */ GIR_EraseRootFromParent_Done,
1947 /* 2941 */ // Label 143: @2941
1948 /* 2941 */ GIM_Try, /*On fail goto*//*Label 144*/ GIMT_Encode4(2969), // Rule ID 22935 //
1949 /* 2946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDDI_UseIncDec),
1950 /* 2949 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1951 /* 2953 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1952 /* 2957 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }) => (INC64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
1953 /* 2957 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r),
1954 /* 2960 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1955 /* 2962 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1956 /* 2964 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1957 /* 2967 */ GIR_RootConstrainSelectedInstOperands,
1958 /* 2968 */ // GIR_Coverage, 22935,
1959 /* 2968 */ GIR_EraseRootFromParent_Done,
1960 /* 2969 */ // Label 144: @2969
1961 /* 2969 */ GIM_Try, /*On fail goto*//*Label 145*/ GIMT_Encode4(2997), // Rule ID 22937 //
1962 /* 2974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDDI_UseIncDec),
1963 /* 2977 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1964 /* 2981 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1965 /* 2985 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }) => (DEC64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
1966 /* 2985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64r),
1967 /* 2988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1968 /* 2990 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1969 /* 2992 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1970 /* 2995 */ GIR_RootConstrainSelectedInstOperands,
1971 /* 2996 */ // GIR_Coverage, 22937,
1972 /* 2996 */ GIR_EraseRootFromParent_Done,
1973 /* 2997 */ // Label 145: @2997
1974 /* 2997 */ GIM_Try, /*On fail goto*//*Label 146*/ GIMT_Encode4(3025), // Rule ID 23025 //
1975 /* 3002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDDI_UseIncDec),
1976 /* 3005 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1977 /* 3009 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1978 /* 3013 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }) => (INC64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
1979 /* 3013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r_ND),
1980 /* 3016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1981 /* 3018 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1982 /* 3020 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1983 /* 3023 */ GIR_RootConstrainSelectedInstOperands,
1984 /* 3024 */ // GIR_Coverage, 23025,
1985 /* 3024 */ GIR_EraseRootFromParent_Done,
1986 /* 3025 */ // Label 146: @3025
1987 /* 3025 */ GIM_Try, /*On fail goto*//*Label 147*/ GIMT_Encode4(3053), // Rule ID 23027 //
1988 /* 3030 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDDI_UseIncDec),
1989 /* 3033 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
1990 /* 3037 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
1991 /* 3041 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }) => (DEC64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
1992 /* 3041 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64r_ND),
1993 /* 3044 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
1994 /* 3046 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
1995 /* 3048 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
1996 /* 3051 */ GIR_RootConstrainSelectedInstOperands,
1997 /* 3052 */ // GIR_Coverage, 23027,
1998 /* 3052 */ GIR_EraseRootFromParent_Done,
1999 /* 3053 */ // Label 147: @3053
2000 /* 3053 */ GIM_Try, /*On fail goto*//*Label 148*/ GIMT_Encode4(3094), // Rule ID 22918 //
2001 /* 3058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDDI),
2002 /* 3061 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2003 /* 3065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2004 /* 3069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2005 /* 3073 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
2006 /* 3077 */ // MIs[1] Operand 1
2007 /* 3077 */ // No operand predicates
2008 /* 3077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2009 /* 3079 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (ADD64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
2010 /* 3079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64ri32),
2011 /* 3082 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2012 /* 3084 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2013 /* 3086 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
2014 /* 3089 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2015 /* 3092 */ GIR_RootConstrainSelectedInstOperands,
2016 /* 3093 */ // GIR_Coverage, 22918,
2017 /* 3093 */ GIR_EraseRootFromParent_Done,
2018 /* 3094 */ // Label 148: @3094
2019 /* 3094 */ GIM_Try, /*On fail goto*//*Label 149*/ GIMT_Encode4(3135), // Rule ID 23008 //
2020 /* 3099 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDDI),
2021 /* 3102 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2022 /* 3106 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2023 /* 3110 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
2024 /* 3114 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
2025 /* 3118 */ // MIs[1] Operand 1
2026 /* 3118 */ // No operand predicates
2027 /* 3118 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2028 /* 3120 */ // (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 /* 3120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64ri32_ND),
2030 /* 3123 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2031 /* 3125 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2032 /* 3127 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
2033 /* 3130 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
2034 /* 3133 */ GIR_RootConstrainSelectedInstOperands,
2035 /* 3134 */ // GIR_Coverage, 23008,
2036 /* 3134 */ GIR_EraseRootFromParent_Done,
2037 /* 3135 */ // Label 149: @3135
2038 /* 3135 */ GIM_Try, /*On fail goto*//*Label 150*/ GIMT_Encode4(3164), // Rule ID 22853 //
2039 /* 3140 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
2040 /* 3143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2041 /* 3147 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2042 /* 3151 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (ADD64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
2043 /* 3151 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD64rr),
2044 /* 3156 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
2045 /* 3162 */ GIR_RootConstrainSelectedInstOperands,
2046 /* 3163 */ // GIR_Coverage, 22853,
2047 /* 3163 */ GIR_Done,
2048 /* 3164 */ // Label 150: @3164
2049 /* 3164 */ GIM_Try, /*On fail goto*//*Label 151*/ GIMT_Encode4(3193), // Rule ID 22943 //
2050 /* 3169 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
2051 /* 3172 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2052 /* 3176 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
2053 /* 3180 */ // (add:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (ADD64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
2054 /* 3180 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD64rr_ND),
2055 /* 3185 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
2056 /* 3191 */ GIR_RootConstrainSelectedInstOperands,
2057 /* 3192 */ // GIR_Coverage, 22943,
2058 /* 3192 */ GIR_Done,
2059 /* 3193 */ // Label 151: @3193
2060 /* 3193 */ GIM_Reject,
2061 /* 3194 */ // Label 137: @3194
2062 /* 3194 */ GIM_Reject,
2063 /* 3195 */ // Label 87: @3195
2064 /* 3195 */ GIM_Try, /*On fail goto*//*Label 152*/ GIMT_Encode4(3536),
2065 /* 3200 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
2066 /* 3203 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
2067 /* 3206 */ GIM_Try, /*On fail goto*//*Label 153*/ GIMT_Encode4(3268), // Rule ID 23487 //
2068 /* 3211 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2069 /* 3214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2070 /* 3218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2071 /* 3222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2072 /* 3226 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2073 /* 3229 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2074 /* 3233 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2075 /* 3237 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2076 /* 3241 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2077 /* 3243 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2078 /* 3250 */ // (add:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2079 /* 3250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBrm),
2080 /* 3253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2081 /* 3255 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2082 /* 3257 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2083 /* 3261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2084 /* 3266 */ GIR_RootConstrainSelectedInstOperands,
2085 /* 3267 */ // GIR_Coverage, 23487,
2086 /* 3267 */ GIR_EraseRootFromParent_Done,
2087 /* 3268 */ // Label 153: @3268
2088 /* 3268 */ GIM_Try, /*On fail goto*//*Label 154*/ GIMT_Encode4(3330), // Rule ID 23805 //
2089 /* 3273 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2090 /* 3276 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2091 /* 3280 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2092 /* 3284 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2093 /* 3288 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2094 /* 3291 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2095 /* 3295 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2096 /* 3299 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2097 /* 3303 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2098 /* 3305 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2099 /* 3312 */ // (add:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2100 /* 3312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rm),
2101 /* 3315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2102 /* 3317 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2103 /* 3319 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2104 /* 3323 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2105 /* 3328 */ GIR_RootConstrainSelectedInstOperands,
2106 /* 3329 */ // GIR_Coverage, 23805,
2107 /* 3329 */ GIR_EraseRootFromParent_Done,
2108 /* 3330 */ // Label 154: @3330
2109 /* 3330 */ GIM_Try, /*On fail goto*//*Label 155*/ GIMT_Encode4(3392), // Rule ID 2499 //
2110 /* 3335 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2111 /* 3338 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2112 /* 3342 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2113 /* 3346 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2114 /* 3350 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2115 /* 3354 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2116 /* 3357 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2117 /* 3361 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2118 /* 3365 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2119 /* 3367 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2120 /* 3374 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2121 /* 3374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBrm),
2122 /* 3377 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2123 /* 3379 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2124 /* 3381 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2125 /* 3385 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2126 /* 3390 */ GIR_RootConstrainSelectedInstOperands,
2127 /* 3391 */ // GIR_Coverage, 2499,
2128 /* 3391 */ GIR_EraseRootFromParent_Done,
2129 /* 3392 */ // Label 155: @3392
2130 /* 3392 */ GIM_Try, /*On fail goto*//*Label 156*/ GIMT_Encode4(3454), // Rule ID 4700 //
2131 /* 3397 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2132 /* 3400 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2133 /* 3404 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2134 /* 3408 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2135 /* 3412 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2136 /* 3416 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2137 /* 3419 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2138 /* 3423 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2139 /* 3427 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2140 /* 3429 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2141 /* 3436 */ // (add:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2142 /* 3436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rm),
2143 /* 3439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2144 /* 3441 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2145 /* 3443 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2146 /* 3447 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2147 /* 3452 */ GIR_RootConstrainSelectedInstOperands,
2148 /* 3453 */ // GIR_Coverage, 4700,
2149 /* 3453 */ GIR_EraseRootFromParent_Done,
2150 /* 3454 */ // Label 156: @3454
2151 /* 3454 */ GIM_Try, /*On fail goto*//*Label 157*/ GIMT_Encode4(3481), // Rule ID 2498 //
2152 /* 3459 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2153 /* 3462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2154 /* 3466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2155 /* 3470 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2156 /* 3474 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
2157 /* 3474 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBrr),
2158 /* 3479 */ GIR_RootConstrainSelectedInstOperands,
2159 /* 3480 */ // GIR_Coverage, 2498,
2160 /* 3480 */ GIR_Done,
2161 /* 3481 */ // Label 157: @3481
2162 /* 3481 */ GIM_Try, /*On fail goto*//*Label 158*/ GIMT_Encode4(3508), // Rule ID 2500 //
2163 /* 3486 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
2164 /* 3489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2165 /* 3493 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2166 /* 3497 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2167 /* 3501 */ // (add:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
2168 /* 3501 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDBrr),
2169 /* 3506 */ GIR_RootConstrainSelectedInstOperands,
2170 /* 3507 */ // GIR_Coverage, 2500,
2171 /* 3507 */ GIR_Done,
2172 /* 3508 */ // Label 158: @3508
2173 /* 3508 */ GIM_Try, /*On fail goto*//*Label 159*/ GIMT_Encode4(3535), // Rule ID 4697 //
2174 /* 3513 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2175 /* 3516 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2176 /* 3520 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2177 /* 3524 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2178 /* 3528 */ // (add:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
2179 /* 3528 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZ128rr),
2180 /* 3533 */ GIR_RootConstrainSelectedInstOperands,
2181 /* 3534 */ // GIR_Coverage, 4697,
2182 /* 3534 */ GIR_Done,
2183 /* 3535 */ // Label 159: @3535
2184 /* 3535 */ GIM_Reject,
2185 /* 3536 */ // Label 152: @3536
2186 /* 3536 */ GIM_Reject,
2187 /* 3537 */ // Label 88: @3537
2188 /* 3537 */ GIM_Try, /*On fail goto*//*Label 160*/ GIMT_Encode4(3851),
2189 /* 3542 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
2190 /* 3545 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
2191 /* 3548 */ GIM_Try, /*On fail goto*//*Label 161*/ GIMT_Encode4(3610), // Rule ID 23489 //
2192 /* 3553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
2193 /* 3556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2194 /* 3560 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2195 /* 3564 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2196 /* 3568 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2197 /* 3571 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2198 /* 3575 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2199 /* 3579 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2200 /* 3583 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2201 /* 3585 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2202 /* 3592 */ // (add:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2203 /* 3592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBYrm),
2204 /* 3595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2205 /* 3597 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2206 /* 3599 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2207 /* 3603 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2208 /* 3608 */ GIR_RootConstrainSelectedInstOperands,
2209 /* 3609 */ // GIR_Coverage, 23489,
2210 /* 3609 */ GIR_EraseRootFromParent_Done,
2211 /* 3610 */ // Label 161: @3610
2212 /* 3610 */ GIM_Try, /*On fail goto*//*Label 162*/ GIMT_Encode4(3672), // Rule ID 23802 //
2213 /* 3615 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2214 /* 3618 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2215 /* 3622 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2216 /* 3626 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2217 /* 3630 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2218 /* 3633 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2219 /* 3637 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2220 /* 3641 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2221 /* 3645 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2222 /* 3647 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2223 /* 3654 */ // (add:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2224 /* 3654 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rm),
2225 /* 3657 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2226 /* 3659 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2227 /* 3661 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2228 /* 3665 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2229 /* 3670 */ GIR_RootConstrainSelectedInstOperands,
2230 /* 3671 */ // GIR_Coverage, 23802,
2231 /* 3671 */ GIR_EraseRootFromParent_Done,
2232 /* 3672 */ // Label 162: @3672
2233 /* 3672 */ GIM_Try, /*On fail goto*//*Label 163*/ GIMT_Encode4(3734), // Rule ID 2503 //
2234 /* 3677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
2235 /* 3680 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2236 /* 3684 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2237 /* 3688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2238 /* 3692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2239 /* 3696 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2240 /* 3699 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2241 /* 3703 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2242 /* 3707 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2243 /* 3709 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2244 /* 3716 */ // (add:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2245 /* 3716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBYrm),
2246 /* 3719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2247 /* 3721 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2248 /* 3723 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2249 /* 3727 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2250 /* 3732 */ GIR_RootConstrainSelectedInstOperands,
2251 /* 3733 */ // GIR_Coverage, 2503,
2252 /* 3733 */ GIR_EraseRootFromParent_Done,
2253 /* 3734 */ // Label 163: @3734
2254 /* 3734 */ GIM_Try, /*On fail goto*//*Label 164*/ GIMT_Encode4(3796), // Rule ID 4694 //
2255 /* 3739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2256 /* 3742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2257 /* 3746 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2258 /* 3750 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2259 /* 3754 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2260 /* 3758 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2261 /* 3761 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2262 /* 3765 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2263 /* 3769 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2264 /* 3771 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2265 /* 3778 */ // (add:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2266 /* 3778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rm),
2267 /* 3781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2268 /* 3783 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2269 /* 3785 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2270 /* 3789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2271 /* 3794 */ GIR_RootConstrainSelectedInstOperands,
2272 /* 3795 */ // GIR_Coverage, 4694,
2273 /* 3795 */ GIR_EraseRootFromParent_Done,
2274 /* 3796 */ // Label 164: @3796
2275 /* 3796 */ GIM_Try, /*On fail goto*//*Label 165*/ GIMT_Encode4(3823), // Rule ID 2502 //
2276 /* 3801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
2277 /* 3804 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2278 /* 3808 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2279 /* 3812 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2280 /* 3816 */ // (add:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
2281 /* 3816 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBYrr),
2282 /* 3821 */ GIR_RootConstrainSelectedInstOperands,
2283 /* 3822 */ // GIR_Coverage, 2502,
2284 /* 3822 */ GIR_Done,
2285 /* 3823 */ // Label 165: @3823
2286 /* 3823 */ GIM_Try, /*On fail goto*//*Label 166*/ GIMT_Encode4(3850), // Rule ID 4691 //
2287 /* 3828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2288 /* 3831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2289 /* 3835 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2290 /* 3839 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2291 /* 3843 */ // (add:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
2292 /* 3843 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZ256rr),
2293 /* 3848 */ GIR_RootConstrainSelectedInstOperands,
2294 /* 3849 */ // GIR_Coverage, 4691,
2295 /* 3849 */ GIR_Done,
2296 /* 3850 */ // Label 166: @3850
2297 /* 3850 */ GIM_Reject,
2298 /* 3851 */ // Label 160: @3851
2299 /* 3851 */ GIM_Reject,
2300 /* 3852 */ // Label 89: @3852
2301 /* 3852 */ GIM_Try, /*On fail goto*//*Label 167*/ GIMT_Encode4(4007),
2302 /* 3857 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
2303 /* 3860 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
2304 /* 3863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2305 /* 3867 */ GIM_Try, /*On fail goto*//*Label 168*/ GIMT_Encode4(3925), // Rule ID 23799 //
2306 /* 3872 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
2307 /* 3875 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2308 /* 3879 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2309 /* 3883 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2310 /* 3886 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2311 /* 3890 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2312 /* 3894 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2313 /* 3898 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2314 /* 3900 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2315 /* 3907 */ // (add:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2316 /* 3907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZrm),
2317 /* 3910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2318 /* 3912 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2319 /* 3914 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2320 /* 3918 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2321 /* 3923 */ GIR_RootConstrainSelectedInstOperands,
2322 /* 3924 */ // GIR_Coverage, 23799,
2323 /* 3924 */ GIR_EraseRootFromParent_Done,
2324 /* 3925 */ // Label 168: @3925
2325 /* 3925 */ GIM_Try, /*On fail goto*//*Label 169*/ GIMT_Encode4(3983), // Rule ID 4688 //
2326 /* 3930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
2327 /* 3933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2328 /* 3937 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2329 /* 3941 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2330 /* 3945 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2331 /* 3948 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2332 /* 3952 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2333 /* 3956 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2334 /* 3958 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2335 /* 3965 */ // (add:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
2336 /* 3965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDBZrm),
2337 /* 3968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2338 /* 3970 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2339 /* 3972 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2340 /* 3976 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2341 /* 3981 */ GIR_RootConstrainSelectedInstOperands,
2342 /* 3982 */ // GIR_Coverage, 4688,
2343 /* 3982 */ GIR_EraseRootFromParent_Done,
2344 /* 3983 */ // Label 169: @3983
2345 /* 3983 */ GIM_Try, /*On fail goto*//*Label 170*/ GIMT_Encode4(4006), // Rule ID 4685 //
2346 /* 3988 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
2347 /* 3991 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2348 /* 3995 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2349 /* 3999 */ // (add:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
2350 /* 3999 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDBZrr),
2351 /* 4004 */ GIR_RootConstrainSelectedInstOperands,
2352 /* 4005 */ // GIR_Coverage, 4685,
2353 /* 4005 */ GIR_Done,
2354 /* 4006 */ // Label 170: @4006
2355 /* 4006 */ GIM_Reject,
2356 /* 4007 */ // Label 167: @4007
2357 /* 4007 */ GIM_Reject,
2358 /* 4008 */ // Label 90: @4008
2359 /* 4008 */ GIM_Try, /*On fail goto*//*Label 171*/ GIMT_Encode4(4471),
2360 /* 4013 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
2361 /* 4016 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
2362 /* 4019 */ GIM_Try, /*On fail goto*//*Label 172*/ GIMT_Encode4(4081), // Rule ID 23490 //
2363 /* 4024 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2364 /* 4027 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2365 /* 4031 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2366 /* 4035 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2367 /* 4039 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2368 /* 4042 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2369 /* 4046 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2370 /* 4050 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2371 /* 4054 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2372 /* 4056 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2373 /* 4063 */ // (add:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2374 /* 4063 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWrm),
2375 /* 4066 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2376 /* 4068 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2377 /* 4070 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2378 /* 4074 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2379 /* 4079 */ GIR_RootConstrainSelectedInstOperands,
2380 /* 4080 */ // GIR_Coverage, 23490,
2381 /* 4080 */ GIR_EraseRootFromParent_Done,
2382 /* 4081 */ // Label 172: @4081
2383 /* 4081 */ GIM_Try, /*On fail goto*//*Label 173*/ GIMT_Encode4(4143), // Rule ID 23796 //
2384 /* 4086 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2385 /* 4089 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2386 /* 4093 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2387 /* 4097 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2388 /* 4101 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2389 /* 4104 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2390 /* 4108 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2391 /* 4112 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2392 /* 4116 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2393 /* 4118 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2394 /* 4125 */ // (add:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2395 /* 4125 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rm),
2396 /* 4128 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2397 /* 4130 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2398 /* 4132 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2399 /* 4136 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2400 /* 4141 */ GIR_RootConstrainSelectedInstOperands,
2401 /* 4142 */ // GIR_Coverage, 23796,
2402 /* 4142 */ GIR_EraseRootFromParent_Done,
2403 /* 4143 */ // Label 173: @4143
2404 /* 4143 */ GIM_Try, /*On fail goto*//*Label 174*/ GIMT_Encode4(4205), // Rule ID 2505 //
2405 /* 4148 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2406 /* 4151 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2407 /* 4155 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2408 /* 4159 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2409 /* 4163 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2410 /* 4167 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2411 /* 4170 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2412 /* 4174 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2413 /* 4178 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2414 /* 4180 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2415 /* 4187 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2416 /* 4187 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWrm),
2417 /* 4190 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2418 /* 4192 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2419 /* 4194 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2420 /* 4198 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2421 /* 4203 */ GIR_RootConstrainSelectedInstOperands,
2422 /* 4204 */ // GIR_Coverage, 2505,
2423 /* 4204 */ GIR_EraseRootFromParent_Done,
2424 /* 4205 */ // Label 174: @4205
2425 /* 4205 */ GIM_Try, /*On fail goto*//*Label 175*/ GIMT_Encode4(4267), // Rule ID 4682 //
2426 /* 4210 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2427 /* 4213 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2428 /* 4217 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2429 /* 4221 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2430 /* 4225 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2431 /* 4229 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2432 /* 4232 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2433 /* 4236 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2434 /* 4240 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2435 /* 4242 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2436 /* 4249 */ // (add:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2437 /* 4249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rm),
2438 /* 4252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2439 /* 4254 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2440 /* 4256 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2441 /* 4260 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2442 /* 4265 */ GIR_RootConstrainSelectedInstOperands,
2443 /* 4266 */ // GIR_Coverage, 4682,
2444 /* 4266 */ GIR_EraseRootFromParent_Done,
2445 /* 4267 */ // Label 175: @4267
2446 /* 4267 */ GIM_Try, /*On fail goto*//*Label 176*/ GIMT_Encode4(4328), // Rule ID 17832 //
2447 /* 4272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
2448 /* 4275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2449 /* 4279 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2450 /* 4283 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2451 /* 4287 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
2452 /* 4291 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
2453 /* 4295 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2454 /* 4300 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2455 /* 4305 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2456 /* 4309 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2457 /* 4311 */ // (add:{ *:[v8i16] } (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2), VR128:{ *:[v8i16] }:$src3) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
2458 /* 4311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
2459 /* 4314 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2460 /* 4316 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2461 /* 4320 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2462 /* 4324 */ GIR_RootToRootCopy, /*OpIdx*/2, // src3
2463 /* 4326 */ GIR_RootConstrainSelectedInstOperands,
2464 /* 4327 */ // GIR_Coverage, 17832,
2465 /* 4327 */ GIR_EraseRootFromParent_Done,
2466 /* 4328 */ // Label 176: @4328
2467 /* 4328 */ GIM_Try, /*On fail goto*//*Label 177*/ GIMT_Encode4(4389), // Rule ID 25247 //
2468 /* 4333 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
2469 /* 4336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2470 /* 4340 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2471 /* 4344 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2472 /* 4348 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2473 /* 4352 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s16,
2474 /* 4356 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s16,
2475 /* 4360 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2476 /* 4365 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2477 /* 4370 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2478 /* 4372 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src3, (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
2479 /* 4372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
2480 /* 4375 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2481 /* 4377 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2482 /* 4381 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2483 /* 4385 */ GIR_RootToRootCopy, /*OpIdx*/1, // src3
2484 /* 4387 */ GIR_RootConstrainSelectedInstOperands,
2485 /* 4388 */ // GIR_Coverage, 25247,
2486 /* 4388 */ GIR_EraseRootFromParent_Done,
2487 /* 4389 */ // Label 177: @4389
2488 /* 4389 */ GIM_Try, /*On fail goto*//*Label 178*/ GIMT_Encode4(4416), // Rule ID 2504 //
2489 /* 4394 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
2490 /* 4397 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2491 /* 4401 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2492 /* 4405 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2493 /* 4409 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
2494 /* 4409 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWrr),
2495 /* 4414 */ GIR_RootConstrainSelectedInstOperands,
2496 /* 4415 */ // GIR_Coverage, 2504,
2497 /* 4415 */ GIR_Done,
2498 /* 4416 */ // Label 178: @4416
2499 /* 4416 */ GIM_Try, /*On fail goto*//*Label 179*/ GIMT_Encode4(4443), // Rule ID 2506 //
2500 /* 4421 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
2501 /* 4424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2502 /* 4428 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2503 /* 4432 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2504 /* 4436 */ // (add:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
2505 /* 4436 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDWrr),
2506 /* 4441 */ GIR_RootConstrainSelectedInstOperands,
2507 /* 4442 */ // GIR_Coverage, 2506,
2508 /* 4442 */ GIR_Done,
2509 /* 4443 */ // Label 179: @4443
2510 /* 4443 */ GIM_Try, /*On fail goto*//*Label 180*/ GIMT_Encode4(4470), // Rule ID 4679 //
2511 /* 4448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2512 /* 4451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2513 /* 4455 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2514 /* 4459 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2515 /* 4463 */ // (add:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
2516 /* 4463 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZ128rr),
2517 /* 4468 */ GIR_RootConstrainSelectedInstOperands,
2518 /* 4469 */ // GIR_Coverage, 4679,
2519 /* 4469 */ GIR_Done,
2520 /* 4470 */ // Label 180: @4470
2521 /* 4470 */ GIM_Reject,
2522 /* 4471 */ // Label 171: @4471
2523 /* 4471 */ GIM_Reject,
2524 /* 4472 */ // Label 91: @4472
2525 /* 4472 */ GIM_Try, /*On fail goto*//*Label 181*/ GIMT_Encode4(4786),
2526 /* 4477 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
2527 /* 4480 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
2528 /* 4483 */ GIM_Try, /*On fail goto*//*Label 182*/ GIMT_Encode4(4545), // Rule ID 23492 //
2529 /* 4488 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
2530 /* 4491 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2531 /* 4495 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2532 /* 4499 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2533 /* 4503 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2534 /* 4506 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2535 /* 4510 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2536 /* 4514 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2537 /* 4518 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2538 /* 4520 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2539 /* 4527 */ // (add:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2540 /* 4527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWYrm),
2541 /* 4530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2542 /* 4532 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2543 /* 4534 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2544 /* 4538 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2545 /* 4543 */ GIR_RootConstrainSelectedInstOperands,
2546 /* 4544 */ // GIR_Coverage, 23492,
2547 /* 4544 */ GIR_EraseRootFromParent_Done,
2548 /* 4545 */ // Label 182: @4545
2549 /* 4545 */ GIM_Try, /*On fail goto*//*Label 183*/ GIMT_Encode4(4607), // Rule ID 23793 //
2550 /* 4550 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2551 /* 4553 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2552 /* 4557 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2553 /* 4561 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2554 /* 4565 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2555 /* 4568 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2556 /* 4572 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2557 /* 4576 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2558 /* 4580 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2559 /* 4582 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2560 /* 4589 */ // (add:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2561 /* 4589 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rm),
2562 /* 4592 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2563 /* 4594 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2564 /* 4596 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2565 /* 4600 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2566 /* 4605 */ GIR_RootConstrainSelectedInstOperands,
2567 /* 4606 */ // GIR_Coverage, 23793,
2568 /* 4606 */ GIR_EraseRootFromParent_Done,
2569 /* 4607 */ // Label 183: @4607
2570 /* 4607 */ GIM_Try, /*On fail goto*//*Label 184*/ GIMT_Encode4(4669), // Rule ID 2509 //
2571 /* 4612 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
2572 /* 4615 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2573 /* 4619 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2574 /* 4623 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2575 /* 4627 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2576 /* 4631 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2577 /* 4634 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2578 /* 4638 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2579 /* 4642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2580 /* 4644 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2581 /* 4651 */ // (add:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2582 /* 4651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWYrm),
2583 /* 4654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2584 /* 4656 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2585 /* 4658 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2586 /* 4662 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2587 /* 4667 */ GIR_RootConstrainSelectedInstOperands,
2588 /* 4668 */ // GIR_Coverage, 2509,
2589 /* 4668 */ GIR_EraseRootFromParent_Done,
2590 /* 4669 */ // Label 184: @4669
2591 /* 4669 */ GIM_Try, /*On fail goto*//*Label 185*/ GIMT_Encode4(4731), // Rule ID 4676 //
2592 /* 4674 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2593 /* 4677 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2594 /* 4681 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2595 /* 4685 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2596 /* 4689 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2597 /* 4693 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2598 /* 4696 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2599 /* 4700 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2600 /* 4704 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2601 /* 4706 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2602 /* 4713 */ // (add:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2603 /* 4713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rm),
2604 /* 4716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2605 /* 4718 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2606 /* 4720 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2607 /* 4724 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2608 /* 4729 */ GIR_RootConstrainSelectedInstOperands,
2609 /* 4730 */ // GIR_Coverage, 4676,
2610 /* 4730 */ GIR_EraseRootFromParent_Done,
2611 /* 4731 */ // Label 185: @4731
2612 /* 4731 */ GIM_Try, /*On fail goto*//*Label 186*/ GIMT_Encode4(4758), // Rule ID 2508 //
2613 /* 4736 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
2614 /* 4739 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2615 /* 4743 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2616 /* 4747 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2617 /* 4751 */ // (add:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
2618 /* 4751 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWYrr),
2619 /* 4756 */ GIR_RootConstrainSelectedInstOperands,
2620 /* 4757 */ // GIR_Coverage, 2508,
2621 /* 4757 */ GIR_Done,
2622 /* 4758 */ // Label 186: @4758
2623 /* 4758 */ GIM_Try, /*On fail goto*//*Label 187*/ GIMT_Encode4(4785), // Rule ID 4673 //
2624 /* 4763 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
2625 /* 4766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2626 /* 4770 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2627 /* 4774 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2628 /* 4778 */ // (add:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
2629 /* 4778 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZ256rr),
2630 /* 4783 */ GIR_RootConstrainSelectedInstOperands,
2631 /* 4784 */ // GIR_Coverage, 4673,
2632 /* 4784 */ GIR_Done,
2633 /* 4785 */ // Label 187: @4785
2634 /* 4785 */ GIM_Reject,
2635 /* 4786 */ // Label 181: @4786
2636 /* 4786 */ GIM_Reject,
2637 /* 4787 */ // Label 92: @4787
2638 /* 4787 */ GIM_Try, /*On fail goto*//*Label 188*/ GIMT_Encode4(4942),
2639 /* 4792 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
2640 /* 4795 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
2641 /* 4798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2642 /* 4802 */ GIM_Try, /*On fail goto*//*Label 189*/ GIMT_Encode4(4860), // Rule ID 23790 //
2643 /* 4807 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
2644 /* 4810 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2645 /* 4814 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2646 /* 4818 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2647 /* 4821 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2648 /* 4825 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2649 /* 4829 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2650 /* 4833 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2651 /* 4835 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2652 /* 4842 */ // (add:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2653 /* 4842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZrm),
2654 /* 4845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2655 /* 4847 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2656 /* 4849 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2657 /* 4853 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2658 /* 4858 */ GIR_RootConstrainSelectedInstOperands,
2659 /* 4859 */ // GIR_Coverage, 23790,
2660 /* 4859 */ GIR_EraseRootFromParent_Done,
2661 /* 4860 */ // Label 189: @4860
2662 /* 4860 */ GIM_Try, /*On fail goto*//*Label 190*/ GIMT_Encode4(4918), // Rule ID 4670 //
2663 /* 4865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
2664 /* 4868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2665 /* 4872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2666 /* 4876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2667 /* 4880 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2668 /* 4883 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2669 /* 4887 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2670 /* 4891 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2671 /* 4893 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2672 /* 4900 */ // (add:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
2673 /* 4900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDWZrm),
2674 /* 4903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2675 /* 4905 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2676 /* 4907 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2677 /* 4911 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2678 /* 4916 */ GIR_RootConstrainSelectedInstOperands,
2679 /* 4917 */ // GIR_Coverage, 4670,
2680 /* 4917 */ GIR_EraseRootFromParent_Done,
2681 /* 4918 */ // Label 190: @4918
2682 /* 4918 */ GIM_Try, /*On fail goto*//*Label 191*/ GIMT_Encode4(4941), // Rule ID 4667 //
2683 /* 4923 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
2684 /* 4926 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2685 /* 4930 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2686 /* 4934 */ // (add:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
2687 /* 4934 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDWZrr),
2688 /* 4939 */ GIR_RootConstrainSelectedInstOperands,
2689 /* 4940 */ // GIR_Coverage, 4667,
2690 /* 4940 */ GIR_Done,
2691 /* 4941 */ // Label 191: @4941
2692 /* 4941 */ GIM_Reject,
2693 /* 4942 */ // Label 188: @4942
2694 /* 4942 */ GIM_Reject,
2695 /* 4943 */ // Label 93: @4943
2696 /* 4943 */ GIM_Try, /*On fail goto*//*Label 192*/ GIMT_Encode4(5406),
2697 /* 4948 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
2698 /* 4951 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
2699 /* 4954 */ GIM_Try, /*On fail goto*//*Label 193*/ GIMT_Encode4(5016), // Rule ID 23493 //
2700 /* 4959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2701 /* 4962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2702 /* 4966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2703 /* 4970 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2704 /* 4974 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2705 /* 4977 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2706 /* 4981 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2707 /* 4985 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2708 /* 4989 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2709 /* 4991 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2710 /* 4998 */ // (add:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPADDDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2711 /* 4998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDrm),
2712 /* 5001 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2713 /* 5003 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2714 /* 5005 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2715 /* 5009 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2716 /* 5014 */ GIR_RootConstrainSelectedInstOperands,
2717 /* 5015 */ // GIR_Coverage, 23493,
2718 /* 5015 */ GIR_EraseRootFromParent_Done,
2719 /* 5016 */ // Label 193: @5016
2720 /* 5016 */ GIM_Try, /*On fail goto*//*Label 194*/ GIMT_Encode4(5078), // Rule ID 23784 //
2721 /* 5021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2722 /* 5024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2723 /* 5028 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2724 /* 5032 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2725 /* 5036 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2726 /* 5039 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2727 /* 5043 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2728 /* 5047 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2729 /* 5051 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2730 /* 5053 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2731 /* 5060 */ // (add:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPADDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2732 /* 5060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rm),
2733 /* 5063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2734 /* 5065 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2735 /* 5067 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2736 /* 5071 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2737 /* 5076 */ GIR_RootConstrainSelectedInstOperands,
2738 /* 5077 */ // GIR_Coverage, 23784,
2739 /* 5077 */ GIR_EraseRootFromParent_Done,
2740 /* 5078 */ // Label 194: @5078
2741 /* 5078 */ GIM_Try, /*On fail goto*//*Label 195*/ GIMT_Encode4(5140), // Rule ID 2511 //
2742 /* 5083 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2743 /* 5086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2744 /* 5090 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2745 /* 5094 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2746 /* 5098 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2747 /* 5102 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2748 /* 5105 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2749 /* 5109 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2750 /* 5113 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2751 /* 5115 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2752 /* 5122 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2753 /* 5122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDrm),
2754 /* 5125 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2755 /* 5127 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2756 /* 5129 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2757 /* 5133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2758 /* 5138 */ GIR_RootConstrainSelectedInstOperands,
2759 /* 5139 */ // GIR_Coverage, 2511,
2760 /* 5139 */ GIR_EraseRootFromParent_Done,
2761 /* 5140 */ // Label 195: @5140
2762 /* 5140 */ GIM_Try, /*On fail goto*//*Label 196*/ GIMT_Encode4(5202), // Rule ID 4661 //
2763 /* 5145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2764 /* 5148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2765 /* 5152 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2766 /* 5156 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2767 /* 5160 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2768 /* 5164 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2769 /* 5167 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2770 /* 5171 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2771 /* 5175 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2772 /* 5177 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2773 /* 5184 */ // (add:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2774 /* 5184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rm),
2775 /* 5187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2776 /* 5189 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2777 /* 5191 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2778 /* 5195 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2779 /* 5200 */ GIR_RootConstrainSelectedInstOperands,
2780 /* 5201 */ // GIR_Coverage, 4661,
2781 /* 5201 */ GIR_EraseRootFromParent_Done,
2782 /* 5202 */ // Label 196: @5202
2783 /* 5202 */ GIM_Try, /*On fail goto*//*Label 197*/ GIMT_Encode4(5263), // Rule ID 17833 //
2784 /* 5207 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
2785 /* 5210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2786 /* 5214 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2787 /* 5218 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2788 /* 5222 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
2789 /* 5226 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
2790 /* 5230 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2791 /* 5235 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2792 /* 5240 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2793 /* 5244 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2794 /* 5246 */ // (add:{ *:[v4i32] } (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2), VR128:{ *:[v4i32] }:$src3) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
2795 /* 5246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
2796 /* 5249 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2797 /* 5251 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2798 /* 5255 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2799 /* 5259 */ GIR_RootToRootCopy, /*OpIdx*/2, // src3
2800 /* 5261 */ GIR_RootConstrainSelectedInstOperands,
2801 /* 5262 */ // GIR_Coverage, 17833,
2802 /* 5262 */ GIR_EraseRootFromParent_Done,
2803 /* 5263 */ // Label 197: @5263
2804 /* 5263 */ GIM_Try, /*On fail goto*//*Label 198*/ GIMT_Encode4(5324), // Rule ID 25248 //
2805 /* 5268 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
2806 /* 5271 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2807 /* 5275 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2808 /* 5279 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2809 /* 5283 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
2810 /* 5287 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s32,
2811 /* 5291 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s32,
2812 /* 5295 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2813 /* 5300 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2814 /* 5305 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2815 /* 5307 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src3, (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
2816 /* 5307 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
2817 /* 5310 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2818 /* 5312 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
2819 /* 5316 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
2820 /* 5320 */ GIR_RootToRootCopy, /*OpIdx*/1, // src3
2821 /* 5322 */ GIR_RootConstrainSelectedInstOperands,
2822 /* 5323 */ // GIR_Coverage, 25248,
2823 /* 5323 */ GIR_EraseRootFromParent_Done,
2824 /* 5324 */ // Label 198: @5324
2825 /* 5324 */ GIM_Try, /*On fail goto*//*Label 199*/ GIMT_Encode4(5351), // Rule ID 2510 //
2826 /* 5329 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
2827 /* 5332 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2828 /* 5336 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2829 /* 5340 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2830 /* 5344 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPADDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
2831 /* 5344 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDrr),
2832 /* 5349 */ GIR_RootConstrainSelectedInstOperands,
2833 /* 5350 */ // GIR_Coverage, 2510,
2834 /* 5350 */ GIR_Done,
2835 /* 5351 */ // Label 199: @5351
2836 /* 5351 */ GIM_Try, /*On fail goto*//*Label 200*/ GIMT_Encode4(5378), // Rule ID 2512 //
2837 /* 5356 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
2838 /* 5359 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2839 /* 5363 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2840 /* 5367 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
2841 /* 5371 */ // (add:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PADDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
2842 /* 5371 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDDrr),
2843 /* 5376 */ GIR_RootConstrainSelectedInstOperands,
2844 /* 5377 */ // GIR_Coverage, 2512,
2845 /* 5377 */ GIR_Done,
2846 /* 5378 */ // Label 200: @5378
2847 /* 5378 */ GIM_Try, /*On fail goto*//*Label 201*/ GIMT_Encode4(5405), // Rule ID 4658 //
2848 /* 5383 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2849 /* 5386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2850 /* 5390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2851 /* 5394 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
2852 /* 5398 */ // (add:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPADDDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
2853 /* 5398 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZ128rr),
2854 /* 5403 */ GIR_RootConstrainSelectedInstOperands,
2855 /* 5404 */ // GIR_Coverage, 4658,
2856 /* 5404 */ GIR_Done,
2857 /* 5405 */ // Label 201: @5405
2858 /* 5405 */ GIM_Reject,
2859 /* 5406 */ // Label 192: @5406
2860 /* 5406 */ GIM_Reject,
2861 /* 5407 */ // Label 94: @5407
2862 /* 5407 */ GIM_Try, /*On fail goto*//*Label 202*/ GIMT_Encode4(5721),
2863 /* 5412 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
2864 /* 5415 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
2865 /* 5418 */ GIM_Try, /*On fail goto*//*Label 203*/ GIMT_Encode4(5480), // Rule ID 23495 //
2866 /* 5423 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2867 /* 5426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2868 /* 5430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2869 /* 5434 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2870 /* 5438 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2871 /* 5441 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2872 /* 5445 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2873 /* 5449 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2874 /* 5453 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2875 /* 5455 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2876 /* 5462 */ // (add:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPADDDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2877 /* 5462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDYrm),
2878 /* 5465 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2879 /* 5467 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2880 /* 5469 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2881 /* 5473 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2882 /* 5478 */ GIR_RootConstrainSelectedInstOperands,
2883 /* 5479 */ // GIR_Coverage, 23495,
2884 /* 5479 */ GIR_EraseRootFromParent_Done,
2885 /* 5480 */ // Label 203: @5480
2886 /* 5480 */ GIM_Try, /*On fail goto*//*Label 204*/ GIMT_Encode4(5542), // Rule ID 23778 //
2887 /* 5485 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2888 /* 5488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2889 /* 5492 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2890 /* 5496 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2891 /* 5500 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2892 /* 5503 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2893 /* 5507 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2894 /* 5511 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2895 /* 5515 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2896 /* 5517 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2897 /* 5524 */ // (add:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPADDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2898 /* 5524 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rm),
2899 /* 5527 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2900 /* 5529 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2901 /* 5531 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2902 /* 5535 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2903 /* 5540 */ GIR_RootConstrainSelectedInstOperands,
2904 /* 5541 */ // GIR_Coverage, 23778,
2905 /* 5541 */ GIR_EraseRootFromParent_Done,
2906 /* 5542 */ // Label 204: @5542
2907 /* 5542 */ GIM_Try, /*On fail goto*//*Label 205*/ GIMT_Encode4(5604), // Rule ID 2515 //
2908 /* 5547 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2909 /* 5550 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2910 /* 5554 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2911 /* 5558 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2912 /* 5562 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2913 /* 5566 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2914 /* 5569 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2915 /* 5573 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2916 /* 5577 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2917 /* 5579 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2918 /* 5586 */ // (add:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2919 /* 5586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDYrm),
2920 /* 5589 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2921 /* 5591 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2922 /* 5593 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2923 /* 5597 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2924 /* 5602 */ GIR_RootConstrainSelectedInstOperands,
2925 /* 5603 */ // GIR_Coverage, 2515,
2926 /* 5603 */ GIR_EraseRootFromParent_Done,
2927 /* 5604 */ // Label 205: @5604
2928 /* 5604 */ GIM_Try, /*On fail goto*//*Label 206*/ GIMT_Encode4(5666), // Rule ID 4652 //
2929 /* 5609 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2930 /* 5612 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2931 /* 5616 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2932 /* 5620 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
2933 /* 5624 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2934 /* 5628 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2935 /* 5631 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2936 /* 5635 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2937 /* 5639 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2938 /* 5641 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2939 /* 5648 */ // (add:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2940 /* 5648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rm),
2941 /* 5651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2942 /* 5653 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
2943 /* 5655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2944 /* 5659 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2945 /* 5664 */ GIR_RootConstrainSelectedInstOperands,
2946 /* 5665 */ // GIR_Coverage, 4652,
2947 /* 5665 */ GIR_EraseRootFromParent_Done,
2948 /* 5666 */ // Label 206: @5666
2949 /* 5666 */ GIM_Try, /*On fail goto*//*Label 207*/ GIMT_Encode4(5693), // Rule ID 2514 //
2950 /* 5671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
2951 /* 5674 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2952 /* 5678 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2953 /* 5682 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
2954 /* 5686 */ // (add:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPADDDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
2955 /* 5686 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDYrr),
2956 /* 5691 */ GIR_RootConstrainSelectedInstOperands,
2957 /* 5692 */ // GIR_Coverage, 2514,
2958 /* 5692 */ GIR_Done,
2959 /* 5693 */ // Label 207: @5693
2960 /* 5693 */ GIM_Try, /*On fail goto*//*Label 208*/ GIMT_Encode4(5720), // Rule ID 4649 //
2961 /* 5698 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
2962 /* 5701 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2963 /* 5705 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2964 /* 5709 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
2965 /* 5713 */ // (add:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPADDDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
2966 /* 5713 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZ256rr),
2967 /* 5718 */ GIR_RootConstrainSelectedInstOperands,
2968 /* 5719 */ // GIR_Coverage, 4649,
2969 /* 5719 */ GIR_Done,
2970 /* 5720 */ // Label 208: @5720
2971 /* 5720 */ GIM_Reject,
2972 /* 5721 */ // Label 202: @5721
2973 /* 5721 */ GIM_Reject,
2974 /* 5722 */ // Label 95: @5722
2975 /* 5722 */ GIM_Try, /*On fail goto*//*Label 209*/ GIMT_Encode4(5877),
2976 /* 5727 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
2977 /* 5730 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
2978 /* 5733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2979 /* 5737 */ GIM_Try, /*On fail goto*//*Label 210*/ GIMT_Encode4(5795), // Rule ID 23772 //
2980 /* 5742 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
2981 /* 5745 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
2982 /* 5749 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
2983 /* 5753 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
2984 /* 5756 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
2985 /* 5760 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
2986 /* 5764 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
2987 /* 5768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
2988 /* 5770 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
2989 /* 5777 */ // (add:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPADDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
2990 /* 5777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZrm),
2991 /* 5780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
2992 /* 5782 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
2993 /* 5784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
2994 /* 5788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
2995 /* 5793 */ GIR_RootConstrainSelectedInstOperands,
2996 /* 5794 */ // GIR_Coverage, 23772,
2997 /* 5794 */ GIR_EraseRootFromParent_Done,
2998 /* 5795 */ // Label 210: @5795
2999 /* 5795 */ GIM_Try, /*On fail goto*//*Label 211*/ GIMT_Encode4(5853), // Rule ID 4643 //
3000 /* 5800 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
3001 /* 5803 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3002 /* 5807 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3003 /* 5811 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3004 /* 5815 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3005 /* 5818 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3006 /* 5822 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3007 /* 5826 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3008 /* 5828 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3009 /* 5835 */ // (add:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
3010 /* 5835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDDZrm),
3011 /* 5838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3012 /* 5840 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3013 /* 5842 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3014 /* 5846 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3015 /* 5851 */ GIR_RootConstrainSelectedInstOperands,
3016 /* 5852 */ // GIR_Coverage, 4643,
3017 /* 5852 */ GIR_EraseRootFromParent_Done,
3018 /* 5853 */ // Label 211: @5853
3019 /* 5853 */ GIM_Try, /*On fail goto*//*Label 212*/ GIMT_Encode4(5876), // Rule ID 4640 //
3020 /* 5858 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
3021 /* 5861 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3022 /* 5865 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3023 /* 5869 */ // (add:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPADDDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
3024 /* 5869 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDDZrr),
3025 /* 5874 */ GIR_RootConstrainSelectedInstOperands,
3026 /* 5875 */ // GIR_Coverage, 4640,
3027 /* 5875 */ GIR_Done,
3028 /* 5876 */ // Label 212: @5876
3029 /* 5876 */ GIM_Reject,
3030 /* 5877 */ // Label 209: @5877
3031 /* 5877 */ GIM_Reject,
3032 /* 5878 */ // Label 96: @5878
3033 /* 5878 */ GIM_Try, /*On fail goto*//*Label 213*/ GIMT_Encode4(6219),
3034 /* 5883 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
3035 /* 5886 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
3036 /* 5889 */ GIM_Try, /*On fail goto*//*Label 214*/ GIMT_Encode4(5951), // Rule ID 23496 //
3037 /* 5894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
3038 /* 5897 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3039 /* 5901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3040 /* 5905 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3041 /* 5909 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3042 /* 5912 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3043 /* 5916 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3044 /* 5920 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3045 /* 5924 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3046 /* 5926 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3047 /* 5933 */ // (add:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPADDQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3048 /* 5933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQrm),
3049 /* 5936 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3050 /* 5938 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3051 /* 5940 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3052 /* 5944 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3053 /* 5949 */ GIR_RootConstrainSelectedInstOperands,
3054 /* 5950 */ // GIR_Coverage, 23496,
3055 /* 5950 */ GIR_EraseRootFromParent_Done,
3056 /* 5951 */ // Label 214: @5951
3057 /* 5951 */ GIM_Try, /*On fail goto*//*Label 215*/ GIMT_Encode4(6013), // Rule ID 23766 //
3058 /* 5956 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
3059 /* 5959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3060 /* 5963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3061 /* 5967 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3062 /* 5971 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3063 /* 5974 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3064 /* 5978 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3065 /* 5982 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3066 /* 5986 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3067 /* 5988 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3068 /* 5995 */ // (add:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPADDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3069 /* 5995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rm),
3070 /* 5998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3071 /* 6000 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3072 /* 6002 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3073 /* 6006 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3074 /* 6011 */ GIR_RootConstrainSelectedInstOperands,
3075 /* 6012 */ // GIR_Coverage, 23766,
3076 /* 6012 */ GIR_EraseRootFromParent_Done,
3077 /* 6013 */ // Label 215: @6013
3078 /* 6013 */ GIM_Try, /*On fail goto*//*Label 216*/ GIMT_Encode4(6075), // Rule ID 2517 //
3079 /* 6018 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
3080 /* 6021 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3081 /* 6025 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3082 /* 6029 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3083 /* 6033 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3084 /* 6037 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3085 /* 6040 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3086 /* 6044 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3087 /* 6048 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3088 /* 6050 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3089 /* 6057 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3090 /* 6057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQrm),
3091 /* 6060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3092 /* 6062 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3093 /* 6064 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3094 /* 6068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3095 /* 6073 */ GIR_RootConstrainSelectedInstOperands,
3096 /* 6074 */ // GIR_Coverage, 2517,
3097 /* 6074 */ GIR_EraseRootFromParent_Done,
3098 /* 6075 */ // Label 216: @6075
3099 /* 6075 */ GIM_Try, /*On fail goto*//*Label 217*/ GIMT_Encode4(6137), // Rule ID 4634 //
3100 /* 6080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
3101 /* 6083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3102 /* 6087 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3103 /* 6091 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3104 /* 6095 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3105 /* 6099 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3106 /* 6102 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3107 /* 6106 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3108 /* 6110 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3109 /* 6112 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3110 /* 6119 */ // (add:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3111 /* 6119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rm),
3112 /* 6122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3113 /* 6124 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3114 /* 6126 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3115 /* 6130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3116 /* 6135 */ GIR_RootConstrainSelectedInstOperands,
3117 /* 6136 */ // GIR_Coverage, 4634,
3118 /* 6136 */ GIR_EraseRootFromParent_Done,
3119 /* 6137 */ // Label 217: @6137
3120 /* 6137 */ GIM_Try, /*On fail goto*//*Label 218*/ GIMT_Encode4(6164), // Rule ID 2516 //
3121 /* 6142 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
3122 /* 6145 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3123 /* 6149 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3124 /* 6153 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3125 /* 6157 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPADDQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
3126 /* 6157 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQrr),
3127 /* 6162 */ GIR_RootConstrainSelectedInstOperands,
3128 /* 6163 */ // GIR_Coverage, 2516,
3129 /* 6163 */ GIR_Done,
3130 /* 6164 */ // Label 218: @6164
3131 /* 6164 */ GIM_Try, /*On fail goto*//*Label 219*/ GIMT_Encode4(6191), // Rule ID 2518 //
3132 /* 6169 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
3133 /* 6172 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3134 /* 6176 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3135 /* 6180 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3136 /* 6184 */ // (add:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PADDQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
3137 /* 6184 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDQrr),
3138 /* 6189 */ GIR_RootConstrainSelectedInstOperands,
3139 /* 6190 */ // GIR_Coverage, 2518,
3140 /* 6190 */ GIR_Done,
3141 /* 6191 */ // Label 219: @6191
3142 /* 6191 */ GIM_Try, /*On fail goto*//*Label 220*/ GIMT_Encode4(6218), // Rule ID 4631 //
3143 /* 6196 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
3144 /* 6199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3145 /* 6203 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3146 /* 6207 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3147 /* 6211 */ // (add:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPADDQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
3148 /* 6211 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZ128rr),
3149 /* 6216 */ GIR_RootConstrainSelectedInstOperands,
3150 /* 6217 */ // GIR_Coverage, 4631,
3151 /* 6217 */ GIR_Done,
3152 /* 6218 */ // Label 220: @6218
3153 /* 6218 */ GIM_Reject,
3154 /* 6219 */ // Label 213: @6219
3155 /* 6219 */ GIM_Reject,
3156 /* 6220 */ // Label 97: @6220
3157 /* 6220 */ GIM_Try, /*On fail goto*//*Label 221*/ GIMT_Encode4(6534),
3158 /* 6225 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
3159 /* 6228 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
3160 /* 6231 */ GIM_Try, /*On fail goto*//*Label 222*/ GIMT_Encode4(6293), // Rule ID 23498 //
3161 /* 6236 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
3162 /* 6239 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3163 /* 6243 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3164 /* 6247 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3165 /* 6251 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3166 /* 6254 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3167 /* 6258 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3168 /* 6262 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3169 /* 6266 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3170 /* 6268 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3171 /* 6275 */ // (add:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPADDQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3172 /* 6275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQYrm),
3173 /* 6278 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3174 /* 6280 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3175 /* 6282 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3176 /* 6286 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3177 /* 6291 */ GIR_RootConstrainSelectedInstOperands,
3178 /* 6292 */ // GIR_Coverage, 23498,
3179 /* 6292 */ GIR_EraseRootFromParent_Done,
3180 /* 6293 */ // Label 222: @6293
3181 /* 6293 */ GIM_Try, /*On fail goto*//*Label 223*/ GIMT_Encode4(6355), // Rule ID 23760 //
3182 /* 6298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
3183 /* 6301 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3184 /* 6305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3185 /* 6309 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3186 /* 6313 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3187 /* 6316 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3188 /* 6320 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3189 /* 6324 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3190 /* 6328 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3191 /* 6330 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3192 /* 6337 */ // (add:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPADDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3193 /* 6337 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rm),
3194 /* 6340 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3195 /* 6342 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3196 /* 6344 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3197 /* 6348 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3198 /* 6353 */ GIR_RootConstrainSelectedInstOperands,
3199 /* 6354 */ // GIR_Coverage, 23760,
3200 /* 6354 */ GIR_EraseRootFromParent_Done,
3201 /* 6355 */ // Label 223: @6355
3202 /* 6355 */ GIM_Try, /*On fail goto*//*Label 224*/ GIMT_Encode4(6417), // Rule ID 2521 //
3203 /* 6360 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
3204 /* 6363 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3205 /* 6367 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3206 /* 6371 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3207 /* 6375 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3208 /* 6379 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3209 /* 6382 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3210 /* 6386 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3211 /* 6390 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3212 /* 6392 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3213 /* 6399 */ // (add:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3214 /* 6399 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQYrm),
3215 /* 6402 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3216 /* 6404 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3217 /* 6406 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3218 /* 6410 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3219 /* 6415 */ GIR_RootConstrainSelectedInstOperands,
3220 /* 6416 */ // GIR_Coverage, 2521,
3221 /* 6416 */ GIR_EraseRootFromParent_Done,
3222 /* 6417 */ // Label 224: @6417
3223 /* 6417 */ GIM_Try, /*On fail goto*//*Label 225*/ GIMT_Encode4(6479), // Rule ID 4625 //
3224 /* 6422 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
3225 /* 6425 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3226 /* 6429 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3227 /* 6433 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3228 /* 6437 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3229 /* 6441 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3230 /* 6444 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3231 /* 6448 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3232 /* 6452 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3233 /* 6454 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3234 /* 6461 */ // (add:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3235 /* 6461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rm),
3236 /* 6464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3237 /* 6466 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3238 /* 6468 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3239 /* 6472 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3240 /* 6477 */ GIR_RootConstrainSelectedInstOperands,
3241 /* 6478 */ // GIR_Coverage, 4625,
3242 /* 6478 */ GIR_EraseRootFromParent_Done,
3243 /* 6479 */ // Label 225: @6479
3244 /* 6479 */ GIM_Try, /*On fail goto*//*Label 226*/ GIMT_Encode4(6506), // Rule ID 2520 //
3245 /* 6484 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
3246 /* 6487 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3247 /* 6491 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3248 /* 6495 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3249 /* 6499 */ // (add:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPADDQYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
3250 /* 6499 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQYrr),
3251 /* 6504 */ GIR_RootConstrainSelectedInstOperands,
3252 /* 6505 */ // GIR_Coverage, 2520,
3253 /* 6505 */ GIR_Done,
3254 /* 6506 */ // Label 226: @6506
3255 /* 6506 */ GIM_Try, /*On fail goto*//*Label 227*/ GIMT_Encode4(6533), // Rule ID 4622 //
3256 /* 6511 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
3257 /* 6514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3258 /* 6518 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3259 /* 6522 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3260 /* 6526 */ // (add:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPADDQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
3261 /* 6526 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZ256rr),
3262 /* 6531 */ GIR_RootConstrainSelectedInstOperands,
3263 /* 6532 */ // GIR_Coverage, 4622,
3264 /* 6532 */ GIR_Done,
3265 /* 6533 */ // Label 227: @6533
3266 /* 6533 */ GIM_Reject,
3267 /* 6534 */ // Label 221: @6534
3268 /* 6534 */ GIM_Reject,
3269 /* 6535 */ // Label 98: @6535
3270 /* 6535 */ GIM_Try, /*On fail goto*//*Label 228*/ GIMT_Encode4(6690),
3271 /* 6540 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
3272 /* 6543 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
3273 /* 6546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3274 /* 6550 */ GIM_Try, /*On fail goto*//*Label 229*/ GIMT_Encode4(6608), // Rule ID 23754 //
3275 /* 6555 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
3276 /* 6558 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
3277 /* 6562 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3278 /* 6566 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3279 /* 6569 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3280 /* 6573 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3281 /* 6577 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3282 /* 6581 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3283 /* 6583 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3284 /* 6590 */ // (add:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPADDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3285 /* 6590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZrm),
3286 /* 6593 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3287 /* 6595 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3288 /* 6597 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3289 /* 6601 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3290 /* 6606 */ GIR_RootConstrainSelectedInstOperands,
3291 /* 6607 */ // GIR_Coverage, 23754,
3292 /* 6607 */ GIR_EraseRootFromParent_Done,
3293 /* 6608 */ // Label 229: @6608
3294 /* 6608 */ GIM_Try, /*On fail goto*//*Label 230*/ GIMT_Encode4(6666), // Rule ID 4616 //
3295 /* 6613 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
3296 /* 6616 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3297 /* 6620 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3298 /* 6624 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3299 /* 6628 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3300 /* 6631 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3301 /* 6635 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3302 /* 6639 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3303 /* 6641 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3304 /* 6648 */ // (add:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
3305 /* 6648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDQZrm),
3306 /* 6651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3307 /* 6653 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3308 /* 6655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3309 /* 6659 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3310 /* 6664 */ GIR_RootConstrainSelectedInstOperands,
3311 /* 6665 */ // GIR_Coverage, 4616,
3312 /* 6665 */ GIR_EraseRootFromParent_Done,
3313 /* 6666 */ // Label 230: @6666
3314 /* 6666 */ GIM_Try, /*On fail goto*//*Label 231*/ GIMT_Encode4(6689), // Rule ID 4613 //
3315 /* 6671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
3316 /* 6674 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3317 /* 6678 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
3318 /* 6682 */ // (add:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPADDQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
3319 /* 6682 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDQZrr),
3320 /* 6687 */ GIR_RootConstrainSelectedInstOperands,
3321 /* 6688 */ // GIR_Coverage, 4613,
3322 /* 6688 */ GIR_Done,
3323 /* 6689 */ // Label 231: @6689
3324 /* 6689 */ GIM_Reject,
3325 /* 6690 */ // Label 228: @6690
3326 /* 6690 */ GIM_Reject,
3327 /* 6691 */ // Label 99: @6691
3328 /* 6691 */ GIM_Reject,
3329 /* 6692 */ // Label 1: @6692
3330 /* 6692 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 248*/ GIMT_Encode4(9983),
3331 /* 6703 */ /*GILLT_s8*//*Label 232*/ GIMT_Encode4(6799),
3332 /* 6707 */ /*GILLT_s16*//*Label 233*/ GIMT_Encode4(7090),
3333 /* 6711 */ /*GILLT_s32*//*Label 234*/ GIMT_Encode4(7381),
3334 /* 6715 */ /*GILLT_s64*//*Label 235*/ GIMT_Encode4(7672), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
3335 /* 6751 */ /*GILLT_v16s8*//*Label 236*/ GIMT_Encode4(7971),
3336 /* 6755 */ /*GILLT_v32s8*//*Label 237*/ GIMT_Encode4(8189),
3337 /* 6759 */ /*GILLT_v64s8*//*Label 238*/ GIMT_Encode4(8380),
3338 /* 6763 */ /*GILLT_v8s16*//*Label 239*/ GIMT_Encode4(8474),
3339 /* 6767 */ /*GILLT_v16s16*//*Label 240*/ GIMT_Encode4(8692),
3340 /* 6771 */ /*GILLT_v32s16*//*Label 241*/ GIMT_Encode4(8883),
3341 /* 6775 */ /*GILLT_v4s32*//*Label 242*/ GIMT_Encode4(8977),
3342 /* 6779 */ /*GILLT_v8s32*//*Label 243*/ GIMT_Encode4(9195),
3343 /* 6783 */ /*GILLT_v16s32*//*Label 244*/ GIMT_Encode4(9386),
3344 /* 6787 */ /*GILLT_v2s64*//*Label 245*/ GIMT_Encode4(9480),
3345 /* 6791 */ /*GILLT_v4s64*//*Label 246*/ GIMT_Encode4(9698),
3346 /* 6795 */ /*GILLT_v8s64*//*Label 247*/ GIMT_Encode4(9889),
3347 /* 6799 */ // Label 232: @6799
3348 /* 6799 */ GIM_Try, /*On fail goto*//*Label 249*/ GIMT_Encode4(7089),
3349 /* 6804 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
3350 /* 6807 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
3351 /* 6810 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3352 /* 6814 */ GIM_Try, /*On fail goto*//*Label 250*/ GIMT_Encode4(6875), // Rule ID 22865 //
3353 /* 6819 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3354 /* 6822 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3355 /* 6826 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3356 /* 6830 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3357 /* 6834 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3358 /* 6837 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3359 /* 6841 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
3360 /* 6845 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3361 /* 6847 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3362 /* 6854 */ // (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 /* 6854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8rm),
3364 /* 6857 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3365 /* 6859 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3366 /* 6861 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3367 /* 6865 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3368 /* 6868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3369 /* 6873 */ GIR_RootConstrainSelectedInstOperands,
3370 /* 6874 */ // GIR_Coverage, 22865,
3371 /* 6874 */ GIR_EraseRootFromParent_Done,
3372 /* 6875 */ // Label 250: @6875
3373 /* 6875 */ GIM_Try, /*On fail goto*//*Label 251*/ GIMT_Encode4(6903), // Rule ID 239 //
3374 /* 6880 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3375 /* 6883 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3376 /* 6887 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3377 /* 6891 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
3378 /* 6891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r),
3379 /* 6894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3380 /* 6896 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3381 /* 6898 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3382 /* 6901 */ GIR_RootConstrainSelectedInstOperands,
3383 /* 6902 */ // GIR_Coverage, 239,
3384 /* 6902 */ GIR_EraseRootFromParent_Done,
3385 /* 6903 */ // Label 251: @6903
3386 /* 6903 */ GIM_Try, /*On fail goto*//*Label 252*/ GIMT_Encode4(6931), // Rule ID 247 //
3387 /* 6908 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3388 /* 6911 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3389 /* 6915 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3390 /* 6919 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
3391 /* 6919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r_ND),
3392 /* 6922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3393 /* 6924 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3394 /* 6926 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3395 /* 6929 */ GIR_RootConstrainSelectedInstOperands,
3396 /* 6930 */ // GIR_Coverage, 247,
3397 /* 6930 */ GIR_EraseRootFromParent_Done,
3398 /* 6931 */ // Label 252: @6931
3399 /* 6931 */ GIM_Try, /*On fail goto*//*Label 253*/ GIMT_Encode4(6956), // Rule ID 255 //
3400 /* 6936 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3401 /* 6939 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3402 /* 6943 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3403 /* 6947 */ // (sub:{ *:[i8] } 0:{ *:[i8] }, GR8:{ *:[i8] }:$src1) => (NEG8r_NF_ND:{ *:[i8] } GR8:{ *:[i8] }:$src1)
3404 /* 6947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8r_NF_ND),
3405 /* 6950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3406 /* 6952 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3407 /* 6954 */ GIR_RootConstrainSelectedInstOperands,
3408 /* 6955 */ // GIR_Coverage, 255,
3409 /* 6955 */ GIR_EraseRootFromParent_Done,
3410 /* 6956 */ // Label 253: @6956
3411 /* 6956 */ GIM_Try, /*On fail goto*//*Label 254*/ GIMT_Encode4(6993), // Rule ID 22869 //
3412 /* 6961 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3413 /* 6964 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3414 /* 6968 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3415 /* 6972 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3416 /* 6976 */ // MIs[1] Operand 1
3417 /* 6976 */ // No operand predicates
3418 /* 6976 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3419 /* 6978 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SUB8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
3420 /* 6978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8ri),
3421 /* 6981 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3422 /* 6983 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3423 /* 6985 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3424 /* 6988 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3425 /* 6991 */ GIR_RootConstrainSelectedInstOperands,
3426 /* 6992 */ // GIR_Coverage, 22869,
3427 /* 6992 */ GIR_EraseRootFromParent_Done,
3428 /* 6993 */ // Label 254: @6993
3429 /* 6993 */ GIM_Try, /*On fail goto*//*Label 255*/ GIMT_Encode4(7030), // Rule ID 22959 //
3430 /* 6998 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3431 /* 7001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3432 /* 7005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3433 /* 7009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3434 /* 7013 */ // MIs[1] Operand 1
3435 /* 7013 */ // No operand predicates
3436 /* 7013 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3437 /* 7015 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SUB8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
3438 /* 7015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8ri_ND),
3439 /* 7018 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3440 /* 7020 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3441 /* 7022 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3442 /* 7025 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3443 /* 7028 */ GIR_RootConstrainSelectedInstOperands,
3444 /* 7029 */ // GIR_Coverage, 22959,
3445 /* 7029 */ GIR_EraseRootFromParent_Done,
3446 /* 7030 */ // Label 255: @7030
3447 /* 7030 */ GIM_Try, /*On fail goto*//*Label 256*/ GIMT_Encode4(7059), // Rule ID 22861 //
3448 /* 7035 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3449 /* 7038 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3450 /* 7042 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3451 /* 7046 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (SUB8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
3452 /* 7046 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB8rr),
3453 /* 7051 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3454 /* 7057 */ GIR_RootConstrainSelectedInstOperands,
3455 /* 7058 */ // GIR_Coverage, 22861,
3456 /* 7058 */ GIR_Done,
3457 /* 7059 */ // Label 256: @7059
3458 /* 7059 */ GIM_Try, /*On fail goto*//*Label 257*/ GIMT_Encode4(7088), // Rule ID 22951 //
3459 /* 7064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3460 /* 7067 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3461 /* 7071 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
3462 /* 7075 */ // (sub:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (SUB8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
3463 /* 7075 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB8rr_ND),
3464 /* 7080 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3465 /* 7086 */ GIR_RootConstrainSelectedInstOperands,
3466 /* 7087 */ // GIR_Coverage, 22951,
3467 /* 7087 */ GIR_Done,
3468 /* 7088 */ // Label 257: @7088
3469 /* 7088 */ GIM_Reject,
3470 /* 7089 */ // Label 249: @7089
3471 /* 7089 */ GIM_Reject,
3472 /* 7090 */ // Label 233: @7090
3473 /* 7090 */ GIM_Try, /*On fail goto*//*Label 258*/ GIMT_Encode4(7380),
3474 /* 7095 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
3475 /* 7098 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
3476 /* 7101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3477 /* 7105 */ GIM_Try, /*On fail goto*//*Label 259*/ GIMT_Encode4(7166), // Rule ID 22866 //
3478 /* 7110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3479 /* 7113 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3480 /* 7117 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3481 /* 7121 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3482 /* 7125 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3483 /* 7128 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3484 /* 7132 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
3485 /* 7136 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3486 /* 7138 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3487 /* 7145 */ // (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 /* 7145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16rm),
3489 /* 7148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3490 /* 7150 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3491 /* 7152 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3492 /* 7156 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3493 /* 7159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3494 /* 7164 */ GIR_RootConstrainSelectedInstOperands,
3495 /* 7165 */ // GIR_Coverage, 22866,
3496 /* 7165 */ GIR_EraseRootFromParent_Done,
3497 /* 7166 */ // Label 259: @7166
3498 /* 7166 */ GIM_Try, /*On fail goto*//*Label 260*/ GIMT_Encode4(7194), // Rule ID 240 //
3499 /* 7171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3500 /* 7174 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3501 /* 7178 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3502 /* 7182 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
3503 /* 7182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r),
3504 /* 7185 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3505 /* 7187 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3506 /* 7189 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3507 /* 7192 */ GIR_RootConstrainSelectedInstOperands,
3508 /* 7193 */ // GIR_Coverage, 240,
3509 /* 7193 */ GIR_EraseRootFromParent_Done,
3510 /* 7194 */ // Label 260: @7194
3511 /* 7194 */ GIM_Try, /*On fail goto*//*Label 261*/ GIMT_Encode4(7222), // Rule ID 248 //
3512 /* 7199 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3513 /* 7202 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3514 /* 7206 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3515 /* 7210 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
3516 /* 7210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r_ND),
3517 /* 7213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3518 /* 7215 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3519 /* 7217 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3520 /* 7220 */ GIR_RootConstrainSelectedInstOperands,
3521 /* 7221 */ // GIR_Coverage, 248,
3522 /* 7221 */ GIR_EraseRootFromParent_Done,
3523 /* 7222 */ // Label 261: @7222
3524 /* 7222 */ GIM_Try, /*On fail goto*//*Label 262*/ GIMT_Encode4(7247), // Rule ID 256 //
3525 /* 7227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3526 /* 7230 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3527 /* 7234 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3528 /* 7238 */ // (sub:{ *:[i16] } 0:{ *:[i16] }, GR16:{ *:[i16] }:$src1) => (NEG16r_NF_ND:{ *:[i16] } GR16:{ *:[i16] }:$src1)
3529 /* 7238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16r_NF_ND),
3530 /* 7241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3531 /* 7243 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3532 /* 7245 */ GIR_RootConstrainSelectedInstOperands,
3533 /* 7246 */ // GIR_Coverage, 256,
3534 /* 7246 */ GIR_EraseRootFromParent_Done,
3535 /* 7247 */ // Label 262: @7247
3536 /* 7247 */ GIM_Try, /*On fail goto*//*Label 263*/ GIMT_Encode4(7284), // Rule ID 22870 //
3537 /* 7252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3538 /* 7255 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3539 /* 7259 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3540 /* 7263 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3541 /* 7267 */ // MIs[1] Operand 1
3542 /* 7267 */ // No operand predicates
3543 /* 7267 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3544 /* 7269 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (SUB16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
3545 /* 7269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri),
3546 /* 7272 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3547 /* 7274 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3548 /* 7276 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3549 /* 7279 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3550 /* 7282 */ GIR_RootConstrainSelectedInstOperands,
3551 /* 7283 */ // GIR_Coverage, 22870,
3552 /* 7283 */ GIR_EraseRootFromParent_Done,
3553 /* 7284 */ // Label 263: @7284
3554 /* 7284 */ GIM_Try, /*On fail goto*//*Label 264*/ GIMT_Encode4(7321), // Rule ID 22960 //
3555 /* 7289 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3556 /* 7292 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3557 /* 7296 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3558 /* 7300 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3559 /* 7304 */ // MIs[1] Operand 1
3560 /* 7304 */ // No operand predicates
3561 /* 7304 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3562 /* 7306 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (SUB16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
3563 /* 7306 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16ri_ND),
3564 /* 7309 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3565 /* 7311 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3566 /* 7313 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3567 /* 7316 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3568 /* 7319 */ GIR_RootConstrainSelectedInstOperands,
3569 /* 7320 */ // GIR_Coverage, 22960,
3570 /* 7320 */ GIR_EraseRootFromParent_Done,
3571 /* 7321 */ // Label 264: @7321
3572 /* 7321 */ GIM_Try, /*On fail goto*//*Label 265*/ GIMT_Encode4(7350), // Rule ID 22862 //
3573 /* 7326 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3574 /* 7329 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3575 /* 7333 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3576 /* 7337 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (SUB16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
3577 /* 7337 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB16rr),
3578 /* 7342 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3579 /* 7348 */ GIR_RootConstrainSelectedInstOperands,
3580 /* 7349 */ // GIR_Coverage, 22862,
3581 /* 7349 */ GIR_Done,
3582 /* 7350 */ // Label 265: @7350
3583 /* 7350 */ GIM_Try, /*On fail goto*//*Label 266*/ GIMT_Encode4(7379), // Rule ID 22952 //
3584 /* 7355 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3585 /* 7358 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3586 /* 7362 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
3587 /* 7366 */ // (sub:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (SUB16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
3588 /* 7366 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB16rr_ND),
3589 /* 7371 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3590 /* 7377 */ GIR_RootConstrainSelectedInstOperands,
3591 /* 7378 */ // GIR_Coverage, 22952,
3592 /* 7378 */ GIR_Done,
3593 /* 7379 */ // Label 266: @7379
3594 /* 7379 */ GIM_Reject,
3595 /* 7380 */ // Label 258: @7380
3596 /* 7380 */ GIM_Reject,
3597 /* 7381 */ // Label 234: @7381
3598 /* 7381 */ GIM_Try, /*On fail goto*//*Label 267*/ GIMT_Encode4(7671),
3599 /* 7386 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
3600 /* 7389 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
3601 /* 7392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3602 /* 7396 */ GIM_Try, /*On fail goto*//*Label 268*/ GIMT_Encode4(7457), // Rule ID 22867 //
3603 /* 7401 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3604 /* 7404 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3605 /* 7408 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3606 /* 7412 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3607 /* 7416 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3608 /* 7419 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3609 /* 7423 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
3610 /* 7427 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3611 /* 7429 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3612 /* 7436 */ // (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 /* 7436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32rm),
3614 /* 7439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3615 /* 7441 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3616 /* 7443 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3617 /* 7447 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3618 /* 7450 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3619 /* 7455 */ GIR_RootConstrainSelectedInstOperands,
3620 /* 7456 */ // GIR_Coverage, 22867,
3621 /* 7456 */ GIR_EraseRootFromParent_Done,
3622 /* 7457 */ // Label 268: @7457
3623 /* 7457 */ GIM_Try, /*On fail goto*//*Label 269*/ GIMT_Encode4(7485), // Rule ID 241 //
3624 /* 7462 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3625 /* 7465 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3626 /* 7469 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3627 /* 7473 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3628 /* 7473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r),
3629 /* 7476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3630 /* 7478 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3631 /* 7480 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3632 /* 7483 */ GIR_RootConstrainSelectedInstOperands,
3633 /* 7484 */ // GIR_Coverage, 241,
3634 /* 7484 */ GIR_EraseRootFromParent_Done,
3635 /* 7485 */ // Label 269: @7485
3636 /* 7485 */ GIM_Try, /*On fail goto*//*Label 270*/ GIMT_Encode4(7513), // Rule ID 249 //
3637 /* 7490 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3638 /* 7493 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3639 /* 7497 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3640 /* 7501 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3641 /* 7501 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r_ND),
3642 /* 7504 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3643 /* 7506 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3644 /* 7508 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3645 /* 7511 */ GIR_RootConstrainSelectedInstOperands,
3646 /* 7512 */ // GIR_Coverage, 249,
3647 /* 7512 */ GIR_EraseRootFromParent_Done,
3648 /* 7513 */ // Label 270: @7513
3649 /* 7513 */ GIM_Try, /*On fail goto*//*Label 271*/ GIMT_Encode4(7538), // Rule ID 257 //
3650 /* 7518 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3651 /* 7521 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3652 /* 7525 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3653 /* 7529 */ // (sub:{ *:[i32] } 0:{ *:[i32] }, GR32:{ *:[i32] }:$src1) => (NEG32r_NF_ND:{ *:[i32] } GR32:{ *:[i32] }:$src1)
3654 /* 7529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32r_NF_ND),
3655 /* 7532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3656 /* 7534 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3657 /* 7536 */ GIR_RootConstrainSelectedInstOperands,
3658 /* 7537 */ // GIR_Coverage, 257,
3659 /* 7537 */ GIR_EraseRootFromParent_Done,
3660 /* 7538 */ // Label 271: @7538
3661 /* 7538 */ GIM_Try, /*On fail goto*//*Label 272*/ GIMT_Encode4(7575), // Rule ID 22871 //
3662 /* 7543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3663 /* 7546 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3664 /* 7550 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3665 /* 7554 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3666 /* 7558 */ // MIs[1] Operand 1
3667 /* 7558 */ // No operand predicates
3668 /* 7558 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3669 /* 7560 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (SUB32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
3670 /* 7560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri),
3671 /* 7563 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3672 /* 7565 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3673 /* 7567 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3674 /* 7570 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3675 /* 7573 */ GIR_RootConstrainSelectedInstOperands,
3676 /* 7574 */ // GIR_Coverage, 22871,
3677 /* 7574 */ GIR_EraseRootFromParent_Done,
3678 /* 7575 */ // Label 272: @7575
3679 /* 7575 */ GIM_Try, /*On fail goto*//*Label 273*/ GIMT_Encode4(7612), // Rule ID 22961 //
3680 /* 7580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3681 /* 7583 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3682 /* 7587 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3683 /* 7591 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3684 /* 7595 */ // MIs[1] Operand 1
3685 /* 7595 */ // No operand predicates
3686 /* 7595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3687 /* 7597 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (SUB32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
3688 /* 7597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32ri_ND),
3689 /* 7600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3690 /* 7602 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3691 /* 7604 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3692 /* 7607 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3693 /* 7610 */ GIR_RootConstrainSelectedInstOperands,
3694 /* 7611 */ // GIR_Coverage, 22961,
3695 /* 7611 */ GIR_EraseRootFromParent_Done,
3696 /* 7612 */ // Label 273: @7612
3697 /* 7612 */ GIM_Try, /*On fail goto*//*Label 274*/ GIMT_Encode4(7641), // Rule ID 22863 //
3698 /* 7617 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3699 /* 7620 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3700 /* 7624 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3701 /* 7628 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (SUB32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
3702 /* 7628 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB32rr),
3703 /* 7633 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3704 /* 7639 */ GIR_RootConstrainSelectedInstOperands,
3705 /* 7640 */ // GIR_Coverage, 22863,
3706 /* 7640 */ GIR_Done,
3707 /* 7641 */ // Label 274: @7641
3708 /* 7641 */ GIM_Try, /*On fail goto*//*Label 275*/ GIMT_Encode4(7670), // Rule ID 22953 //
3709 /* 7646 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3710 /* 7649 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3711 /* 7653 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
3712 /* 7657 */ // (sub:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (SUB32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
3713 /* 7657 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB32rr_ND),
3714 /* 7662 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3715 /* 7668 */ GIR_RootConstrainSelectedInstOperands,
3716 /* 7669 */ // GIR_Coverage, 22953,
3717 /* 7669 */ GIR_Done,
3718 /* 7670 */ // Label 275: @7670
3719 /* 7670 */ GIM_Reject,
3720 /* 7671 */ // Label 267: @7671
3721 /* 7671 */ GIM_Reject,
3722 /* 7672 */ // Label 235: @7672
3723 /* 7672 */ GIM_Try, /*On fail goto*//*Label 276*/ GIMT_Encode4(7970),
3724 /* 7677 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
3725 /* 7680 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
3726 /* 7683 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3727 /* 7687 */ GIM_Try, /*On fail goto*//*Label 277*/ GIMT_Encode4(7748), // Rule ID 22868 //
3728 /* 7692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3729 /* 7695 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3730 /* 7699 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3731 /* 7703 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3732 /* 7707 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3733 /* 7710 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3734 /* 7714 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3735 /* 7718 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3736 /* 7720 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3737 /* 7727 */ // (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 /* 7727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64rm),
3739 /* 7730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3740 /* 7732 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3741 /* 7734 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3742 /* 7738 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3743 /* 7741 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3744 /* 7746 */ GIR_RootConstrainSelectedInstOperands,
3745 /* 7747 */ // GIR_Coverage, 22868,
3746 /* 7747 */ GIR_EraseRootFromParent_Done,
3747 /* 7748 */ // Label 277: @7748
3748 /* 7748 */ GIM_Try, /*On fail goto*//*Label 278*/ GIMT_Encode4(7776), // Rule ID 242 //
3749 /* 7753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3750 /* 7756 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3751 /* 7760 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3752 /* 7764 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
3753 /* 7764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r),
3754 /* 7767 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3755 /* 7769 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3756 /* 7771 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3757 /* 7774 */ GIR_RootConstrainSelectedInstOperands,
3758 /* 7775 */ // GIR_Coverage, 242,
3759 /* 7775 */ GIR_EraseRootFromParent_Done,
3760 /* 7776 */ // Label 278: @7776
3761 /* 7776 */ GIM_Try, /*On fail goto*//*Label 279*/ GIMT_Encode4(7804), // Rule ID 250 //
3762 /* 7781 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3763 /* 7784 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3764 /* 7788 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3765 /* 7792 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
3766 /* 7792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r_ND),
3767 /* 7795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3768 /* 7797 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3769 /* 7799 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3770 /* 7802 */ GIR_RootConstrainSelectedInstOperands,
3771 /* 7803 */ // GIR_Coverage, 250,
3772 /* 7803 */ GIR_EraseRootFromParent_Done,
3773 /* 7804 */ // Label 279: @7804
3774 /* 7804 */ GIM_Try, /*On fail goto*//*Label 280*/ GIMT_Encode4(7829), // Rule ID 258 //
3775 /* 7809 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
3776 /* 7812 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
3777 /* 7816 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3778 /* 7820 */ // (sub:{ *:[i64] } 0:{ *:[i64] }, GR64:{ *:[i64] }:$src1) => (NEG64r_NF_ND:{ *:[i64] } GR64:{ *:[i64] }:$src1)
3779 /* 7820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64r_NF_ND),
3780 /* 7823 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3781 /* 7825 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
3782 /* 7827 */ GIR_RootConstrainSelectedInstOperands,
3783 /* 7828 */ // GIR_Coverage, 258,
3784 /* 7828 */ GIR_EraseRootFromParent_Done,
3785 /* 7829 */ // Label 280: @7829
3786 /* 7829 */ GIM_Try, /*On fail goto*//*Label 281*/ GIMT_Encode4(7870), // Rule ID 22919 //
3787 /* 7834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDDI),
3788 /* 7837 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3789 /* 7841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3790 /* 7845 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3791 /* 7849 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
3792 /* 7853 */ // MIs[1] Operand 1
3793 /* 7853 */ // No operand predicates
3794 /* 7853 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3795 /* 7855 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (SUB64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
3796 /* 7855 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32),
3797 /* 7858 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3798 /* 7860 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3799 /* 7862 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3800 /* 7865 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3801 /* 7868 */ GIR_RootConstrainSelectedInstOperands,
3802 /* 7869 */ // GIR_Coverage, 22919,
3803 /* 7869 */ GIR_EraseRootFromParent_Done,
3804 /* 7870 */ // Label 281: @7870
3805 /* 7870 */ GIM_Try, /*On fail goto*//*Label 282*/ GIMT_Encode4(7911), // Rule ID 23009 //
3806 /* 7875 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDDI),
3807 /* 7878 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3808 /* 7882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3809 /* 7886 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
3810 /* 7890 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
3811 /* 7894 */ // MIs[1] Operand 1
3812 /* 7894 */ // No operand predicates
3813 /* 7894 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3814 /* 7896 */ // (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 /* 7896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64ri32_ND),
3816 /* 7899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3817 /* 7901 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3818 /* 7903 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
3819 /* 7906 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
3820 /* 7909 */ GIR_RootConstrainSelectedInstOperands,
3821 /* 7910 */ // GIR_Coverage, 23009,
3822 /* 7910 */ GIR_EraseRootFromParent_Done,
3823 /* 7911 */ // Label 282: @7911
3824 /* 7911 */ GIM_Try, /*On fail goto*//*Label 283*/ GIMT_Encode4(7940), // Rule ID 22864 //
3825 /* 7916 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
3826 /* 7919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3827 /* 7923 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3828 /* 7927 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (SUB64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
3829 /* 7927 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB64rr),
3830 /* 7932 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3831 /* 7938 */ GIR_RootConstrainSelectedInstOperands,
3832 /* 7939 */ // GIR_Coverage, 22864,
3833 /* 7939 */ GIR_Done,
3834 /* 7940 */ // Label 283: @7940
3835 /* 7940 */ GIM_Try, /*On fail goto*//*Label 284*/ GIMT_Encode4(7969), // Rule ID 22954 //
3836 /* 7945 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
3837 /* 7948 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3838 /* 7952 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
3839 /* 7956 */ // (sub:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (SUB64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
3840 /* 7956 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB64rr_ND),
3841 /* 7961 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
3842 /* 7967 */ GIR_RootConstrainSelectedInstOperands,
3843 /* 7968 */ // GIR_Coverage, 22954,
3844 /* 7968 */ GIR_Done,
3845 /* 7969 */ // Label 284: @7969
3846 /* 7969 */ GIM_Reject,
3847 /* 7970 */ // Label 276: @7970
3848 /* 7970 */ GIM_Reject,
3849 /* 7971 */ // Label 236: @7971
3850 /* 7971 */ GIM_Try, /*On fail goto*//*Label 285*/ GIMT_Encode4(8188),
3851 /* 7976 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
3852 /* 7979 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
3853 /* 7982 */ GIM_Try, /*On fail goto*//*Label 286*/ GIMT_Encode4(8044), // Rule ID 2565 //
3854 /* 7987 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
3855 /* 7990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3856 /* 7994 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3857 /* 7998 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3858 /* 8002 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3859 /* 8006 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3860 /* 8009 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3861 /* 8013 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3862 /* 8017 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3863 /* 8019 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3864 /* 8026 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3865 /* 8026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBrm),
3866 /* 8029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3867 /* 8031 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3868 /* 8033 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3869 /* 8037 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3870 /* 8042 */ GIR_RootConstrainSelectedInstOperands,
3871 /* 8043 */ // GIR_Coverage, 2565,
3872 /* 8043 */ GIR_EraseRootFromParent_Done,
3873 /* 8044 */ // Label 286: @8044
3874 /* 8044 */ GIM_Try, /*On fail goto*//*Label 287*/ GIMT_Encode4(8106), // Rule ID 4790 //
3875 /* 8049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3876 /* 8052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3877 /* 8056 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3878 /* 8060 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3879 /* 8064 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3880 /* 8068 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3881 /* 8071 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3882 /* 8075 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3883 /* 8079 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3884 /* 8081 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3885 /* 8088 */ // (sub:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3886 /* 8088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ128rm),
3887 /* 8091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3888 /* 8093 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3889 /* 8095 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3890 /* 8099 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3891 /* 8104 */ GIR_RootConstrainSelectedInstOperands,
3892 /* 8105 */ // GIR_Coverage, 4790,
3893 /* 8105 */ GIR_EraseRootFromParent_Done,
3894 /* 8106 */ // Label 287: @8106
3895 /* 8106 */ GIM_Try, /*On fail goto*//*Label 288*/ GIMT_Encode4(8133), // Rule ID 2564 //
3896 /* 8111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
3897 /* 8114 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3898 /* 8118 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3899 /* 8122 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3900 /* 8126 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
3901 /* 8126 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBrr),
3902 /* 8131 */ GIR_RootConstrainSelectedInstOperands,
3903 /* 8132 */ // GIR_Coverage, 2564,
3904 /* 8132 */ GIR_Done,
3905 /* 8133 */ // Label 288: @8133
3906 /* 8133 */ GIM_Try, /*On fail goto*//*Label 289*/ GIMT_Encode4(8160), // Rule ID 2566 //
3907 /* 8138 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
3908 /* 8141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3909 /* 8145 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3910 /* 8149 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
3911 /* 8153 */ // (sub:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
3912 /* 8153 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBBrr),
3913 /* 8158 */ GIR_RootConstrainSelectedInstOperands,
3914 /* 8159 */ // GIR_Coverage, 2566,
3915 /* 8159 */ GIR_Done,
3916 /* 8160 */ // Label 289: @8160
3917 /* 8160 */ GIM_Try, /*On fail goto*//*Label 290*/ GIMT_Encode4(8187), // Rule ID 4787 //
3918 /* 8165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3919 /* 8168 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3920 /* 8172 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3921 /* 8176 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
3922 /* 8180 */ // (sub:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
3923 /* 8180 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ128rr),
3924 /* 8185 */ GIR_RootConstrainSelectedInstOperands,
3925 /* 8186 */ // GIR_Coverage, 4787,
3926 /* 8186 */ GIR_Done,
3927 /* 8187 */ // Label 290: @8187
3928 /* 8187 */ GIM_Reject,
3929 /* 8188 */ // Label 285: @8188
3930 /* 8188 */ GIM_Reject,
3931 /* 8189 */ // Label 237: @8189
3932 /* 8189 */ GIM_Try, /*On fail goto*//*Label 291*/ GIMT_Encode4(8379),
3933 /* 8194 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
3934 /* 8197 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
3935 /* 8200 */ GIM_Try, /*On fail goto*//*Label 292*/ GIMT_Encode4(8262), // Rule ID 2569 //
3936 /* 8205 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3937 /* 8208 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3938 /* 8212 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3939 /* 8216 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3940 /* 8220 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3941 /* 8224 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3942 /* 8227 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3943 /* 8231 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3944 /* 8235 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3945 /* 8237 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3946 /* 8244 */ // (sub:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3947 /* 8244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBYrm),
3948 /* 8247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3949 /* 8249 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3950 /* 8251 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3951 /* 8255 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3952 /* 8260 */ GIR_RootConstrainSelectedInstOperands,
3953 /* 8261 */ // GIR_Coverage, 2569,
3954 /* 8261 */ GIR_EraseRootFromParent_Done,
3955 /* 8262 */ // Label 292: @8262
3956 /* 8262 */ GIM_Try, /*On fail goto*//*Label 293*/ GIMT_Encode4(8324), // Rule ID 4784 //
3957 /* 8267 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3958 /* 8270 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3959 /* 8274 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3960 /* 8278 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
3961 /* 8282 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
3962 /* 8286 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
3963 /* 8289 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
3964 /* 8293 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
3965 /* 8297 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
3966 /* 8299 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
3967 /* 8306 */ // (sub:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
3968 /* 8306 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ256rm),
3969 /* 8309 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
3970 /* 8311 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
3971 /* 8313 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
3972 /* 8317 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
3973 /* 8322 */ GIR_RootConstrainSelectedInstOperands,
3974 /* 8323 */ // GIR_Coverage, 4784,
3975 /* 8323 */ GIR_EraseRootFromParent_Done,
3976 /* 8324 */ // Label 293: @8324
3977 /* 8324 */ GIM_Try, /*On fail goto*//*Label 294*/ GIMT_Encode4(8351), // Rule ID 2568 //
3978 /* 8329 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
3979 /* 8332 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3980 /* 8336 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3981 /* 8340 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
3982 /* 8344 */ // (sub:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
3983 /* 8344 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBYrr),
3984 /* 8349 */ GIR_RootConstrainSelectedInstOperands,
3985 /* 8350 */ // GIR_Coverage, 2568,
3986 /* 8350 */ GIR_Done,
3987 /* 8351 */ // Label 294: @8351
3988 /* 8351 */ GIM_Try, /*On fail goto*//*Label 295*/ GIMT_Encode4(8378), // Rule ID 4781 //
3989 /* 8356 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
3990 /* 8359 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3991 /* 8363 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3992 /* 8367 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
3993 /* 8371 */ // (sub:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
3994 /* 8371 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZ256rr),
3995 /* 8376 */ GIR_RootConstrainSelectedInstOperands,
3996 /* 8377 */ // GIR_Coverage, 4781,
3997 /* 8377 */ GIR_Done,
3998 /* 8378 */ // Label 295: @8378
3999 /* 8378 */ GIM_Reject,
4000 /* 8379 */ // Label 291: @8379
4001 /* 8379 */ GIM_Reject,
4002 /* 8380 */ // Label 238: @8380
4003 /* 8380 */ GIM_Try, /*On fail goto*//*Label 296*/ GIMT_Encode4(8473),
4004 /* 8385 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
4005 /* 8388 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
4006 /* 8391 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4007 /* 8395 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4008 /* 8399 */ GIM_Try, /*On fail goto*//*Label 297*/ GIMT_Encode4(8453), // Rule ID 4778 //
4009 /* 8404 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
4010 /* 8407 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4011 /* 8411 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4012 /* 8415 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4013 /* 8418 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4014 /* 8422 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4015 /* 8426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4016 /* 8428 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4017 /* 8435 */ // (sub:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
4018 /* 8435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBBZrm),
4019 /* 8438 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4020 /* 8440 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4021 /* 8442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4022 /* 8446 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4023 /* 8451 */ GIR_RootConstrainSelectedInstOperands,
4024 /* 8452 */ // GIR_Coverage, 4778,
4025 /* 8452 */ GIR_EraseRootFromParent_Done,
4026 /* 8453 */ // Label 297: @8453
4027 /* 8453 */ GIM_Try, /*On fail goto*//*Label 298*/ GIMT_Encode4(8472), // Rule ID 4775 //
4028 /* 8458 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
4029 /* 8461 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4030 /* 8465 */ // (sub:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
4031 /* 8465 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBBZrr),
4032 /* 8470 */ GIR_RootConstrainSelectedInstOperands,
4033 /* 8471 */ // GIR_Coverage, 4775,
4034 /* 8471 */ GIR_Done,
4035 /* 8472 */ // Label 298: @8472
4036 /* 8472 */ GIM_Reject,
4037 /* 8473 */ // Label 296: @8473
4038 /* 8473 */ GIM_Reject,
4039 /* 8474 */ // Label 239: @8474
4040 /* 8474 */ GIM_Try, /*On fail goto*//*Label 299*/ GIMT_Encode4(8691),
4041 /* 8479 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
4042 /* 8482 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
4043 /* 8485 */ GIM_Try, /*On fail goto*//*Label 300*/ GIMT_Encode4(8547), // Rule ID 2571 //
4044 /* 8490 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
4045 /* 8493 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4046 /* 8497 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4047 /* 8501 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4048 /* 8505 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4049 /* 8509 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4050 /* 8512 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4051 /* 8516 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4052 /* 8520 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4053 /* 8522 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4054 /* 8529 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4055 /* 8529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWrm),
4056 /* 8532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4057 /* 8534 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4058 /* 8536 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4059 /* 8540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4060 /* 8545 */ GIR_RootConstrainSelectedInstOperands,
4061 /* 8546 */ // GIR_Coverage, 2571,
4062 /* 8546 */ GIR_EraseRootFromParent_Done,
4063 /* 8547 */ // Label 300: @8547
4064 /* 8547 */ GIM_Try, /*On fail goto*//*Label 301*/ GIMT_Encode4(8609), // Rule ID 4772 //
4065 /* 8552 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4066 /* 8555 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4067 /* 8559 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4068 /* 8563 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4069 /* 8567 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4070 /* 8571 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4071 /* 8574 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4072 /* 8578 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4073 /* 8582 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4074 /* 8584 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4075 /* 8591 */ // (sub:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4076 /* 8591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ128rm),
4077 /* 8594 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4078 /* 8596 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4079 /* 8598 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4080 /* 8602 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4081 /* 8607 */ GIR_RootConstrainSelectedInstOperands,
4082 /* 8608 */ // GIR_Coverage, 4772,
4083 /* 8608 */ GIR_EraseRootFromParent_Done,
4084 /* 8609 */ // Label 301: @8609
4085 /* 8609 */ GIM_Try, /*On fail goto*//*Label 302*/ GIMT_Encode4(8636), // Rule ID 2570 //
4086 /* 8614 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
4087 /* 8617 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4088 /* 8621 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4089 /* 8625 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4090 /* 8629 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
4091 /* 8629 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWrr),
4092 /* 8634 */ GIR_RootConstrainSelectedInstOperands,
4093 /* 8635 */ // GIR_Coverage, 2570,
4094 /* 8635 */ GIR_Done,
4095 /* 8636 */ // Label 302: @8636
4096 /* 8636 */ GIM_Try, /*On fail goto*//*Label 303*/ GIMT_Encode4(8663), // Rule ID 2572 //
4097 /* 8641 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
4098 /* 8644 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4099 /* 8648 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4100 /* 8652 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4101 /* 8656 */ // (sub:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
4102 /* 8656 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBWrr),
4103 /* 8661 */ GIR_RootConstrainSelectedInstOperands,
4104 /* 8662 */ // GIR_Coverage, 2572,
4105 /* 8662 */ GIR_Done,
4106 /* 8663 */ // Label 303: @8663
4107 /* 8663 */ GIM_Try, /*On fail goto*//*Label 304*/ GIMT_Encode4(8690), // Rule ID 4769 //
4108 /* 8668 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4109 /* 8671 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4110 /* 8675 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4111 /* 8679 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4112 /* 8683 */ // (sub:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
4113 /* 8683 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ128rr),
4114 /* 8688 */ GIR_RootConstrainSelectedInstOperands,
4115 /* 8689 */ // GIR_Coverage, 4769,
4116 /* 8689 */ GIR_Done,
4117 /* 8690 */ // Label 304: @8690
4118 /* 8690 */ GIM_Reject,
4119 /* 8691 */ // Label 299: @8691
4120 /* 8691 */ GIM_Reject,
4121 /* 8692 */ // Label 240: @8692
4122 /* 8692 */ GIM_Try, /*On fail goto*//*Label 305*/ GIMT_Encode4(8882),
4123 /* 8697 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
4124 /* 8700 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
4125 /* 8703 */ GIM_Try, /*On fail goto*//*Label 306*/ GIMT_Encode4(8765), // Rule ID 2575 //
4126 /* 8708 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
4127 /* 8711 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4128 /* 8715 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4129 /* 8719 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4130 /* 8723 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4131 /* 8727 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4132 /* 8730 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4133 /* 8734 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4134 /* 8738 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4135 /* 8740 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4136 /* 8747 */ // (sub:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4137 /* 8747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWYrm),
4138 /* 8750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4139 /* 8752 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4140 /* 8754 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4141 /* 8758 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4142 /* 8763 */ GIR_RootConstrainSelectedInstOperands,
4143 /* 8764 */ // GIR_Coverage, 2575,
4144 /* 8764 */ GIR_EraseRootFromParent_Done,
4145 /* 8765 */ // Label 306: @8765
4146 /* 8765 */ GIM_Try, /*On fail goto*//*Label 307*/ GIMT_Encode4(8827), // Rule ID 4766 //
4147 /* 8770 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4148 /* 8773 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4149 /* 8777 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4150 /* 8781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4151 /* 8785 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4152 /* 8789 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4153 /* 8792 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4154 /* 8796 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4155 /* 8800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4156 /* 8802 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4157 /* 8809 */ // (sub:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4158 /* 8809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ256rm),
4159 /* 8812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4160 /* 8814 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4161 /* 8816 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4162 /* 8820 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4163 /* 8825 */ GIR_RootConstrainSelectedInstOperands,
4164 /* 8826 */ // GIR_Coverage, 4766,
4165 /* 8826 */ GIR_EraseRootFromParent_Done,
4166 /* 8827 */ // Label 307: @8827
4167 /* 8827 */ GIM_Try, /*On fail goto*//*Label 308*/ GIMT_Encode4(8854), // Rule ID 2574 //
4168 /* 8832 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
4169 /* 8835 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4170 /* 8839 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4171 /* 8843 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4172 /* 8847 */ // (sub:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
4173 /* 8847 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWYrr),
4174 /* 8852 */ GIR_RootConstrainSelectedInstOperands,
4175 /* 8853 */ // GIR_Coverage, 2574,
4176 /* 8853 */ GIR_Done,
4177 /* 8854 */ // Label 308: @8854
4178 /* 8854 */ GIM_Try, /*On fail goto*//*Label 309*/ GIMT_Encode4(8881), // Rule ID 4763 //
4179 /* 8859 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4180 /* 8862 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4181 /* 8866 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4182 /* 8870 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4183 /* 8874 */ // (sub:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
4184 /* 8874 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZ256rr),
4185 /* 8879 */ GIR_RootConstrainSelectedInstOperands,
4186 /* 8880 */ // GIR_Coverage, 4763,
4187 /* 8880 */ GIR_Done,
4188 /* 8881 */ // Label 309: @8881
4189 /* 8881 */ GIM_Reject,
4190 /* 8882 */ // Label 305: @8882
4191 /* 8882 */ GIM_Reject,
4192 /* 8883 */ // Label 241: @8883
4193 /* 8883 */ GIM_Try, /*On fail goto*//*Label 310*/ GIMT_Encode4(8976),
4194 /* 8888 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
4195 /* 8891 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
4196 /* 8894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4197 /* 8898 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4198 /* 8902 */ GIM_Try, /*On fail goto*//*Label 311*/ GIMT_Encode4(8956), // Rule ID 4760 //
4199 /* 8907 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
4200 /* 8910 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4201 /* 8914 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4202 /* 8918 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4203 /* 8921 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4204 /* 8925 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4205 /* 8929 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4206 /* 8931 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4207 /* 8938 */ // (sub:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4208 /* 8938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBWZrm),
4209 /* 8941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4210 /* 8943 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4211 /* 8945 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4212 /* 8949 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4213 /* 8954 */ GIR_RootConstrainSelectedInstOperands,
4214 /* 8955 */ // GIR_Coverage, 4760,
4215 /* 8955 */ GIR_EraseRootFromParent_Done,
4216 /* 8956 */ // Label 311: @8956
4217 /* 8956 */ GIM_Try, /*On fail goto*//*Label 312*/ GIMT_Encode4(8975), // Rule ID 4757 //
4218 /* 8961 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
4219 /* 8964 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4220 /* 8968 */ // (sub:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
4221 /* 8968 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBWZrr),
4222 /* 8973 */ GIR_RootConstrainSelectedInstOperands,
4223 /* 8974 */ // GIR_Coverage, 4757,
4224 /* 8974 */ GIR_Done,
4225 /* 8975 */ // Label 312: @8975
4226 /* 8975 */ GIM_Reject,
4227 /* 8976 */ // Label 310: @8976
4228 /* 8976 */ GIM_Reject,
4229 /* 8977 */ // Label 242: @8977
4230 /* 8977 */ GIM_Try, /*On fail goto*//*Label 313*/ GIMT_Encode4(9194),
4231 /* 8982 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
4232 /* 8985 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
4233 /* 8988 */ GIM_Try, /*On fail goto*//*Label 314*/ GIMT_Encode4(9050), // Rule ID 2577 //
4234 /* 8993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
4235 /* 8996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4236 /* 9000 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4237 /* 9004 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4238 /* 9008 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4239 /* 9012 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4240 /* 9015 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4241 /* 9019 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4242 /* 9023 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4243 /* 9025 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4244 /* 9032 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4245 /* 9032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDrm),
4246 /* 9035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4247 /* 9037 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4248 /* 9039 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4249 /* 9043 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4250 /* 9048 */ GIR_RootConstrainSelectedInstOperands,
4251 /* 9049 */ // GIR_Coverage, 2577,
4252 /* 9049 */ GIR_EraseRootFromParent_Done,
4253 /* 9050 */ // Label 314: @9050
4254 /* 9050 */ GIM_Try, /*On fail goto*//*Label 315*/ GIMT_Encode4(9112), // Rule ID 4751 //
4255 /* 9055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4256 /* 9058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4257 /* 9062 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4258 /* 9066 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4259 /* 9070 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4260 /* 9074 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4261 /* 9077 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4262 /* 9081 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4263 /* 9085 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4264 /* 9087 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4265 /* 9094 */ // (sub:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4266 /* 9094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ128rm),
4267 /* 9097 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4268 /* 9099 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4269 /* 9101 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4270 /* 9105 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4271 /* 9110 */ GIR_RootConstrainSelectedInstOperands,
4272 /* 9111 */ // GIR_Coverage, 4751,
4273 /* 9111 */ GIR_EraseRootFromParent_Done,
4274 /* 9112 */ // Label 315: @9112
4275 /* 9112 */ GIM_Try, /*On fail goto*//*Label 316*/ GIMT_Encode4(9139), // Rule ID 2576 //
4276 /* 9117 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
4277 /* 9120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4278 /* 9124 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4279 /* 9128 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4280 /* 9132 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPSUBDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
4281 /* 9132 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDrr),
4282 /* 9137 */ GIR_RootConstrainSelectedInstOperands,
4283 /* 9138 */ // GIR_Coverage, 2576,
4284 /* 9138 */ GIR_Done,
4285 /* 9139 */ // Label 316: @9139
4286 /* 9139 */ GIM_Try, /*On fail goto*//*Label 317*/ GIMT_Encode4(9166), // Rule ID 2578 //
4287 /* 9144 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
4288 /* 9147 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4289 /* 9151 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4290 /* 9155 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4291 /* 9159 */ // (sub:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PSUBDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
4292 /* 9159 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBDrr),
4293 /* 9164 */ GIR_RootConstrainSelectedInstOperands,
4294 /* 9165 */ // GIR_Coverage, 2578,
4295 /* 9165 */ GIR_Done,
4296 /* 9166 */ // Label 317: @9166
4297 /* 9166 */ GIM_Try, /*On fail goto*//*Label 318*/ GIMT_Encode4(9193), // Rule ID 4748 //
4298 /* 9171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4299 /* 9174 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4300 /* 9178 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4301 /* 9182 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4302 /* 9186 */ // (sub:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPSUBDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
4303 /* 9186 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ128rr),
4304 /* 9191 */ GIR_RootConstrainSelectedInstOperands,
4305 /* 9192 */ // GIR_Coverage, 4748,
4306 /* 9192 */ GIR_Done,
4307 /* 9193 */ // Label 318: @9193
4308 /* 9193 */ GIM_Reject,
4309 /* 9194 */ // Label 313: @9194
4310 /* 9194 */ GIM_Reject,
4311 /* 9195 */ // Label 243: @9195
4312 /* 9195 */ GIM_Try, /*On fail goto*//*Label 319*/ GIMT_Encode4(9385),
4313 /* 9200 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
4314 /* 9203 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
4315 /* 9206 */ GIM_Try, /*On fail goto*//*Label 320*/ GIMT_Encode4(9268), // Rule ID 2581 //
4316 /* 9211 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
4317 /* 9214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4318 /* 9218 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4319 /* 9222 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4320 /* 9226 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4321 /* 9230 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4322 /* 9233 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4323 /* 9237 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4324 /* 9241 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4325 /* 9243 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4326 /* 9250 */ // (sub:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4327 /* 9250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDYrm),
4328 /* 9253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4329 /* 9255 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4330 /* 9257 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4331 /* 9261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4332 /* 9266 */ GIR_RootConstrainSelectedInstOperands,
4333 /* 9267 */ // GIR_Coverage, 2581,
4334 /* 9267 */ GIR_EraseRootFromParent_Done,
4335 /* 9268 */ // Label 320: @9268
4336 /* 9268 */ GIM_Try, /*On fail goto*//*Label 321*/ GIMT_Encode4(9330), // Rule ID 4742 //
4337 /* 9273 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4338 /* 9276 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4339 /* 9280 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4340 /* 9284 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4341 /* 9288 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4342 /* 9292 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4343 /* 9295 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4344 /* 9299 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4345 /* 9303 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4346 /* 9305 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4347 /* 9312 */ // (sub:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4348 /* 9312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ256rm),
4349 /* 9315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4350 /* 9317 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4351 /* 9319 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4352 /* 9323 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4353 /* 9328 */ GIR_RootConstrainSelectedInstOperands,
4354 /* 9329 */ // GIR_Coverage, 4742,
4355 /* 9329 */ GIR_EraseRootFromParent_Done,
4356 /* 9330 */ // Label 321: @9330
4357 /* 9330 */ GIM_Try, /*On fail goto*//*Label 322*/ GIMT_Encode4(9357), // Rule ID 2580 //
4358 /* 9335 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
4359 /* 9338 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4360 /* 9342 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4361 /* 9346 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4362 /* 9350 */ // (sub:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPSUBDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
4363 /* 9350 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDYrr),
4364 /* 9355 */ GIR_RootConstrainSelectedInstOperands,
4365 /* 9356 */ // GIR_Coverage, 2580,
4366 /* 9356 */ GIR_Done,
4367 /* 9357 */ // Label 322: @9357
4368 /* 9357 */ GIM_Try, /*On fail goto*//*Label 323*/ GIMT_Encode4(9384), // Rule ID 4739 //
4369 /* 9362 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4370 /* 9365 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4371 /* 9369 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4372 /* 9373 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4373 /* 9377 */ // (sub:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPSUBDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
4374 /* 9377 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZ256rr),
4375 /* 9382 */ GIR_RootConstrainSelectedInstOperands,
4376 /* 9383 */ // GIR_Coverage, 4739,
4377 /* 9383 */ GIR_Done,
4378 /* 9384 */ // Label 323: @9384
4379 /* 9384 */ GIM_Reject,
4380 /* 9385 */ // Label 319: @9385
4381 /* 9385 */ GIM_Reject,
4382 /* 9386 */ // Label 244: @9386
4383 /* 9386 */ GIM_Try, /*On fail goto*//*Label 324*/ GIMT_Encode4(9479),
4384 /* 9391 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
4385 /* 9394 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
4386 /* 9397 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4387 /* 9401 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4388 /* 9405 */ GIM_Try, /*On fail goto*//*Label 325*/ GIMT_Encode4(9459), // Rule ID 4733 //
4389 /* 9410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
4390 /* 9413 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4391 /* 9417 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4392 /* 9421 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4393 /* 9424 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4394 /* 9428 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4395 /* 9432 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4396 /* 9434 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4397 /* 9441 */ // (sub:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
4398 /* 9441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBDZrm),
4399 /* 9444 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4400 /* 9446 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4401 /* 9448 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4402 /* 9452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4403 /* 9457 */ GIR_RootConstrainSelectedInstOperands,
4404 /* 9458 */ // GIR_Coverage, 4733,
4405 /* 9458 */ GIR_EraseRootFromParent_Done,
4406 /* 9459 */ // Label 325: @9459
4407 /* 9459 */ GIM_Try, /*On fail goto*//*Label 326*/ GIMT_Encode4(9478), // Rule ID 4730 //
4408 /* 9464 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
4409 /* 9467 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4410 /* 9471 */ // (sub:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPSUBDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
4411 /* 9471 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBDZrr),
4412 /* 9476 */ GIR_RootConstrainSelectedInstOperands,
4413 /* 9477 */ // GIR_Coverage, 4730,
4414 /* 9477 */ GIR_Done,
4415 /* 9478 */ // Label 326: @9478
4416 /* 9478 */ GIM_Reject,
4417 /* 9479 */ // Label 324: @9479
4418 /* 9479 */ GIM_Reject,
4419 /* 9480 */ // Label 245: @9480
4420 /* 9480 */ GIM_Try, /*On fail goto*//*Label 327*/ GIMT_Encode4(9697),
4421 /* 9485 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
4422 /* 9488 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
4423 /* 9491 */ GIM_Try, /*On fail goto*//*Label 328*/ GIMT_Encode4(9553), // Rule ID 2583 //
4424 /* 9496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
4425 /* 9499 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4426 /* 9503 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4427 /* 9507 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4428 /* 9511 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4429 /* 9515 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4430 /* 9518 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4431 /* 9522 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4432 /* 9526 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4433 /* 9528 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4434 /* 9535 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4435 /* 9535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQrm),
4436 /* 9538 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4437 /* 9540 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4438 /* 9542 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4439 /* 9546 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4440 /* 9551 */ GIR_RootConstrainSelectedInstOperands,
4441 /* 9552 */ // GIR_Coverage, 2583,
4442 /* 9552 */ GIR_EraseRootFromParent_Done,
4443 /* 9553 */ // Label 328: @9553
4444 /* 9553 */ GIM_Try, /*On fail goto*//*Label 329*/ GIMT_Encode4(9615), // Rule ID 4724 //
4445 /* 9558 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4446 /* 9561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4447 /* 9565 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4448 /* 9569 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4449 /* 9573 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4450 /* 9577 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4451 /* 9580 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4452 /* 9584 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4453 /* 9588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4454 /* 9590 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4455 /* 9597 */ // (sub:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4456 /* 9597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ128rm),
4457 /* 9600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4458 /* 9602 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4459 /* 9604 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4460 /* 9608 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4461 /* 9613 */ GIR_RootConstrainSelectedInstOperands,
4462 /* 9614 */ // GIR_Coverage, 4724,
4463 /* 9614 */ GIR_EraseRootFromParent_Done,
4464 /* 9615 */ // Label 329: @9615
4465 /* 9615 */ GIM_Try, /*On fail goto*//*Label 330*/ GIMT_Encode4(9642), // Rule ID 2582 //
4466 /* 9620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
4467 /* 9623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4468 /* 9627 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4469 /* 9631 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4470 /* 9635 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPSUBQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
4471 /* 9635 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQrr),
4472 /* 9640 */ GIR_RootConstrainSelectedInstOperands,
4473 /* 9641 */ // GIR_Coverage, 2582,
4474 /* 9641 */ GIR_Done,
4475 /* 9642 */ // Label 330: @9642
4476 /* 9642 */ GIM_Try, /*On fail goto*//*Label 331*/ GIMT_Encode4(9669), // Rule ID 2584 //
4477 /* 9647 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
4478 /* 9650 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4479 /* 9654 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4480 /* 9658 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4481 /* 9662 */ // (sub:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PSUBQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
4482 /* 9662 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBQrr),
4483 /* 9667 */ GIR_RootConstrainSelectedInstOperands,
4484 /* 9668 */ // GIR_Coverage, 2584,
4485 /* 9668 */ GIR_Done,
4486 /* 9669 */ // Label 331: @9669
4487 /* 9669 */ GIM_Try, /*On fail goto*//*Label 332*/ GIMT_Encode4(9696), // Rule ID 4721 //
4488 /* 9674 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4489 /* 9677 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4490 /* 9681 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4491 /* 9685 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4492 /* 9689 */ // (sub:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPSUBQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
4493 /* 9689 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ128rr),
4494 /* 9694 */ GIR_RootConstrainSelectedInstOperands,
4495 /* 9695 */ // GIR_Coverage, 4721,
4496 /* 9695 */ GIR_Done,
4497 /* 9696 */ // Label 332: @9696
4498 /* 9696 */ GIM_Reject,
4499 /* 9697 */ // Label 327: @9697
4500 /* 9697 */ GIM_Reject,
4501 /* 9698 */ // Label 246: @9698
4502 /* 9698 */ GIM_Try, /*On fail goto*//*Label 333*/ GIMT_Encode4(9888),
4503 /* 9703 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
4504 /* 9706 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
4505 /* 9709 */ GIM_Try, /*On fail goto*//*Label 334*/ GIMT_Encode4(9771), // Rule ID 2587 //
4506 /* 9714 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
4507 /* 9717 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4508 /* 9721 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4509 /* 9725 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4510 /* 9729 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4511 /* 9733 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4512 /* 9736 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4513 /* 9740 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4514 /* 9744 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4515 /* 9746 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4516 /* 9753 */ // (sub:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4517 /* 9753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQYrm),
4518 /* 9756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4519 /* 9758 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4520 /* 9760 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4521 /* 9764 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4522 /* 9769 */ GIR_RootConstrainSelectedInstOperands,
4523 /* 9770 */ // GIR_Coverage, 2587,
4524 /* 9770 */ GIR_EraseRootFromParent_Done,
4525 /* 9771 */ // Label 334: @9771
4526 /* 9771 */ GIM_Try, /*On fail goto*//*Label 335*/ GIMT_Encode4(9833), // Rule ID 4715 //
4527 /* 9776 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4528 /* 9779 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4529 /* 9783 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4530 /* 9787 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4531 /* 9791 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4532 /* 9795 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4533 /* 9798 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4534 /* 9802 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4535 /* 9806 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4536 /* 9808 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4537 /* 9815 */ // (sub:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4538 /* 9815 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ256rm),
4539 /* 9818 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4540 /* 9820 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4541 /* 9822 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4542 /* 9826 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4543 /* 9831 */ GIR_RootConstrainSelectedInstOperands,
4544 /* 9832 */ // GIR_Coverage, 4715,
4545 /* 9832 */ GIR_EraseRootFromParent_Done,
4546 /* 9833 */ // Label 335: @9833
4547 /* 9833 */ GIM_Try, /*On fail goto*//*Label 336*/ GIMT_Encode4(9860), // Rule ID 2586 //
4548 /* 9838 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
4549 /* 9841 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4550 /* 9845 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4551 /* 9849 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
4552 /* 9853 */ // (sub:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPSUBQYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
4553 /* 9853 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQYrr),
4554 /* 9858 */ GIR_RootConstrainSelectedInstOperands,
4555 /* 9859 */ // GIR_Coverage, 2586,
4556 /* 9859 */ GIR_Done,
4557 /* 9860 */ // Label 336: @9860
4558 /* 9860 */ GIM_Try, /*On fail goto*//*Label 337*/ GIMT_Encode4(9887), // Rule ID 4712 //
4559 /* 9865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
4560 /* 9868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4561 /* 9872 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4562 /* 9876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
4563 /* 9880 */ // (sub:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPSUBQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
4564 /* 9880 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZ256rr),
4565 /* 9885 */ GIR_RootConstrainSelectedInstOperands,
4566 /* 9886 */ // GIR_Coverage, 4712,
4567 /* 9886 */ GIR_Done,
4568 /* 9887 */ // Label 337: @9887
4569 /* 9887 */ GIM_Reject,
4570 /* 9888 */ // Label 333: @9888
4571 /* 9888 */ GIM_Reject,
4572 /* 9889 */ // Label 247: @9889
4573 /* 9889 */ GIM_Try, /*On fail goto*//*Label 338*/ GIMT_Encode4(9982),
4574 /* 9894 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
4575 /* 9897 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
4576 /* 9900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4577 /* 9904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4578 /* 9908 */ GIM_Try, /*On fail goto*//*Label 339*/ GIMT_Encode4(9962), // Rule ID 4706 //
4579 /* 9913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
4580 /* 9916 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4581 /* 9920 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4582 /* 9924 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4583 /* 9927 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4584 /* 9931 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4585 /* 9935 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4586 /* 9937 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4587 /* 9944 */ // (sub:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
4588 /* 9944 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBQZrm),
4589 /* 9947 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4590 /* 9949 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4591 /* 9951 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4592 /* 9955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4593 /* 9960 */ GIR_RootConstrainSelectedInstOperands,
4594 /* 9961 */ // GIR_Coverage, 4706,
4595 /* 9961 */ GIR_EraseRootFromParent_Done,
4596 /* 9962 */ // Label 339: @9962
4597 /* 9962 */ GIM_Try, /*On fail goto*//*Label 340*/ GIMT_Encode4(9981), // Rule ID 4703 //
4598 /* 9967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
4599 /* 9970 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
4600 /* 9974 */ // (sub:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPSUBQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
4601 /* 9974 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBQZrr),
4602 /* 9979 */ GIR_RootConstrainSelectedInstOperands,
4603 /* 9980 */ // GIR_Coverage, 4703,
4604 /* 9980 */ GIR_Done,
4605 /* 9981 */ // Label 340: @9981
4606 /* 9981 */ GIM_Reject,
4607 /* 9982 */ // Label 338: @9982
4608 /* 9982 */ GIM_Reject,
4609 /* 9983 */ // Label 248: @9983
4610 /* 9983 */ GIM_Reject,
4611 /* 9984 */ // Label 2: @9984
4612 /* 9984 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 353*/ GIMT_Encode4(13408),
4613 /* 9995 */ /*GILLT_s16*//*Label 341*/ GIMT_Encode4(10087),
4614 /* 9999 */ /*GILLT_s32*//*Label 342*/ GIMT_Encode4(10382),
4615 /* 10003 */ /*GILLT_s64*//*Label 343*/ GIMT_Encode4(10677), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
4616 /* 10051 */ /*GILLT_v8s16*//*Label 344*/ GIMT_Encode4(10980),
4617 /* 10055 */ /*GILLT_v16s16*//*Label 345*/ GIMT_Encode4(11322),
4618 /* 10059 */ /*GILLT_v32s16*//*Label 346*/ GIMT_Encode4(11637),
4619 /* 10063 */ /*GILLT_v4s32*//*Label 347*/ GIMT_Encode4(11793),
4620 /* 10067 */ /*GILLT_v8s32*//*Label 348*/ GIMT_Encode4(12135),
4621 /* 10071 */ /*GILLT_v16s32*//*Label 349*/ GIMT_Encode4(12450),
4622 /* 10075 */ /*GILLT_v2s64*//*Label 350*/ GIMT_Encode4(12606),
4623 /* 10079 */ /*GILLT_v4s64*//*Label 351*/ GIMT_Encode4(12935),
4624 /* 10083 */ /*GILLT_v8s64*//*Label 352*/ GIMT_Encode4(13252),
4625 /* 10087 */ // Label 341: @10087
4626 /* 10087 */ GIM_Try, /*On fail goto*//*Label 354*/ GIMT_Encode4(10381),
4627 /* 10092 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
4628 /* 10095 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
4629 /* 10098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4630 /* 10102 */ GIM_Try, /*On fail goto*//*Label 355*/ GIMT_Encode4(10166), // Rule ID 23037 //
4631 /* 10107 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4632 /* 10111 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4633 /* 10115 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4634 /* 10118 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4635 /* 10122 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4636 /* 10126 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
4637 /* 10130 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4638 /* 10134 */ // MIs[2] Operand 1
4639 /* 10134 */ // No operand predicates
4640 /* 10134 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
4641 /* 10136 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4642 /* 10143 */ // (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 /* 10143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rmi),
4644 /* 10146 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4645 /* 10148 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
4646 /* 10152 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
4647 /* 10155 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4648 /* 10158 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
4649 /* 10164 */ GIR_RootConstrainSelectedInstOperands,
4650 /* 10165 */ // GIR_Coverage, 23037,
4651 /* 10165 */ GIR_EraseRootFromParent_Done,
4652 /* 10166 */ // Label 355: @10166
4653 /* 10166 */ GIM_Try, /*On fail goto*//*Label 356*/ GIMT_Encode4(10227), // Rule ID 26116 //
4654 /* 10171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4655 /* 10174 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4656 /* 10178 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4657 /* 10182 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4658 /* 10185 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4659 /* 10189 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4660 /* 10193 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4661 /* 10197 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4662 /* 10199 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4663 /* 10206 */ // (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 /* 10206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rm),
4665 /* 10209 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4666 /* 10211 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4667 /* 10213 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4668 /* 10217 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4669 /* 10220 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4670 /* 10225 */ GIR_RootConstrainSelectedInstOperands,
4671 /* 10226 */ // GIR_Coverage, 26116,
4672 /* 10226 */ GIR_EraseRootFromParent_Done,
4673 /* 10227 */ // Label 356: @10227
4674 /* 10227 */ GIM_Try, /*On fail goto*//*Label 357*/ GIMT_Encode4(10288), // Rule ID 22879 //
4675 /* 10232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4676 /* 10235 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4677 /* 10239 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4678 /* 10243 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4679 /* 10247 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4680 /* 10250 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4681 /* 10254 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
4682 /* 10258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4683 /* 10260 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4684 /* 10267 */ // (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 /* 10267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rm),
4686 /* 10270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4687 /* 10272 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4688 /* 10274 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4689 /* 10278 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4690 /* 10281 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4691 /* 10286 */ GIR_RootConstrainSelectedInstOperands,
4692 /* 10287 */ // GIR_Coverage, 22879,
4693 /* 10287 */ GIR_EraseRootFromParent_Done,
4694 /* 10288 */ // Label 357: @10288
4695 /* 10288 */ GIM_Try, /*On fail goto*//*Label 358*/ GIMT_Encode4(10322), // Rule ID 23034 //
4696 /* 10293 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4697 /* 10297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4698 /* 10301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4699 /* 10305 */ // MIs[1] Operand 1
4700 /* 10305 */ // No operand predicates
4701 /* 10305 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4702 /* 10307 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (IMUL16rri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
4703 /* 10307 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL16rri),
4704 /* 10310 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4705 /* 10312 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4706 /* 10314 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
4707 /* 10317 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4708 /* 10320 */ GIR_RootConstrainSelectedInstOperands,
4709 /* 10321 */ // GIR_Coverage, 23034,
4710 /* 10321 */ GIR_EraseRootFromParent_Done,
4711 /* 10322 */ // Label 358: @10322
4712 /* 10322 */ GIM_Try, /*On fail goto*//*Label 359*/ GIMT_Encode4(10351), // Rule ID 22876 //
4713 /* 10327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4714 /* 10330 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4715 /* 10334 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4716 /* 10338 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (IMUL16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
4717 /* 10338 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL16rr),
4718 /* 10343 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4719 /* 10349 */ GIR_RootConstrainSelectedInstOperands,
4720 /* 10350 */ // GIR_Coverage, 22876,
4721 /* 10350 */ GIR_Done,
4722 /* 10351 */ // Label 359: @10351
4723 /* 10351 */ GIM_Try, /*On fail goto*//*Label 360*/ GIMT_Encode4(10380), // Rule ID 22966 //
4724 /* 10356 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
4725 /* 10359 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4726 /* 10363 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
4727 /* 10367 */ // (mul:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (IMUL16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
4728 /* 10367 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL16rr_ND),
4729 /* 10372 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4730 /* 10378 */ GIR_RootConstrainSelectedInstOperands,
4731 /* 10379 */ // GIR_Coverage, 22966,
4732 /* 10379 */ GIR_Done,
4733 /* 10380 */ // Label 360: @10380
4734 /* 10380 */ GIM_Reject,
4735 /* 10381 */ // Label 354: @10381
4736 /* 10381 */ GIM_Reject,
4737 /* 10382 */ // Label 342: @10382
4738 /* 10382 */ GIM_Try, /*On fail goto*//*Label 361*/ GIMT_Encode4(10676),
4739 /* 10387 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
4740 /* 10390 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
4741 /* 10393 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4742 /* 10397 */ GIM_Try, /*On fail goto*//*Label 362*/ GIMT_Encode4(10461), // Rule ID 23038 //
4743 /* 10402 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4744 /* 10406 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4745 /* 10410 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4746 /* 10413 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4747 /* 10417 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
4748 /* 10421 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
4749 /* 10425 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4750 /* 10429 */ // MIs[2] Operand 1
4751 /* 10429 */ // No operand predicates
4752 /* 10429 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
4753 /* 10431 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4754 /* 10438 */ // (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 /* 10438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rmi),
4756 /* 10441 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4757 /* 10443 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
4758 /* 10447 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
4759 /* 10450 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4760 /* 10453 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
4761 /* 10459 */ GIR_RootConstrainSelectedInstOperands,
4762 /* 10460 */ // GIR_Coverage, 23038,
4763 /* 10460 */ GIR_EraseRootFromParent_Done,
4764 /* 10461 */ // Label 362: @10461
4765 /* 10461 */ GIM_Try, /*On fail goto*//*Label 363*/ GIMT_Encode4(10522), // Rule ID 26117 //
4766 /* 10466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4767 /* 10469 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4768 /* 10473 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4769 /* 10477 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4770 /* 10480 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4771 /* 10484 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
4772 /* 10488 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4773 /* 10492 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4774 /* 10494 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4775 /* 10501 */ // (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 /* 10501 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rm),
4777 /* 10504 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4778 /* 10506 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4779 /* 10508 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4780 /* 10512 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4781 /* 10515 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4782 /* 10520 */ GIR_RootConstrainSelectedInstOperands,
4783 /* 10521 */ // GIR_Coverage, 26117,
4784 /* 10521 */ GIR_EraseRootFromParent_Done,
4785 /* 10522 */ // Label 363: @10522
4786 /* 10522 */ GIM_Try, /*On fail goto*//*Label 364*/ GIMT_Encode4(10583), // Rule ID 22880 //
4787 /* 10527 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4788 /* 10530 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4789 /* 10534 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4790 /* 10538 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4791 /* 10542 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4792 /* 10545 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4793 /* 10549 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
4794 /* 10553 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4795 /* 10555 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4796 /* 10562 */ // (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 /* 10562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rm),
4798 /* 10565 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4799 /* 10567 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4800 /* 10569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4801 /* 10573 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4802 /* 10576 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4803 /* 10581 */ GIR_RootConstrainSelectedInstOperands,
4804 /* 10582 */ // GIR_Coverage, 22880,
4805 /* 10582 */ GIR_EraseRootFromParent_Done,
4806 /* 10583 */ // Label 364: @10583
4807 /* 10583 */ GIM_Try, /*On fail goto*//*Label 365*/ GIMT_Encode4(10617), // Rule ID 23035 //
4808 /* 10588 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4809 /* 10592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4810 /* 10596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4811 /* 10600 */ // MIs[1] Operand 1
4812 /* 10600 */ // No operand predicates
4813 /* 10600 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4814 /* 10602 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (IMUL32rri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
4815 /* 10602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL32rri),
4816 /* 10605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4817 /* 10607 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4818 /* 10609 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
4819 /* 10612 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4820 /* 10615 */ GIR_RootConstrainSelectedInstOperands,
4821 /* 10616 */ // GIR_Coverage, 23035,
4822 /* 10616 */ GIR_EraseRootFromParent_Done,
4823 /* 10617 */ // Label 365: @10617
4824 /* 10617 */ GIM_Try, /*On fail goto*//*Label 366*/ GIMT_Encode4(10646), // Rule ID 22877 //
4825 /* 10622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4826 /* 10625 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4827 /* 10629 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4828 /* 10633 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (IMUL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
4829 /* 10633 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL32rr),
4830 /* 10638 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4831 /* 10644 */ GIR_RootConstrainSelectedInstOperands,
4832 /* 10645 */ // GIR_Coverage, 22877,
4833 /* 10645 */ GIR_Done,
4834 /* 10646 */ // Label 366: @10646
4835 /* 10646 */ GIM_Try, /*On fail goto*//*Label 367*/ GIMT_Encode4(10675), // Rule ID 22967 //
4836 /* 10651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
4837 /* 10654 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4838 /* 10658 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
4839 /* 10662 */ // (mul:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (IMUL32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
4840 /* 10662 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL32rr_ND),
4841 /* 10667 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4842 /* 10673 */ GIR_RootConstrainSelectedInstOperands,
4843 /* 10674 */ // GIR_Coverage, 22967,
4844 /* 10674 */ GIR_Done,
4845 /* 10675 */ // Label 367: @10675
4846 /* 10675 */ GIM_Reject,
4847 /* 10676 */ // Label 361: @10676
4848 /* 10676 */ GIM_Reject,
4849 /* 10677 */ // Label 343: @10677
4850 /* 10677 */ GIM_Try, /*On fail goto*//*Label 368*/ GIMT_Encode4(10979),
4851 /* 10682 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
4852 /* 10685 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
4853 /* 10688 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4854 /* 10692 */ GIM_Try, /*On fail goto*//*Label 369*/ GIMT_Encode4(10760), // Rule ID 23039 //
4855 /* 10697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4856 /* 10701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4857 /* 10705 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4858 /* 10708 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4859 /* 10712 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4860 /* 10716 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
4861 /* 10720 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4862 /* 10724 */ GIM_CheckI64ImmPredicate, /*MI*/2, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
4863 /* 10728 */ // MIs[2] Operand 1
4864 /* 10728 */ // No operand predicates
4865 /* 10728 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
4866 /* 10730 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4867 /* 10737 */ // (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 /* 10737 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rmi32),
4869 /* 10740 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4870 /* 10742 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
4871 /* 10746 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // src2
4872 /* 10749 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4873 /* 10752 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
4874 /* 10758 */ GIR_RootConstrainSelectedInstOperands,
4875 /* 10759 */ // GIR_Coverage, 23039,
4876 /* 10759 */ GIR_EraseRootFromParent_Done,
4877 /* 10760 */ // Label 369: @10760
4878 /* 10760 */ GIM_Try, /*On fail goto*//*Label 370*/ GIMT_Encode4(10821), // Rule ID 26118 //
4879 /* 10765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4880 /* 10768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4881 /* 10772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4882 /* 10776 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4883 /* 10779 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4884 /* 10783 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4885 /* 10787 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4886 /* 10791 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4887 /* 10793 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4888 /* 10800 */ // (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 /* 10800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rm),
4890 /* 10803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4891 /* 10805 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4892 /* 10807 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4893 /* 10811 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4894 /* 10814 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4895 /* 10819 */ GIR_RootConstrainSelectedInstOperands,
4896 /* 10820 */ // GIR_Coverage, 26118,
4897 /* 10820 */ GIR_EraseRootFromParent_Done,
4898 /* 10821 */ // Label 370: @10821
4899 /* 10821 */ GIM_Try, /*On fail goto*//*Label 371*/ GIMT_Encode4(10882), // Rule ID 22881 //
4900 /* 10826 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4901 /* 10829 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4902 /* 10833 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4903 /* 10837 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4904 /* 10841 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4905 /* 10844 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4906 /* 10848 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4907 /* 10852 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4908 /* 10854 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4909 /* 10861 */ // (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 /* 10861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rm),
4911 /* 10864 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4912 /* 10866 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4913 /* 10868 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4914 /* 10872 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4915 /* 10875 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4916 /* 10880 */ GIR_RootConstrainSelectedInstOperands,
4917 /* 10881 */ // GIR_Coverage, 22881,
4918 /* 10881 */ GIR_EraseRootFromParent_Done,
4919 /* 10882 */ // Label 371: @10882
4920 /* 10882 */ GIM_Try, /*On fail goto*//*Label 372*/ GIMT_Encode4(10920), // Rule ID 23036 //
4921 /* 10887 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4922 /* 10891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
4923 /* 10895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
4924 /* 10899 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
4925 /* 10903 */ // MIs[1] Operand 1
4926 /* 10903 */ // No operand predicates
4927 /* 10903 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4928 /* 10905 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (IMUL64rri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
4929 /* 10905 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::IMUL64rri32),
4930 /* 10908 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4931 /* 10910 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
4932 /* 10912 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
4933 /* 10915 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
4934 /* 10918 */ GIR_RootConstrainSelectedInstOperands,
4935 /* 10919 */ // GIR_Coverage, 23036,
4936 /* 10919 */ GIR_EraseRootFromParent_Done,
4937 /* 10920 */ // Label 372: @10920
4938 /* 10920 */ GIM_Try, /*On fail goto*//*Label 373*/ GIMT_Encode4(10949), // Rule ID 22878 //
4939 /* 10925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
4940 /* 10928 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4941 /* 10932 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4942 /* 10936 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (IMUL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
4943 /* 10936 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL64rr),
4944 /* 10941 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4945 /* 10947 */ GIR_RootConstrainSelectedInstOperands,
4946 /* 10948 */ // GIR_Coverage, 22878,
4947 /* 10948 */ GIR_Done,
4948 /* 10949 */ // Label 373: @10949
4949 /* 10949 */ GIM_Try, /*On fail goto*//*Label 374*/ GIMT_Encode4(10978), // Rule ID 22968 //
4950 /* 10954 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
4951 /* 10957 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4952 /* 10961 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
4953 /* 10965 */ // (mul:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (IMUL64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
4954 /* 10965 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::IMUL64rr_ND),
4955 /* 10970 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
4956 /* 10976 */ GIR_RootConstrainSelectedInstOperands,
4957 /* 10977 */ // GIR_Coverage, 22968,
4958 /* 10977 */ GIR_Done,
4959 /* 10978 */ // Label 374: @10978
4960 /* 10978 */ GIM_Reject,
4961 /* 10979 */ // Label 368: @10979
4962 /* 10979 */ GIM_Reject,
4963 /* 10980 */ // Label 344: @10980
4964 /* 10980 */ GIM_Try, /*On fail goto*//*Label 375*/ GIMT_Encode4(11321),
4965 /* 10985 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
4966 /* 10988 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
4967 /* 10991 */ GIM_Try, /*On fail goto*//*Label 376*/ GIMT_Encode4(11053), // Rule ID 23511 //
4968 /* 10996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
4969 /* 10999 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4970 /* 11003 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4971 /* 11007 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4972 /* 11011 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4973 /* 11014 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4974 /* 11018 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4975 /* 11022 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
4976 /* 11026 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4977 /* 11028 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4978 /* 11035 */ // (mul:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULLWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
4979 /* 11035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWrm),
4980 /* 11038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
4981 /* 11040 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
4982 /* 11042 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
4983 /* 11046 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
4984 /* 11051 */ GIR_RootConstrainSelectedInstOperands,
4985 /* 11052 */ // GIR_Coverage, 23511,
4986 /* 11052 */ GIR_EraseRootFromParent_Done,
4987 /* 11053 */ // Label 376: @11053
4988 /* 11053 */ GIM_Try, /*On fail goto*//*Label 377*/ GIMT_Encode4(11115), // Rule ID 23868 //
4989 /* 11058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
4990 /* 11061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4991 /* 11065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
4992 /* 11069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
4993 /* 11073 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
4994 /* 11076 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
4995 /* 11080 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
4996 /* 11084 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
4997 /* 11088 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
4998 /* 11090 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
4999 /* 11097 */ // (mul:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULLWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5000 /* 11097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rm),
5001 /* 11100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5002 /* 11102 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5003 /* 11104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5004 /* 11108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5005 /* 11113 */ GIR_RootConstrainSelectedInstOperands,
5006 /* 11114 */ // GIR_Coverage, 23868,
5007 /* 11114 */ GIR_EraseRootFromParent_Done,
5008 /* 11115 */ // Label 377: @11115
5009 /* 11115 */ GIM_Try, /*On fail goto*//*Label 378*/ GIMT_Encode4(11177), // Rule ID 2547 //
5010 /* 11120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
5011 /* 11123 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5012 /* 11127 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5013 /* 11131 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5014 /* 11135 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5015 /* 11139 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5016 /* 11142 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5017 /* 11146 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5018 /* 11150 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5019 /* 11152 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5020 /* 11159 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5021 /* 11159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWrm),
5022 /* 11162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5023 /* 11164 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5024 /* 11166 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5025 /* 11170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5026 /* 11175 */ GIR_RootConstrainSelectedInstOperands,
5027 /* 11176 */ // GIR_Coverage, 2547,
5028 /* 11176 */ GIR_EraseRootFromParent_Done,
5029 /* 11177 */ // Label 378: @11177
5030 /* 11177 */ GIM_Try, /*On fail goto*//*Label 379*/ GIMT_Encode4(11239), // Rule ID 4979 //
5031 /* 11182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
5032 /* 11185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5033 /* 11189 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5034 /* 11193 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5035 /* 11197 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5036 /* 11201 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5037 /* 11204 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5038 /* 11208 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5039 /* 11212 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5040 /* 11214 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5041 /* 11221 */ // (mul:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5042 /* 11221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rm),
5043 /* 11224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5044 /* 11226 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5045 /* 11228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5046 /* 11232 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5047 /* 11237 */ GIR_RootConstrainSelectedInstOperands,
5048 /* 11238 */ // GIR_Coverage, 4979,
5049 /* 11238 */ GIR_EraseRootFromParent_Done,
5050 /* 11239 */ // Label 379: @11239
5051 /* 11239 */ GIM_Try, /*On fail goto*//*Label 380*/ GIMT_Encode4(11266), // Rule ID 2546 //
5052 /* 11244 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
5053 /* 11247 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5054 /* 11251 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5055 /* 11255 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5056 /* 11259 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULLWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
5057 /* 11259 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWrr),
5058 /* 11264 */ GIR_RootConstrainSelectedInstOperands,
5059 /* 11265 */ // GIR_Coverage, 2546,
5060 /* 11265 */ GIR_Done,
5061 /* 11266 */ // Label 380: @11266
5062 /* 11266 */ GIM_Try, /*On fail goto*//*Label 381*/ GIMT_Encode4(11293), // Rule ID 2548 //
5063 /* 11271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
5064 /* 11274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5065 /* 11278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5066 /* 11282 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5067 /* 11286 */ // (mul:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULLWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
5068 /* 11286 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULLWrr),
5069 /* 11291 */ GIR_RootConstrainSelectedInstOperands,
5070 /* 11292 */ // GIR_Coverage, 2548,
5071 /* 11292 */ GIR_Done,
5072 /* 11293 */ // Label 381: @11293
5073 /* 11293 */ GIM_Try, /*On fail goto*//*Label 382*/ GIMT_Encode4(11320), // Rule ID 4976 //
5074 /* 11298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
5075 /* 11301 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5076 /* 11305 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5077 /* 11309 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5078 /* 11313 */ // (mul:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULLWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
5079 /* 11313 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ128rr),
5080 /* 11318 */ GIR_RootConstrainSelectedInstOperands,
5081 /* 11319 */ // GIR_Coverage, 4976,
5082 /* 11319 */ GIR_Done,
5083 /* 11320 */ // Label 382: @11320
5084 /* 11320 */ GIM_Reject,
5085 /* 11321 */ // Label 375: @11321
5086 /* 11321 */ GIM_Reject,
5087 /* 11322 */ // Label 345: @11322
5088 /* 11322 */ GIM_Try, /*On fail goto*//*Label 383*/ GIMT_Encode4(11636),
5089 /* 11327 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
5090 /* 11330 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
5091 /* 11333 */ GIM_Try, /*On fail goto*//*Label 384*/ GIMT_Encode4(11395), // Rule ID 23513 //
5092 /* 11338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
5093 /* 11341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5094 /* 11345 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5095 /* 11349 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5096 /* 11353 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5097 /* 11356 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5098 /* 11360 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5099 /* 11364 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5100 /* 11368 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5101 /* 11370 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5102 /* 11377 */ // (mul:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULLWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5103 /* 11377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrm),
5104 /* 11380 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5105 /* 11382 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5106 /* 11384 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5107 /* 11388 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5108 /* 11393 */ GIR_RootConstrainSelectedInstOperands,
5109 /* 11394 */ // GIR_Coverage, 23513,
5110 /* 11394 */ GIR_EraseRootFromParent_Done,
5111 /* 11395 */ // Label 384: @11395
5112 /* 11395 */ GIM_Try, /*On fail goto*//*Label 385*/ GIMT_Encode4(11457), // Rule ID 23865 //
5113 /* 11400 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
5114 /* 11403 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5115 /* 11407 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5116 /* 11411 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5117 /* 11415 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5118 /* 11418 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5119 /* 11422 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5120 /* 11426 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5121 /* 11430 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5122 /* 11432 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5123 /* 11439 */ // (mul:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULLWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5124 /* 11439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rm),
5125 /* 11442 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5126 /* 11444 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5127 /* 11446 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5128 /* 11450 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5129 /* 11455 */ GIR_RootConstrainSelectedInstOperands,
5130 /* 11456 */ // GIR_Coverage, 23865,
5131 /* 11456 */ GIR_EraseRootFromParent_Done,
5132 /* 11457 */ // Label 385: @11457
5133 /* 11457 */ GIM_Try, /*On fail goto*//*Label 386*/ GIMT_Encode4(11519), // Rule ID 2551 //
5134 /* 11462 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
5135 /* 11465 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5136 /* 11469 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5137 /* 11473 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5138 /* 11477 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5139 /* 11481 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5140 /* 11484 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5141 /* 11488 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5142 /* 11492 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5143 /* 11494 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5144 /* 11501 */ // (mul:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5145 /* 11501 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrm),
5146 /* 11504 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5147 /* 11506 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5148 /* 11508 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5149 /* 11512 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5150 /* 11517 */ GIR_RootConstrainSelectedInstOperands,
5151 /* 11518 */ // GIR_Coverage, 2551,
5152 /* 11518 */ GIR_EraseRootFromParent_Done,
5153 /* 11519 */ // Label 386: @11519
5154 /* 11519 */ GIM_Try, /*On fail goto*//*Label 387*/ GIMT_Encode4(11581), // Rule ID 4973 //
5155 /* 11524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
5156 /* 11527 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5157 /* 11531 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5158 /* 11535 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5159 /* 11539 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5160 /* 11543 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5161 /* 11546 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5162 /* 11550 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5163 /* 11554 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5164 /* 11556 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5165 /* 11563 */ // (mul:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5166 /* 11563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rm),
5167 /* 11566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5168 /* 11568 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5169 /* 11570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5170 /* 11574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5171 /* 11579 */ GIR_RootConstrainSelectedInstOperands,
5172 /* 11580 */ // GIR_Coverage, 4973,
5173 /* 11580 */ GIR_EraseRootFromParent_Done,
5174 /* 11581 */ // Label 387: @11581
5175 /* 11581 */ GIM_Try, /*On fail goto*//*Label 388*/ GIMT_Encode4(11608), // Rule ID 2550 //
5176 /* 11586 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
5177 /* 11589 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5178 /* 11593 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5179 /* 11597 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5180 /* 11601 */ // (mul:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULLWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
5181 /* 11601 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWYrr),
5182 /* 11606 */ GIR_RootConstrainSelectedInstOperands,
5183 /* 11607 */ // GIR_Coverage, 2550,
5184 /* 11607 */ GIR_Done,
5185 /* 11608 */ // Label 388: @11608
5186 /* 11608 */ GIM_Try, /*On fail goto*//*Label 389*/ GIMT_Encode4(11635), // Rule ID 4970 //
5187 /* 11613 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
5188 /* 11616 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5189 /* 11620 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5190 /* 11624 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5191 /* 11628 */ // (mul:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULLWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
5192 /* 11628 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZ256rr),
5193 /* 11633 */ GIR_RootConstrainSelectedInstOperands,
5194 /* 11634 */ // GIR_Coverage, 4970,
5195 /* 11634 */ GIR_Done,
5196 /* 11635 */ // Label 389: @11635
5197 /* 11635 */ GIM_Reject,
5198 /* 11636 */ // Label 383: @11636
5199 /* 11636 */ GIM_Reject,
5200 /* 11637 */ // Label 346: @11637
5201 /* 11637 */ GIM_Try, /*On fail goto*//*Label 390*/ GIMT_Encode4(11792),
5202 /* 11642 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
5203 /* 11645 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
5204 /* 11648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5205 /* 11652 */ GIM_Try, /*On fail goto*//*Label 391*/ GIMT_Encode4(11710), // Rule ID 23862 //
5206 /* 11657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
5207 /* 11660 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5208 /* 11664 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5209 /* 11668 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5210 /* 11671 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5211 /* 11675 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5212 /* 11679 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5213 /* 11683 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5214 /* 11685 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5215 /* 11692 */ // (mul:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULLWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5216 /* 11692 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrm),
5217 /* 11695 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5218 /* 11697 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5219 /* 11699 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5220 /* 11703 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5221 /* 11708 */ GIR_RootConstrainSelectedInstOperands,
5222 /* 11709 */ // GIR_Coverage, 23862,
5223 /* 11709 */ GIR_EraseRootFromParent_Done,
5224 /* 11710 */ // Label 391: @11710
5225 /* 11710 */ GIM_Try, /*On fail goto*//*Label 392*/ GIMT_Encode4(11768), // Rule ID 4967 //
5226 /* 11715 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
5227 /* 11718 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5228 /* 11722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5229 /* 11726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5230 /* 11730 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5231 /* 11733 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5232 /* 11737 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5233 /* 11741 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5234 /* 11743 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5235 /* 11750 */ // (mul:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
5236 /* 11750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrm),
5237 /* 11753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5238 /* 11755 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5239 /* 11757 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5240 /* 11761 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5241 /* 11766 */ GIR_RootConstrainSelectedInstOperands,
5242 /* 11767 */ // GIR_Coverage, 4967,
5243 /* 11767 */ GIR_EraseRootFromParent_Done,
5244 /* 11768 */ // Label 392: @11768
5245 /* 11768 */ GIM_Try, /*On fail goto*//*Label 393*/ GIMT_Encode4(11791), // Rule ID 4964 //
5246 /* 11773 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
5247 /* 11776 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5248 /* 11780 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5249 /* 11784 */ // (mul:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULLWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
5250 /* 11784 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLWZrr),
5251 /* 11789 */ GIR_RootConstrainSelectedInstOperands,
5252 /* 11790 */ // GIR_Coverage, 4964,
5253 /* 11790 */ GIR_Done,
5254 /* 11791 */ // Label 393: @11791
5255 /* 11791 */ GIM_Reject,
5256 /* 11792 */ // Label 390: @11792
5257 /* 11792 */ GIM_Reject,
5258 /* 11793 */ // Label 347: @11793
5259 /* 11793 */ GIM_Try, /*On fail goto*//*Label 394*/ GIMT_Encode4(12134),
5260 /* 11798 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
5261 /* 11801 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
5262 /* 11804 */ GIM_Try, /*On fail goto*//*Label 395*/ GIMT_Encode4(11866), // Rule ID 23586 //
5263 /* 11809 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
5264 /* 11812 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5265 /* 11816 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5266 /* 11820 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5267 /* 11824 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5268 /* 11827 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5269 /* 11831 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5270 /* 11835 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5271 /* 11839 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5272 /* 11841 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5273 /* 11848 */ // (mul:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMULLDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5274 /* 11848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDrm),
5275 /* 11851 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5276 /* 11853 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5277 /* 11855 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5278 /* 11859 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5279 /* 11864 */ GIR_RootConstrainSelectedInstOperands,
5280 /* 11865 */ // GIR_Coverage, 23586,
5281 /* 11865 */ GIR_EraseRootFromParent_Done,
5282 /* 11866 */ // Label 395: @11866
5283 /* 11866 */ GIM_Try, /*On fail goto*//*Label 396*/ GIMT_Encode4(11928), // Rule ID 23856 //
5284 /* 11871 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5285 /* 11874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5286 /* 11878 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5287 /* 11882 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5288 /* 11886 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5289 /* 11889 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5290 /* 11893 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5291 /* 11897 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5292 /* 11901 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5293 /* 11903 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5294 /* 11910 */ // (mul:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMULLDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5295 /* 11910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rm),
5296 /* 11913 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5297 /* 11915 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5298 /* 11917 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5299 /* 11921 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5300 /* 11926 */ GIR_RootConstrainSelectedInstOperands,
5301 /* 11927 */ // GIR_Coverage, 23856,
5302 /* 11927 */ GIR_EraseRootFromParent_Done,
5303 /* 11928 */ // Label 396: @11928
5304 /* 11928 */ GIM_Try, /*On fail goto*//*Label 397*/ GIMT_Encode4(11990), // Rule ID 3216 //
5305 /* 11933 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
5306 /* 11936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5307 /* 11940 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5308 /* 11944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5309 /* 11948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5310 /* 11952 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5311 /* 11955 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5312 /* 11959 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5313 /* 11963 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5314 /* 11965 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5315 /* 11972 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5316 /* 11972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDrm),
5317 /* 11975 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5318 /* 11977 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5319 /* 11979 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5320 /* 11983 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5321 /* 11988 */ GIR_RootConstrainSelectedInstOperands,
5322 /* 11989 */ // GIR_Coverage, 3216,
5323 /* 11989 */ GIR_EraseRootFromParent_Done,
5324 /* 11990 */ // Label 397: @11990
5325 /* 11990 */ GIM_Try, /*On fail goto*//*Label 398*/ GIMT_Encode4(12052), // Rule ID 4958 //
5326 /* 11995 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5327 /* 11998 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5328 /* 12002 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5329 /* 12006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5330 /* 12010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5331 /* 12014 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5332 /* 12017 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5333 /* 12021 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5334 /* 12025 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5335 /* 12027 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5336 /* 12034 */ // (mul:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5337 /* 12034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rm),
5338 /* 12037 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5339 /* 12039 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5340 /* 12041 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5341 /* 12045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5342 /* 12050 */ GIR_RootConstrainSelectedInstOperands,
5343 /* 12051 */ // GIR_Coverage, 4958,
5344 /* 12051 */ GIR_EraseRootFromParent_Done,
5345 /* 12052 */ // Label 398: @12052
5346 /* 12052 */ GIM_Try, /*On fail goto*//*Label 399*/ GIMT_Encode4(12079), // Rule ID 3215 //
5347 /* 12057 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
5348 /* 12060 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5349 /* 12064 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5350 /* 12068 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5351 /* 12072 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMULLDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
5352 /* 12072 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDrr),
5353 /* 12077 */ GIR_RootConstrainSelectedInstOperands,
5354 /* 12078 */ // GIR_Coverage, 3215,
5355 /* 12078 */ GIR_Done,
5356 /* 12079 */ // Label 399: @12079
5357 /* 12079 */ GIM_Try, /*On fail goto*//*Label 400*/ GIMT_Encode4(12106), // Rule ID 3223 //
5358 /* 12084 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
5359 /* 12087 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5360 /* 12091 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5361 /* 12095 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
5362 /* 12099 */ // (mul:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMULLDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
5363 /* 12099 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULLDrr),
5364 /* 12104 */ GIR_RootConstrainSelectedInstOperands,
5365 /* 12105 */ // GIR_Coverage, 3223,
5366 /* 12105 */ GIR_Done,
5367 /* 12106 */ // Label 400: @12106
5368 /* 12106 */ GIM_Try, /*On fail goto*//*Label 401*/ GIMT_Encode4(12133), // Rule ID 4955 //
5369 /* 12111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5370 /* 12114 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5371 /* 12118 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5372 /* 12122 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5373 /* 12126 */ // (mul:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMULLDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
5374 /* 12126 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ128rr),
5375 /* 12131 */ GIR_RootConstrainSelectedInstOperands,
5376 /* 12132 */ // GIR_Coverage, 4955,
5377 /* 12132 */ GIR_Done,
5378 /* 12133 */ // Label 401: @12133
5379 /* 12133 */ GIM_Reject,
5380 /* 12134 */ // Label 394: @12134
5381 /* 12134 */ GIM_Reject,
5382 /* 12135 */ // Label 348: @12135
5383 /* 12135 */ GIM_Try, /*On fail goto*//*Label 402*/ GIMT_Encode4(12449),
5384 /* 12140 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
5385 /* 12143 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
5386 /* 12146 */ GIM_Try, /*On fail goto*//*Label 403*/ GIMT_Encode4(12208), // Rule ID 23588 //
5387 /* 12151 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
5388 /* 12154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5389 /* 12158 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5390 /* 12162 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5391 /* 12166 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5392 /* 12169 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5393 /* 12173 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5394 /* 12177 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5395 /* 12181 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5396 /* 12183 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5397 /* 12190 */ // (mul:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMULLDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5398 /* 12190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrm),
5399 /* 12193 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5400 /* 12195 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5401 /* 12197 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5402 /* 12201 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5403 /* 12206 */ GIR_RootConstrainSelectedInstOperands,
5404 /* 12207 */ // GIR_Coverage, 23588,
5405 /* 12207 */ GIR_EraseRootFromParent_Done,
5406 /* 12208 */ // Label 403: @12208
5407 /* 12208 */ GIM_Try, /*On fail goto*//*Label 404*/ GIMT_Encode4(12270), // Rule ID 23850 //
5408 /* 12213 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5409 /* 12216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5410 /* 12220 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5411 /* 12224 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5412 /* 12228 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5413 /* 12231 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5414 /* 12235 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5415 /* 12239 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5416 /* 12243 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5417 /* 12245 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5418 /* 12252 */ // (mul:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMULLDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5419 /* 12252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rm),
5420 /* 12255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5421 /* 12257 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5422 /* 12259 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5423 /* 12263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5424 /* 12268 */ GIR_RootConstrainSelectedInstOperands,
5425 /* 12269 */ // GIR_Coverage, 23850,
5426 /* 12269 */ GIR_EraseRootFromParent_Done,
5427 /* 12270 */ // Label 404: @12270
5428 /* 12270 */ GIM_Try, /*On fail goto*//*Label 405*/ GIMT_Encode4(12332), // Rule ID 3220 //
5429 /* 12275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
5430 /* 12278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5431 /* 12282 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5432 /* 12286 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5433 /* 12290 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5434 /* 12294 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5435 /* 12297 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5436 /* 12301 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5437 /* 12305 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5438 /* 12307 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5439 /* 12314 */ // (mul:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5440 /* 12314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrm),
5441 /* 12317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5442 /* 12319 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5443 /* 12321 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5444 /* 12325 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5445 /* 12330 */ GIR_RootConstrainSelectedInstOperands,
5446 /* 12331 */ // GIR_Coverage, 3220,
5447 /* 12331 */ GIR_EraseRootFromParent_Done,
5448 /* 12332 */ // Label 405: @12332
5449 /* 12332 */ GIM_Try, /*On fail goto*//*Label 406*/ GIMT_Encode4(12394), // Rule ID 4949 //
5450 /* 12337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5451 /* 12340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5452 /* 12344 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5453 /* 12348 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5454 /* 12352 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5455 /* 12356 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5456 /* 12359 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5457 /* 12363 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5458 /* 12367 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5459 /* 12369 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5460 /* 12376 */ // (mul:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5461 /* 12376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rm),
5462 /* 12379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5463 /* 12381 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5464 /* 12383 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5465 /* 12387 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5466 /* 12392 */ GIR_RootConstrainSelectedInstOperands,
5467 /* 12393 */ // GIR_Coverage, 4949,
5468 /* 12393 */ GIR_EraseRootFromParent_Done,
5469 /* 12394 */ // Label 406: @12394
5470 /* 12394 */ GIM_Try, /*On fail goto*//*Label 407*/ GIMT_Encode4(12421), // Rule ID 3219 //
5471 /* 12399 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
5472 /* 12402 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5473 /* 12406 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5474 /* 12410 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
5475 /* 12414 */ // (mul:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMULLDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
5476 /* 12414 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDYrr),
5477 /* 12419 */ GIR_RootConstrainSelectedInstOperands,
5478 /* 12420 */ // GIR_Coverage, 3219,
5479 /* 12420 */ GIR_Done,
5480 /* 12421 */ // Label 407: @12421
5481 /* 12421 */ GIM_Try, /*On fail goto*//*Label 408*/ GIMT_Encode4(12448), // Rule ID 4946 //
5482 /* 12426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
5483 /* 12429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5484 /* 12433 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5485 /* 12437 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5486 /* 12441 */ // (mul:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMULLDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
5487 /* 12441 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZ256rr),
5488 /* 12446 */ GIR_RootConstrainSelectedInstOperands,
5489 /* 12447 */ // GIR_Coverage, 4946,
5490 /* 12447 */ GIR_Done,
5491 /* 12448 */ // Label 408: @12448
5492 /* 12448 */ GIM_Reject,
5493 /* 12449 */ // Label 402: @12449
5494 /* 12449 */ GIM_Reject,
5495 /* 12450 */ // Label 349: @12450
5496 /* 12450 */ GIM_Try, /*On fail goto*//*Label 409*/ GIMT_Encode4(12605),
5497 /* 12455 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
5498 /* 12458 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
5499 /* 12461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5500 /* 12465 */ GIM_Try, /*On fail goto*//*Label 410*/ GIMT_Encode4(12523), // Rule ID 23844 //
5501 /* 12470 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
5502 /* 12473 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5503 /* 12477 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5504 /* 12481 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5505 /* 12484 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5506 /* 12488 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5507 /* 12492 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5508 /* 12496 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5509 /* 12498 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5510 /* 12505 */ // (mul:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMULLDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5511 /* 12505 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrm),
5512 /* 12508 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5513 /* 12510 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5514 /* 12512 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5515 /* 12516 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5516 /* 12521 */ GIR_RootConstrainSelectedInstOperands,
5517 /* 12522 */ // GIR_Coverage, 23844,
5518 /* 12522 */ GIR_EraseRootFromParent_Done,
5519 /* 12523 */ // Label 410: @12523
5520 /* 12523 */ GIM_Try, /*On fail goto*//*Label 411*/ GIMT_Encode4(12581), // Rule ID 4940 //
5521 /* 12528 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
5522 /* 12531 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5523 /* 12535 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5524 /* 12539 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5525 /* 12543 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5526 /* 12546 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5527 /* 12550 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5528 /* 12554 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5529 /* 12556 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5530 /* 12563 */ // (mul:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
5531 /* 12563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrm),
5532 /* 12566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5533 /* 12568 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5534 /* 12570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5535 /* 12574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5536 /* 12579 */ GIR_RootConstrainSelectedInstOperands,
5537 /* 12580 */ // GIR_Coverage, 4940,
5538 /* 12580 */ GIR_EraseRootFromParent_Done,
5539 /* 12581 */ // Label 411: @12581
5540 /* 12581 */ GIM_Try, /*On fail goto*//*Label 412*/ GIMT_Encode4(12604), // Rule ID 4937 //
5541 /* 12586 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
5542 /* 12589 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5543 /* 12593 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5544 /* 12597 */ // (mul:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMULLDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
5545 /* 12597 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLDZrr),
5546 /* 12602 */ GIR_RootConstrainSelectedInstOperands,
5547 /* 12603 */ // GIR_Coverage, 4937,
5548 /* 12603 */ GIR_Done,
5549 /* 12604 */ // Label 412: @12604
5550 /* 12604 */ GIM_Reject,
5551 /* 12605 */ // Label 409: @12605
5552 /* 12605 */ GIM_Reject,
5553 /* 12606 */ // Label 350: @12606
5554 /* 12606 */ GIM_Try, /*On fail goto*//*Label 413*/ GIMT_Encode4(12934),
5555 /* 12611 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
5556 /* 12614 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
5557 /* 12617 */ GIM_Try, /*On fail goto*//*Label 414*/ GIMT_Encode4(12679), // Rule ID 23883 //
5558 /* 12622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5559 /* 12625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5560 /* 12629 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5561 /* 12633 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5562 /* 12637 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5563 /* 12640 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5564 /* 12644 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5565 /* 12648 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5566 /* 12652 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5567 /* 12654 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5568 /* 12661 */ // (mul:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMULLQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5569 /* 12661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rm),
5570 /* 12664 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5571 /* 12666 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5572 /* 12668 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5573 /* 12672 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5574 /* 12677 */ GIR_RootConstrainSelectedInstOperands,
5575 /* 12678 */ // GIR_Coverage, 23883,
5576 /* 12678 */ GIR_EraseRootFromParent_Done,
5577 /* 12679 */ // Label 414: @12679
5578 /* 12679 */ GIM_Try, /*On fail goto*//*Label 415*/ GIMT_Encode4(12741), // Rule ID 5003 //
5579 /* 12684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5580 /* 12687 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5581 /* 12691 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5582 /* 12695 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5583 /* 12699 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5584 /* 12703 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5585 /* 12706 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5586 /* 12710 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5587 /* 12714 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5588 /* 12716 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5589 /* 12723 */ // (mul:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5590 /* 12723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rm),
5591 /* 12726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5592 /* 12728 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5593 /* 12730 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5594 /* 12734 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5595 /* 12739 */ GIR_RootConstrainSelectedInstOperands,
5596 /* 12740 */ // GIR_Coverage, 5003,
5597 /* 12740 */ GIR_EraseRootFromParent_Done,
5598 /* 12741 */ // Label 415: @12741
5599 /* 12741 */ GIM_Try, /*On fail goto*//*Label 416*/ GIMT_Encode4(12768), // Rule ID 5000 //
5600 /* 12746 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5601 /* 12749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5602 /* 12753 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5603 /* 12757 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5604 /* 12761 */ // (mul:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMULLQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
5605 /* 12761 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ128rr),
5606 /* 12766 */ GIR_RootConstrainSelectedInstOperands,
5607 /* 12767 */ // GIR_Coverage, 5000,
5608 /* 12767 */ GIR_Done,
5609 /* 12768 */ // Label 416: @12768
5610 /* 12768 */ GIM_Try, /*On fail goto*//*Label 417*/ GIMT_Encode4(12933), // Rule ID 19983 //
5611 /* 12773 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
5612 /* 12776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
5613 /* 12780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5614 /* 12784 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
5615 /* 12788 */ // (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] })
5616 /* 12788 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
5617 /* 12791 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5618 /* 12795 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5619 /* 12800 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
5620 /* 12802 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
5621 /* 12805 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5622 /* 12809 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5623 /* 12814 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
5624 /* 12817 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
5625 /* 12821 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
5626 /* 12824 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5627 /* 12829 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5628 /* 12834 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
5629 /* 12839 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
5630 /* 12842 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5631 /* 12846 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5632 /* 12851 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
5633 /* 12853 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
5634 /* 12856 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5635 /* 12860 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5636 /* 12865 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
5637 /* 12868 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
5638 /* 12872 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
5639 /* 12875 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5640 /* 12880 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5641 /* 12885 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
5642 /* 12890 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
5643 /* 12893 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
5644 /* 12897 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5645 /* 12902 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5646 /* 12905 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
5647 /* 12908 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5648 /* 12910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5649 /* 12913 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5650 /* 12915 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
5651 /* 12922 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
5652 /* 12927 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5653 /* 12932 */ // GIR_Coverage, 19983,
5654 /* 12932 */ GIR_EraseRootFromParent_Done,
5655 /* 12933 */ // Label 417: @12933
5656 /* 12933 */ GIM_Reject,
5657 /* 12934 */ // Label 413: @12934
5658 /* 12934 */ GIM_Reject,
5659 /* 12935 */ // Label 351: @12935
5660 /* 12935 */ GIM_Try, /*On fail goto*//*Label 418*/ GIMT_Encode4(13251),
5661 /* 12940 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
5662 /* 12943 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
5663 /* 12946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5664 /* 12950 */ GIM_Try, /*On fail goto*//*Label 419*/ GIMT_Encode4(13008), // Rule ID 23877 //
5665 /* 12955 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5666 /* 12958 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5667 /* 12962 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5668 /* 12966 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5669 /* 12969 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5670 /* 12973 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5671 /* 12977 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5672 /* 12981 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5673 /* 12983 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5674 /* 12990 */ // (mul:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMULLQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5675 /* 12990 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rm),
5676 /* 12993 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5677 /* 12995 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5678 /* 12997 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5679 /* 13001 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5680 /* 13006 */ GIR_RootConstrainSelectedInstOperands,
5681 /* 13007 */ // GIR_Coverage, 23877,
5682 /* 13007 */ GIR_EraseRootFromParent_Done,
5683 /* 13008 */ // Label 419: @13008
5684 /* 13008 */ GIM_Try, /*On fail goto*//*Label 420*/ GIMT_Encode4(13066), // Rule ID 4994 //
5685 /* 13013 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5686 /* 13016 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5687 /* 13020 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5688 /* 13024 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5689 /* 13028 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5690 /* 13031 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5691 /* 13035 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5692 /* 13039 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5693 /* 13041 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5694 /* 13048 */ // (mul:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5695 /* 13048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rm),
5696 /* 13051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5697 /* 13053 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5698 /* 13055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5699 /* 13059 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5700 /* 13064 */ GIR_RootConstrainSelectedInstOperands,
5701 /* 13065 */ // GIR_Coverage, 4994,
5702 /* 13065 */ GIR_EraseRootFromParent_Done,
5703 /* 13066 */ // Label 420: @13066
5704 /* 13066 */ GIM_Try, /*On fail goto*//*Label 421*/ GIMT_Encode4(13089), // Rule ID 4991 //
5705 /* 13071 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
5706 /* 13074 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5707 /* 13078 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5708 /* 13082 */ // (mul:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMULLQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
5709 /* 13082 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZ256rr),
5710 /* 13087 */ GIR_RootConstrainSelectedInstOperands,
5711 /* 13088 */ // GIR_Coverage, 4991,
5712 /* 13088 */ GIR_Done,
5713 /* 13089 */ // Label 421: @13089
5714 /* 13089 */ GIM_Try, /*On fail goto*//*Label 422*/ GIMT_Encode4(13250), // Rule ID 19981 //
5715 /* 13094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
5716 /* 13097 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5717 /* 13101 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
5718 /* 13105 */ // (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] })
5719 /* 13105 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
5720 /* 13108 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5721 /* 13112 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5722 /* 13117 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
5723 /* 13119 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
5724 /* 13122 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5725 /* 13126 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5726 /* 13131 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
5727 /* 13134 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
5728 /* 13138 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
5729 /* 13141 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5730 /* 13146 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5731 /* 13151 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
5732 /* 13156 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
5733 /* 13159 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
5734 /* 13163 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5735 /* 13168 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
5736 /* 13170 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
5737 /* 13173 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
5738 /* 13177 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5739 /* 13182 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
5740 /* 13185 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
5741 /* 13189 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
5742 /* 13192 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
5743 /* 13197 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5744 /* 13202 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
5745 /* 13207 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
5746 /* 13210 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
5747 /* 13214 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5748 /* 13219 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5749 /* 13222 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
5750 /* 13225 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5751 /* 13227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5752 /* 13230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5753 /* 13232 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
5754 /* 13239 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
5755 /* 13244 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
5756 /* 13249 */ // GIR_Coverage, 19981,
5757 /* 13249 */ GIR_EraseRootFromParent_Done,
5758 /* 13250 */ // Label 422: @13250
5759 /* 13250 */ GIM_Reject,
5760 /* 13251 */ // Label 418: @13251
5761 /* 13251 */ GIM_Reject,
5762 /* 13252 */ // Label 352: @13252
5763 /* 13252 */ GIM_Try, /*On fail goto*//*Label 423*/ GIMT_Encode4(13407),
5764 /* 13257 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
5765 /* 13260 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
5766 /* 13263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5767 /* 13267 */ GIM_Try, /*On fail goto*//*Label 424*/ GIMT_Encode4(13325), // Rule ID 23871 //
5768 /* 13272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
5769 /* 13275 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5770 /* 13279 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5771 /* 13283 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5772 /* 13286 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5773 /* 13290 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5774 /* 13294 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5775 /* 13298 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5776 /* 13300 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5777 /* 13307 */ // (mul:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMULLQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5778 /* 13307 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrm),
5779 /* 13310 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5780 /* 13312 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5781 /* 13314 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5782 /* 13318 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5783 /* 13323 */ GIR_RootConstrainSelectedInstOperands,
5784 /* 13324 */ // GIR_Coverage, 23871,
5785 /* 13324 */ GIR_EraseRootFromParent_Done,
5786 /* 13325 */ // Label 424: @13325
5787 /* 13325 */ GIM_Try, /*On fail goto*//*Label 425*/ GIMT_Encode4(13383), // Rule ID 4985 //
5788 /* 13330 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
5789 /* 13333 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5790 /* 13337 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5791 /* 13341 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5792 /* 13345 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5793 /* 13348 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
5794 /* 13352 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5795 /* 13356 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5796 /* 13358 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5797 /* 13365 */ // (mul:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULLQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
5798 /* 13365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrm),
5799 /* 13368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5800 /* 13370 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5801 /* 13372 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5802 /* 13376 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5803 /* 13381 */ GIR_RootConstrainSelectedInstOperands,
5804 /* 13382 */ // GIR_Coverage, 4985,
5805 /* 13382 */ GIR_EraseRootFromParent_Done,
5806 /* 13383 */ // Label 425: @13383
5807 /* 13383 */ GIM_Try, /*On fail goto*//*Label 426*/ GIMT_Encode4(13406), // Rule ID 4982 //
5808 /* 13388 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
5809 /* 13391 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5810 /* 13395 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
5811 /* 13399 */ // (mul:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMULLQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
5812 /* 13399 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULLQZrr),
5813 /* 13404 */ GIR_RootConstrainSelectedInstOperands,
5814 /* 13405 */ // GIR_Coverage, 4982,
5815 /* 13405 */ GIR_Done,
5816 /* 13406 */ // Label 426: @13406
5817 /* 13406 */ GIM_Reject,
5818 /* 13407 */ // Label 423: @13407
5819 /* 13407 */ GIM_Reject,
5820 /* 13408 */ // Label 353: @13408
5821 /* 13408 */ GIM_Reject,
5822 /* 13409 */ // Label 3: @13409
5823 /* 13409 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 450*/ GIMT_Encode4(23484),
5824 /* 13420 */ /*GILLT_s1*//*Label 427*/ GIMT_Encode4(13520),
5825 /* 13424 */ /*GILLT_s8*//*Label 428*/ GIMT_Encode4(13866),
5826 /* 13428 */ /*GILLT_s16*//*Label 429*/ GIMT_Encode4(14137),
5827 /* 13432 */ /*GILLT_s32*//*Label 430*/ GIMT_Encode4(14700),
5828 /* 13436 */ /*GILLT_s64*//*Label 431*/ GIMT_Encode4(16390), GIMT_Encode4(0), GIMT_Encode4(0),
5829 /* 13448 */ /*GILLT_v2s1*//*Label 432*/ GIMT_Encode4(17958),
5830 /* 13452 */ /*GILLT_v4s1*//*Label 433*/ GIMT_Encode4(18304),
5831 /* 13456 */ /*GILLT_v8s1*//*Label 434*/ GIMT_Encode4(18650),
5832 /* 13460 */ /*GILLT_v16s1*//*Label 435*/ GIMT_Encode4(19148),
5833 /* 13464 */ /*GILLT_v32s1*//*Label 436*/ GIMT_Encode4(19308),
5834 /* 13468 */ /*GILLT_v64s1*//*Label 437*/ GIMT_Encode4(19468),
5835 /* 13472 */ /*GILLT_v16s8*//*Label 438*/ GIMT_Encode4(19628),
5836 /* 13476 */ /*GILLT_v32s8*//*Label 439*/ GIMT_Encode4(19970),
5837 /* 13480 */ /*GILLT_v64s8*//*Label 440*/ GIMT_Encode4(20436),
5838 /* 13484 */ /*GILLT_v8s16*//*Label 441*/ GIMT_Encode4(20592),
5839 /* 13488 */ /*GILLT_v16s16*//*Label 442*/ GIMT_Encode4(20934),
5840 /* 13492 */ /*GILLT_v32s16*//*Label 443*/ GIMT_Encode4(21400),
5841 /* 13496 */ /*GILLT_v4s32*//*Label 444*/ GIMT_Encode4(21556),
5842 /* 13500 */ /*GILLT_v8s32*//*Label 445*/ GIMT_Encode4(21898),
5843 /* 13504 */ /*GILLT_v16s32*//*Label 446*/ GIMT_Encode4(22364),
5844 /* 13508 */ /*GILLT_v2s64*//*Label 447*/ GIMT_Encode4(22520),
5845 /* 13512 */ /*GILLT_v4s64*//*Label 448*/ GIMT_Encode4(22862),
5846 /* 13516 */ /*GILLT_v8s64*//*Label 449*/ GIMT_Encode4(23328),
5847 /* 13520 */ // Label 427: @13520
5848 /* 13520 */ GIM_Try, /*On fail goto*//*Label 451*/ GIMT_Encode4(13865),
5849 /* 13525 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
5850 /* 13528 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
5851 /* 13531 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5852 /* 13535 */ GIM_Try, /*On fail goto*//*Label 452*/ GIMT_Encode4(13655), // Rule ID 19462 //
5853 /* 13540 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5854 /* 13544 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
5855 /* 13548 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
5856 /* 13552 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
5857 /* 13556 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5858 /* 13561 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5859 /* 13565 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
5860 /* 13571 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
5861 /* 13573 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5862 /* 13577 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
5863 /* 13579 */ // (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 /* 13579 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
5865 /* 13582 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5866 /* 13586 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5867 /* 13591 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
5868 /* 13595 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5869 /* 13600 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
5870 /* 13603 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5871 /* 13607 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5872 /* 13612 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
5873 /* 13616 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5874 /* 13621 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
5875 /* 13624 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
5876 /* 13628 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5877 /* 13633 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5878 /* 13636 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
5879 /* 13639 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5880 /* 13641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5881 /* 13644 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5882 /* 13646 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
5883 /* 13649 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
5884 /* 13654 */ // GIR_Coverage, 19462,
5885 /* 13654 */ GIR_EraseRootFromParent_Done,
5886 /* 13655 */ // Label 452: @13655
5887 /* 13655 */ GIM_Try, /*On fail goto*//*Label 453*/ GIMT_Encode4(13775), // Rule ID 25425 //
5888 /* 13660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5889 /* 13664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5890 /* 13668 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
5891 /* 13672 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
5892 /* 13676 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
5893 /* 13680 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5894 /* 13685 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
5895 /* 13689 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
5896 /* 13695 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
5897 /* 13697 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
5898 /* 13699 */ // (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 /* 13699 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
5900 /* 13702 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5901 /* 13706 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5902 /* 13711 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
5903 /* 13715 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5904 /* 13720 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
5905 /* 13723 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5906 /* 13727 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5907 /* 13732 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
5908 /* 13736 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5909 /* 13741 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
5910 /* 13744 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
5911 /* 13748 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5912 /* 13753 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5913 /* 13756 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
5914 /* 13759 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5915 /* 13761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5916 /* 13764 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5917 /* 13766 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
5918 /* 13769 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
5919 /* 13774 */ // GIR_Coverage, 25425,
5920 /* 13774 */ GIR_EraseRootFromParent_Done,
5921 /* 13775 */ // Label 453: @13775
5922 /* 13775 */ GIM_Try, /*On fail goto*//*Label 454*/ GIMT_Encode4(13864), // Rule ID 19458 //
5923 /* 13780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5924 /* 13784 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
5925 /* 13788 */ // (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 /* 13788 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
5927 /* 13791 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5928 /* 13795 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5929 /* 13800 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
5930 /* 13804 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5931 /* 13809 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
5932 /* 13812 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5933 /* 13816 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5934 /* 13821 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
5935 /* 13825 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
5936 /* 13830 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
5937 /* 13833 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
5938 /* 13837 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
5939 /* 13842 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
5940 /* 13845 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
5941 /* 13848 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
5942 /* 13850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
5943 /* 13853 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5944 /* 13855 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
5945 /* 13858 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
5946 /* 13863 */ // GIR_Coverage, 19458,
5947 /* 13863 */ GIR_EraseRootFromParent_Done,
5948 /* 13864 */ // Label 454: @13864
5949 /* 13864 */ GIM_Reject,
5950 /* 13865 */ // Label 451: @13865
5951 /* 13865 */ GIM_Reject,
5952 /* 13866 */ // Label 428: @13866
5953 /* 13866 */ GIM_Try, /*On fail goto*//*Label 455*/ GIMT_Encode4(14136),
5954 /* 13871 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
5955 /* 13874 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
5956 /* 13877 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5957 /* 13881 */ GIM_Try, /*On fail goto*//*Label 456*/ GIMT_Encode4(13942), // Rule ID 26127 //
5958 /* 13886 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5959 /* 13889 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
5960 /* 13893 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5961 /* 13897 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5962 /* 13900 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5963 /* 13904 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
5964 /* 13908 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5965 /* 13912 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5966 /* 13914 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5967 /* 13921 */ // (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 /* 13921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8rm),
5969 /* 13924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5970 /* 13926 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
5971 /* 13928 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5972 /* 13932 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5973 /* 13935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5974 /* 13940 */ GIR_RootConstrainSelectedInstOperands,
5975 /* 13941 */ // GIR_Coverage, 26127,
5976 /* 13941 */ GIR_EraseRootFromParent_Done,
5977 /* 13942 */ // Label 456: @13942
5978 /* 13942 */ GIM_Try, /*On fail goto*//*Label 457*/ GIMT_Encode4(14003), // Rule ID 22910 //
5979 /* 13947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
5980 /* 13950 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
5981 /* 13954 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
5982 /* 13958 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
5983 /* 13962 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
5984 /* 13965 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
5985 /* 13969 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
5986 /* 13973 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
5987 /* 13975 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
5988 /* 13982 */ // (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 /* 13982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8rm),
5990 /* 13985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
5991 /* 13987 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
5992 /* 13989 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
5993 /* 13993 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
5994 /* 13996 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
5995 /* 14001 */ GIR_RootConstrainSelectedInstOperands,
5996 /* 14002 */ // GIR_Coverage, 22910,
5997 /* 14002 */ GIR_EraseRootFromParent_Done,
5998 /* 14003 */ // Label 457: @14003
5999 /* 14003 */ GIM_Try, /*On fail goto*//*Label 458*/ GIMT_Encode4(14040), // Rule ID 22914 //
6000 /* 14008 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6001 /* 14011 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6002 /* 14015 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6003 /* 14019 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6004 /* 14023 */ // MIs[1] Operand 1
6005 /* 14023 */ // No operand predicates
6006 /* 14023 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6007 /* 14025 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (AND8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
6008 /* 14025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8ri),
6009 /* 14028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6010 /* 14030 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6011 /* 14032 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6012 /* 14035 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6013 /* 14038 */ GIR_RootConstrainSelectedInstOperands,
6014 /* 14039 */ // GIR_Coverage, 22914,
6015 /* 14039 */ GIR_EraseRootFromParent_Done,
6016 /* 14040 */ // Label 458: @14040
6017 /* 14040 */ GIM_Try, /*On fail goto*//*Label 459*/ GIMT_Encode4(14077), // Rule ID 23004 //
6018 /* 14045 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6019 /* 14048 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6020 /* 14052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6021 /* 14056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6022 /* 14060 */ // MIs[1] Operand 1
6023 /* 14060 */ // No operand predicates
6024 /* 14060 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6025 /* 14062 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (AND8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
6026 /* 14062 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8ri_ND),
6027 /* 14065 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6028 /* 14067 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6029 /* 14069 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6030 /* 14072 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6031 /* 14075 */ GIR_RootConstrainSelectedInstOperands,
6032 /* 14076 */ // GIR_Coverage, 23004,
6033 /* 14076 */ GIR_EraseRootFromParent_Done,
6034 /* 14077 */ // Label 459: @14077
6035 /* 14077 */ GIM_Try, /*On fail goto*//*Label 460*/ GIMT_Encode4(14106), // Rule ID 22906 //
6036 /* 14082 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6037 /* 14085 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6038 /* 14089 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6039 /* 14093 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (AND8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
6040 /* 14093 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND8rr),
6041 /* 14098 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6042 /* 14104 */ GIR_RootConstrainSelectedInstOperands,
6043 /* 14105 */ // GIR_Coverage, 22906,
6044 /* 14105 */ GIR_Done,
6045 /* 14106 */ // Label 460: @14106
6046 /* 14106 */ GIM_Try, /*On fail goto*//*Label 461*/ GIMT_Encode4(14135), // Rule ID 22996 //
6047 /* 14111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6048 /* 14114 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6049 /* 14118 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6050 /* 14122 */ // (and:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (AND8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
6051 /* 14122 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND8rr_ND),
6052 /* 14127 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6053 /* 14133 */ GIR_RootConstrainSelectedInstOperands,
6054 /* 14134 */ // GIR_Coverage, 22996,
6055 /* 14134 */ GIR_Done,
6056 /* 14135 */ // Label 461: @14135
6057 /* 14135 */ GIM_Reject,
6058 /* 14136 */ // Label 455: @14136
6059 /* 14136 */ GIM_Reject,
6060 /* 14137 */ // Label 429: @14137
6061 /* 14137 */ GIM_Try, /*On fail goto*//*Label 462*/ GIMT_Encode4(14699),
6062 /* 14142 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
6063 /* 14145 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
6064 /* 14148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6065 /* 14152 */ GIM_Try, /*On fail goto*//*Label 463*/ GIMT_Encode4(14213), // Rule ID 26128 //
6066 /* 14157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6067 /* 14160 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6068 /* 14164 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6069 /* 14168 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6070 /* 14171 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6071 /* 14175 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
6072 /* 14179 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6073 /* 14183 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6074 /* 14185 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6075 /* 14192 */ // (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 /* 14192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16rm),
6077 /* 14195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6078 /* 14197 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6079 /* 14199 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6080 /* 14203 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6081 /* 14206 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6082 /* 14211 */ GIR_RootConstrainSelectedInstOperands,
6083 /* 14212 */ // GIR_Coverage, 26128,
6084 /* 14212 */ GIR_EraseRootFromParent_Done,
6085 /* 14213 */ // Label 463: @14213
6086 /* 14213 */ GIM_Try, /*On fail goto*//*Label 464*/ GIMT_Encode4(14274), // Rule ID 22911 //
6087 /* 14218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6088 /* 14221 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6089 /* 14225 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6090 /* 14229 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6091 /* 14233 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6092 /* 14236 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6093 /* 14240 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
6094 /* 14244 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6095 /* 14246 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6096 /* 14253 */ // (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 /* 14253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16rm),
6098 /* 14256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6099 /* 14258 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6100 /* 14260 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6101 /* 14264 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6102 /* 14267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6103 /* 14272 */ GIR_RootConstrainSelectedInstOperands,
6104 /* 14273 */ // GIR_Coverage, 22911,
6105 /* 14273 */ GIR_EraseRootFromParent_Done,
6106 /* 14274 */ // Label 464: @14274
6107 /* 14274 */ GIM_Try, /*On fail goto*//*Label 465*/ GIMT_Encode4(14376), // Rule ID 26094 //
6108 /* 14279 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6109 /* 14283 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6110 /* 14287 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
6111 /* 14291 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6112 /* 14295 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6113 /* 14299 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6114 /* 14304 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6115 /* 14308 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6116 /* 14310 */ // (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 /* 14310 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
6118 /* 14313 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6119 /* 14317 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6120 /* 14322 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6121 /* 14324 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
6122 /* 14327 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6123 /* 14331 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6124 /* 14336 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6125 /* 14339 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6126 /* 14343 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6127 /* 14346 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
6128 /* 14351 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
6129 /* 14356 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6130 /* 14361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR16rr),
6131 /* 14364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6132 /* 14366 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6133 /* 14368 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6134 /* 14371 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6135 /* 14374 */ GIR_RootConstrainSelectedInstOperands,
6136 /* 14375 */ // GIR_Coverage, 26094,
6137 /* 14375 */ GIR_EraseRootFromParent_Done,
6138 /* 14376 */ // Label 465: @14376
6139 /* 14376 */ GIM_Try, /*On fail goto*//*Label 466*/ GIMT_Encode4(14478), // Rule ID 22832 //
6140 /* 14381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6141 /* 14385 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6142 /* 14389 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6143 /* 14393 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
6144 /* 14397 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6145 /* 14401 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6146 /* 14405 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6147 /* 14410 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6148 /* 14412 */ // (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 /* 14412 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
6150 /* 14415 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6151 /* 14419 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6152 /* 14424 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6153 /* 14426 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
6154 /* 14429 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6155 /* 14433 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6156 /* 14438 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6157 /* 14441 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6158 /* 14445 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6159 /* 14448 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
6160 /* 14453 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
6161 /* 14458 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6162 /* 14463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR16rr),
6163 /* 14466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6164 /* 14468 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6165 /* 14470 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6166 /* 14473 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6167 /* 14476 */ GIR_RootConstrainSelectedInstOperands,
6168 /* 14477 */ // GIR_Coverage, 22832,
6169 /* 14477 */ GIR_EraseRootFromParent_Done,
6170 /* 14478 */ // Label 466: @14478
6171 /* 14478 */ GIM_Try, /*On fail goto*//*Label 467*/ GIMT_Encode4(14566), // Rule ID 22692 //
6172 /* 14483 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6173 /* 14487 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(255),
6174 /* 14498 */ // (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 /* 14498 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s8,
6176 /* 14501 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6177 /* 14505 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6178 /* 14510 */ GIR_CopySubReg, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src1
6179 /* 14516 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
6180 /* 14521 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
6181 /* 14526 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6182 /* 14529 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
6183 /* 14533 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6184 /* 14538 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6185 /* 14541 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
6186 /* 14543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6187 /* 14546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6188 /* 14548 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
6189 /* 14555 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
6190 /* 14560 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
6191 /* 14565 */ // GIR_Coverage, 22692,
6192 /* 14565 */ GIR_EraseRootFromParent_Done,
6193 /* 14566 */ // Label 467: @14566
6194 /* 14566 */ GIM_Try, /*On fail goto*//*Label 468*/ GIMT_Encode4(14603), // Rule ID 22915 //
6195 /* 14571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6196 /* 14574 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6197 /* 14578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6198 /* 14582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6199 /* 14586 */ // MIs[1] Operand 1
6200 /* 14586 */ // No operand predicates
6201 /* 14586 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6202 /* 14588 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (AND16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
6203 /* 14588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16ri),
6204 /* 14591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6205 /* 14593 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6206 /* 14595 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6207 /* 14598 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6208 /* 14601 */ GIR_RootConstrainSelectedInstOperands,
6209 /* 14602 */ // GIR_Coverage, 22915,
6210 /* 14602 */ GIR_EraseRootFromParent_Done,
6211 /* 14603 */ // Label 468: @14603
6212 /* 14603 */ GIM_Try, /*On fail goto*//*Label 469*/ GIMT_Encode4(14640), // Rule ID 23005 //
6213 /* 14608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6214 /* 14611 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6215 /* 14615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6216 /* 14619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6217 /* 14623 */ // MIs[1] Operand 1
6218 /* 14623 */ // No operand predicates
6219 /* 14623 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6220 /* 14625 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (AND16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
6221 /* 14625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16ri_ND),
6222 /* 14628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6223 /* 14630 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6224 /* 14632 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6225 /* 14635 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6226 /* 14638 */ GIR_RootConstrainSelectedInstOperands,
6227 /* 14639 */ // GIR_Coverage, 23005,
6228 /* 14639 */ GIR_EraseRootFromParent_Done,
6229 /* 14640 */ // Label 469: @14640
6230 /* 14640 */ GIM_Try, /*On fail goto*//*Label 470*/ GIMT_Encode4(14669), // Rule ID 22907 //
6231 /* 14645 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6232 /* 14648 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6233 /* 14652 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6234 /* 14656 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (AND16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
6235 /* 14656 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND16rr),
6236 /* 14661 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6237 /* 14667 */ GIR_RootConstrainSelectedInstOperands,
6238 /* 14668 */ // GIR_Coverage, 22907,
6239 /* 14668 */ GIR_Done,
6240 /* 14669 */ // Label 470: @14669
6241 /* 14669 */ GIM_Try, /*On fail goto*//*Label 471*/ GIMT_Encode4(14698), // Rule ID 22997 //
6242 /* 14674 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6243 /* 14677 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6244 /* 14681 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
6245 /* 14685 */ // (and:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (AND16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
6246 /* 14685 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND16rr_ND),
6247 /* 14690 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6248 /* 14696 */ GIR_RootConstrainSelectedInstOperands,
6249 /* 14697 */ // GIR_Coverage, 22997,
6250 /* 14697 */ GIR_Done,
6251 /* 14698 */ // Label 471: @14698
6252 /* 14698 */ GIM_Reject,
6253 /* 14699 */ // Label 462: @14699
6254 /* 14699 */ GIM_Reject,
6255 /* 14700 */ // Label 430: @14700
6256 /* 14700 */ GIM_Try, /*On fail goto*//*Label 472*/ GIMT_Encode4(16389),
6257 /* 14705 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
6258 /* 14708 */ GIM_Try, /*On fail goto*//*Label 473*/ GIMT_Encode4(14800), // Rule ID 17512 //
6259 /* 14713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
6260 /* 14716 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6261 /* 14719 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6262 /* 14723 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6263 /* 14727 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6264 /* 14731 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6265 /* 14735 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6266 /* 14739 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6267 /* 14744 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6268 /* 14748 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6269 /* 14752 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6270 /* 14756 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6271 /* 14759 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6272 /* 14763 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6273 /* 14767 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6274 /* 14769 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6275 /* 14776 */ // (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 /* 14776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm),
6277 /* 14779 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6278 /* 14781 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6279 /* 14785 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6280 /* 14789 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6281 /* 14792 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6282 /* 14798 */ GIR_RootConstrainSelectedInstOperands,
6283 /* 14799 */ // GIR_Coverage, 17512,
6284 /* 14799 */ GIR_EraseRootFromParent_Done,
6285 /* 14800 */ // Label 473: @14800
6286 /* 14800 */ GIM_Try, /*On fail goto*//*Label 474*/ GIMT_Encode4(14892), // Rule ID 17516 //
6287 /* 14805 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
6288 /* 14808 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6289 /* 14811 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6290 /* 14815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6291 /* 14819 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6292 /* 14823 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6293 /* 14827 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6294 /* 14831 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6295 /* 14836 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6296 /* 14840 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6297 /* 14844 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6298 /* 14848 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6299 /* 14851 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6300 /* 14855 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6301 /* 14859 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6302 /* 14861 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6303 /* 14868 */ // (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 /* 14868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm_EVEX),
6305 /* 14871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6306 /* 14873 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6307 /* 14877 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6308 /* 14881 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6309 /* 14884 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6310 /* 14890 */ GIR_RootConstrainSelectedInstOperands,
6311 /* 14891 */ // GIR_Coverage, 17516,
6312 /* 14891 */ GIR_EraseRootFromParent_Done,
6313 /* 14892 */ // Label 474: @14892
6314 /* 14892 */ GIM_Try, /*On fail goto*//*Label 475*/ GIMT_Encode4(14984), // Rule ID 25161 //
6315 /* 14897 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
6316 /* 14900 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6317 /* 14903 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6318 /* 14907 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6319 /* 14911 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6320 /* 14915 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6321 /* 14918 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6322 /* 14922 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6323 /* 14926 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6324 /* 14930 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6325 /* 14934 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
6326 /* 14938 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6327 /* 14942 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6328 /* 14947 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6329 /* 14951 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6330 /* 14953 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6331 /* 14960 */ // (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 /* 14960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm),
6333 /* 14963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6334 /* 14965 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6335 /* 14969 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6336 /* 14973 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6337 /* 14976 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6338 /* 14982 */ GIR_RootConstrainSelectedInstOperands,
6339 /* 14983 */ // GIR_Coverage, 25161,
6340 /* 14983 */ GIR_EraseRootFromParent_Done,
6341 /* 14984 */ // Label 475: @14984
6342 /* 14984 */ GIM_Try, /*On fail goto*//*Label 476*/ GIMT_Encode4(15076), // Rule ID 25165 //
6343 /* 14989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
6344 /* 14992 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6345 /* 14995 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6346 /* 14999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6347 /* 15003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6348 /* 15007 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6349 /* 15010 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6350 /* 15014 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6351 /* 15018 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6352 /* 15022 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6353 /* 15026 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
6354 /* 15030 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6355 /* 15034 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6356 /* 15039 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6357 /* 15043 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6358 /* 15045 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6359 /* 15052 */ // (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 /* 15052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rm_EVEX),
6361 /* 15055 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6362 /* 15057 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6363 /* 15061 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6364 /* 15065 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6365 /* 15068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6366 /* 15074 */ GIR_RootConstrainSelectedInstOperands,
6367 /* 15075 */ // GIR_Coverage, 25165,
6368 /* 15075 */ GIR_EraseRootFromParent_Done,
6369 /* 15076 */ // Label 476: @15076
6370 /* 15076 */ GIM_Try, /*On fail goto*//*Label 477*/ GIMT_Encode4(15144), // Rule ID 26129 //
6371 /* 15081 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6372 /* 15084 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6373 /* 15087 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6374 /* 15091 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6375 /* 15095 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6376 /* 15099 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6377 /* 15102 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6378 /* 15106 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6379 /* 15110 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6380 /* 15114 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6381 /* 15116 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6382 /* 15123 */ // (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 /* 15123 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32rm),
6384 /* 15126 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6385 /* 15128 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6386 /* 15130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6387 /* 15134 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6388 /* 15137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6389 /* 15142 */ GIR_RootConstrainSelectedInstOperands,
6390 /* 15143 */ // GIR_Coverage, 26129,
6391 /* 15143 */ GIR_EraseRootFromParent_Done,
6392 /* 15144 */ // Label 477: @15144
6393 /* 15144 */ GIM_Try, /*On fail goto*//*Label 478*/ GIMT_Encode4(15212), // Rule ID 22912 //
6394 /* 15149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6395 /* 15152 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6396 /* 15155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6397 /* 15159 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6398 /* 15163 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6399 /* 15167 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6400 /* 15171 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6401 /* 15174 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6402 /* 15178 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
6403 /* 15182 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6404 /* 15184 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6405 /* 15191 */ // (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 /* 15191 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32rm),
6407 /* 15194 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6408 /* 15196 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6409 /* 15198 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6410 /* 15202 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6411 /* 15205 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6412 /* 15210 */ GIR_RootConstrainSelectedInstOperands,
6413 /* 15211 */ // GIR_Coverage, 22912,
6414 /* 15211 */ GIR_EraseRootFromParent_Done,
6415 /* 15212 */ // Label 478: @15212
6416 /* 15212 */ GIM_Try, /*On fail goto*//*Label 479*/ GIMT_Encode4(15289), // Rule ID 25053 //
6417 /* 15217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
6418 /* 15220 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6419 /* 15223 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6420 /* 15227 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6421 /* 15231 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6422 /* 15235 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6423 /* 15239 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6424 /* 15243 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6425 /* 15248 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6426 /* 15252 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6427 /* 15256 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6428 /* 15260 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6429 /* 15264 */ // MIs[2] src
6430 /* 15264 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6431 /* 15269 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6432 /* 15273 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6433 /* 15275 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLCIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6434 /* 15275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC32rr),
6435 /* 15278 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6436 /* 15280 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6437 /* 15284 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6438 /* 15287 */ GIR_RootConstrainSelectedInstOperands,
6439 /* 15288 */ // GIR_Coverage, 25053,
6440 /* 15288 */ GIR_EraseRootFromParent_Done,
6441 /* 15289 */ // Label 479: @15289
6442 /* 15289 */ GIM_Try, /*On fail goto*//*Label 480*/ GIMT_Encode4(15366), // Rule ID 25065 //
6443 /* 15294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
6444 /* 15297 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6445 /* 15300 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6446 /* 15304 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6447 /* 15308 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6448 /* 15312 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6449 /* 15316 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6450 /* 15320 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6451 /* 15325 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6452 /* 15329 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6453 /* 15333 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6454 /* 15337 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6455 /* 15341 */ // MIs[2] src
6456 /* 15341 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6457 /* 15346 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6458 /* 15350 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6459 /* 15352 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (TZMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6460 /* 15352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK32rr),
6461 /* 15355 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6462 /* 15357 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6463 /* 15361 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6464 /* 15364 */ GIR_RootConstrainSelectedInstOperands,
6465 /* 15365 */ // GIR_Coverage, 25065,
6466 /* 15365 */ GIR_EraseRootFromParent_Done,
6467 /* 15366 */ // Label 480: @15366
6468 /* 15366 */ GIM_Try, /*On fail goto*//*Label 481*/ GIMT_Encode4(15443), // Rule ID 17320 //
6469 /* 15371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
6470 /* 15374 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6471 /* 15377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6472 /* 15381 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6473 /* 15385 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6474 /* 15389 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6475 /* 15393 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6476 /* 15397 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6477 /* 15402 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6478 /* 15406 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6479 /* 15410 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
6480 /* 15414 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6481 /* 15418 */ // MIs[2] src
6482 /* 15418 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6483 /* 15423 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
6484 /* 15427 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6485 /* 15429 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6486 /* 15429 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC32rr),
6487 /* 15432 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6488 /* 15434 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6489 /* 15438 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6490 /* 15441 */ GIR_RootConstrainSelectedInstOperands,
6491 /* 15442 */ // GIR_Coverage, 17320,
6492 /* 15442 */ GIR_EraseRootFromParent_Done,
6493 /* 15443 */ // Label 481: @15443
6494 /* 15443 */ GIM_Try, /*On fail goto*//*Label 482*/ GIMT_Encode4(15520), // Rule ID 17332 //
6495 /* 15448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
6496 /* 15451 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6497 /* 15454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6498 /* 15458 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6499 /* 15462 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6500 /* 15466 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6501 /* 15470 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6502 /* 15474 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6503 /* 15479 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6504 /* 15483 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6505 /* 15487 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
6506 /* 15491 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
6507 /* 15495 */ // MIs[2] src
6508 /* 15495 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
6509 /* 15500 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6510 /* 15504 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6511 /* 15506 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (TZMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6512 /* 15506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK32rr),
6513 /* 15509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6514 /* 15511 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6515 /* 15515 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6516 /* 15518 */ GIR_RootConstrainSelectedInstOperands,
6517 /* 15519 */ // GIR_Coverage, 17332,
6518 /* 15519 */ GIR_EraseRootFromParent_Done,
6519 /* 15520 */ // Label 482: @15520
6520 /* 15520 */ GIM_Try, /*On fail goto*//*Label 483*/ GIMT_Encode4(15578), // Rule ID 25047 //
6521 /* 15525 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
6522 /* 15528 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6523 /* 15532 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6524 /* 15536 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6525 /* 15540 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6526 /* 15544 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6527 /* 15548 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6528 /* 15553 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6529 /* 15557 */ // MIs[0] src
6530 /* 15557 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
6531 /* 15562 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6532 /* 15564 */ // (and:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6533 /* 15564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL32rr),
6534 /* 15567 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6535 /* 15569 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
6536 /* 15573 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6537 /* 15576 */ GIR_RootConstrainSelectedInstOperands,
6538 /* 15577 */ // GIR_Coverage, 25047,
6539 /* 15577 */ GIR_EraseRootFromParent_Done,
6540 /* 15578 */ // Label 483: @15578
6541 /* 15578 */ GIM_Try, /*On fail goto*//*Label 484*/ GIMT_Encode4(15687), // Rule ID 26100 //
6542 /* 15583 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6543 /* 15586 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6544 /* 15590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6545 /* 15594 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6546 /* 15598 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6547 /* 15602 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6548 /* 15606 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6549 /* 15610 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6550 /* 15615 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6551 /* 15619 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6552 /* 15621 */ // (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 /* 15621 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
6554 /* 15624 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6555 /* 15628 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6556 /* 15633 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6557 /* 15635 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6558 /* 15638 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6559 /* 15642 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6560 /* 15647 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6561 /* 15650 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6562 /* 15654 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6563 /* 15657 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
6564 /* 15662 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
6565 /* 15667 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6566 /* 15672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR32rr),
6567 /* 15675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6568 /* 15677 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6569 /* 15679 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6570 /* 15682 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6571 /* 15685 */ GIR_RootConstrainSelectedInstOperands,
6572 /* 15686 */ // GIR_Coverage, 26100,
6573 /* 15686 */ GIR_EraseRootFromParent_Done,
6574 /* 15687 */ // Label 484: @15687
6575 /* 15687 */ GIM_Try, /*On fail goto*//*Label 485*/ GIMT_Encode4(15741), // Rule ID 17314 //
6576 /* 15692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
6577 /* 15695 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6578 /* 15698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6579 /* 15702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6580 /* 15706 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6581 /* 15710 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6582 /* 15714 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6583 /* 15718 */ // MIs[1] src
6584 /* 15718 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
6585 /* 15723 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6586 /* 15727 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6587 /* 15729 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
6588 /* 15729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL32rr),
6589 /* 15732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6590 /* 15734 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
6591 /* 15736 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6592 /* 15739 */ GIR_RootConstrainSelectedInstOperands,
6593 /* 15740 */ // GIR_Coverage, 17314,
6594 /* 15740 */ GIR_EraseRootFromParent_Done,
6595 /* 15741 */ // Label 485: @15741
6596 /* 15741 */ GIM_Try, /*On fail goto*//*Label 486*/ GIMT_Encode4(15850), // Rule ID 22838 //
6597 /* 15746 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6598 /* 15749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6599 /* 15753 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6600 /* 15757 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6601 /* 15761 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
6602 /* 15765 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6603 /* 15769 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
6604 /* 15773 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
6605 /* 15777 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
6606 /* 15782 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6607 /* 15784 */ // (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 /* 15784 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
6609 /* 15787 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
6610 /* 15791 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6611 /* 15796 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
6612 /* 15798 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
6613 /* 15801 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
6614 /* 15805 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6615 /* 15810 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
6616 /* 15813 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
6617 /* 15817 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
6618 /* 15820 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
6619 /* 15825 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
6620 /* 15830 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
6621 /* 15835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR32rr),
6622 /* 15838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6623 /* 15840 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6624 /* 15842 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6625 /* 15845 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6626 /* 15848 */ GIR_RootConstrainSelectedInstOperands,
6627 /* 15849 */ // GIR_Coverage, 22838,
6628 /* 15849 */ GIR_EraseRootFromParent_Done,
6629 /* 15850 */ // Label 486: @15850
6630 /* 15850 */ GIM_Try, /*On fail goto*//*Label 487*/ GIMT_Encode4(15915), // Rule ID 22690 //
6631 /* 15855 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6632 /* 15858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6633 /* 15862 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6634 /* 15866 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(65535),
6635 /* 15877 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, 65535:{ *:[i32] }) => (MOVZX32rr16:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src1, sub_16bit:{ *:[i32] }))
6636 /* 15877 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
6637 /* 15880 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6638 /* 15884 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6639 /* 15889 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src1
6640 /* 15895 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
6641 /* 15900 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
6642 /* 15905 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
6643 /* 15908 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6644 /* 15910 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6645 /* 15913 */ GIR_RootConstrainSelectedInstOperands,
6646 /* 15914 */ // GIR_Coverage, 22690,
6647 /* 15914 */ GIR_EraseRootFromParent_Done,
6648 /* 15915 */ // Label 487: @15915
6649 /* 15915 */ GIM_Try, /*On fail goto*//*Label 488*/ GIMT_Encode4(15980), // Rule ID 22691 //
6650 /* 15920 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6651 /* 15923 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6652 /* 15927 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6653 /* 15931 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(255),
6654 /* 15942 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, 255:{ *:[i32] }) => (MOVZX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src1, sub_8bit:{ *:[i32] }))
6655 /* 15942 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s8,
6656 /* 15945 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
6657 /* 15949 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
6658 /* 15954 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src1
6659 /* 15960 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
6660 /* 15965 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
6661 /* 15970 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
6662 /* 15973 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6663 /* 15975 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
6664 /* 15978 */ GIR_RootConstrainSelectedInstOperands,
6665 /* 15979 */ // GIR_Coverage, 22691,
6666 /* 15979 */ GIR_EraseRootFromParent_Done,
6667 /* 15980 */ // Label 488: @15980
6668 /* 15980 */ GIM_Try, /*On fail goto*//*Label 489*/ GIMT_Encode4(16024), // Rule ID 22916 //
6669 /* 15985 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6670 /* 15988 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6671 /* 15991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6672 /* 15995 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6673 /* 15999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6674 /* 16003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6675 /* 16007 */ // MIs[1] Operand 1
6676 /* 16007 */ // No operand predicates
6677 /* 16007 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6678 /* 16009 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (AND32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
6679 /* 16009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32ri),
6680 /* 16012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6681 /* 16014 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6682 /* 16016 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6683 /* 16019 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6684 /* 16022 */ GIR_RootConstrainSelectedInstOperands,
6685 /* 16023 */ // GIR_Coverage, 22916,
6686 /* 16023 */ GIR_EraseRootFromParent_Done,
6687 /* 16024 */ // Label 489: @16024
6688 /* 16024 */ GIM_Try, /*On fail goto*//*Label 490*/ GIMT_Encode4(16068), // Rule ID 23006 //
6689 /* 16029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6690 /* 16032 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6691 /* 16035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6692 /* 16039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6693 /* 16043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6694 /* 16047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
6695 /* 16051 */ // MIs[1] Operand 1
6696 /* 16051 */ // No operand predicates
6697 /* 16051 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6698 /* 16053 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (AND32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
6699 /* 16053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32ri_ND),
6700 /* 16056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6701 /* 16058 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6702 /* 16060 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
6703 /* 16063 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6704 /* 16066 */ GIR_RootConstrainSelectedInstOperands,
6705 /* 16067 */ // GIR_Coverage, 23006,
6706 /* 16067 */ GIR_EraseRootFromParent_Done,
6707 /* 16068 */ // Label 490: @16068
6708 /* 16068 */ GIM_Try, /*On fail goto*//*Label 491*/ GIMT_Encode4(16130), // Rule ID 17510 //
6709 /* 16073 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
6710 /* 16076 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6711 /* 16079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6712 /* 16083 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6713 /* 16087 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6714 /* 16091 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6715 /* 16095 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6716 /* 16099 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6717 /* 16104 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6718 /* 16108 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6719 /* 16112 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6720 /* 16114 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src2) => (ANDN32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6721 /* 16114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr),
6722 /* 16117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6723 /* 16119 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6724 /* 16123 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
6725 /* 16125 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6726 /* 16128 */ GIR_RootConstrainSelectedInstOperands,
6727 /* 16129 */ // GIR_Coverage, 17510,
6728 /* 16129 */ GIR_EraseRootFromParent_Done,
6729 /* 16130 */ // Label 491: @16130
6730 /* 16130 */ GIM_Try, /*On fail goto*//*Label 492*/ GIMT_Encode4(16192), // Rule ID 17514 //
6731 /* 16135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
6732 /* 16138 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6733 /* 16141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6734 /* 16145 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6735 /* 16149 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6736 /* 16153 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6737 /* 16157 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6738 /* 16161 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6739 /* 16166 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6740 /* 16170 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6741 /* 16174 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6742 /* 16176 */ // (and:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src2) => (ANDN32rr_EVEX:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6743 /* 16176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr_EVEX),
6744 /* 16179 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6745 /* 16181 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6746 /* 16185 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
6747 /* 16187 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6748 /* 16190 */ GIR_RootConstrainSelectedInstOperands,
6749 /* 16191 */ // GIR_Coverage, 17514,
6750 /* 16191 */ GIR_EraseRootFromParent_Done,
6751 /* 16192 */ // Label 492: @16192
6752 /* 16192 */ GIM_Try, /*On fail goto*//*Label 493*/ GIMT_Encode4(16254), // Rule ID 25159 //
6753 /* 16197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
6754 /* 16200 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6755 /* 16203 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6756 /* 16207 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6757 /* 16211 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6758 /* 16215 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6759 /* 16219 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6760 /* 16223 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6761 /* 16227 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6762 /* 16232 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6763 /* 16236 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6764 /* 16238 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src2, (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] })) => (ANDN32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6765 /* 16238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr),
6766 /* 16241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6767 /* 16243 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6768 /* 16247 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
6769 /* 16249 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6770 /* 16252 */ GIR_RootConstrainSelectedInstOperands,
6771 /* 16253 */ // GIR_Coverage, 25159,
6772 /* 16253 */ GIR_EraseRootFromParent_Done,
6773 /* 16254 */ // Label 493: @16254
6774 /* 16254 */ GIM_Try, /*On fail goto*//*Label 494*/ GIMT_Encode4(16316), // Rule ID 25163 //
6775 /* 16259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
6776 /* 16262 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6777 /* 16265 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6778 /* 16269 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6779 /* 16273 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6780 /* 16277 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6781 /* 16281 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
6782 /* 16285 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
6783 /* 16289 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6784 /* 16294 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6785 /* 16298 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6786 /* 16300 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src2, (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] })) => (ANDN32rr_EVEX:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6787 /* 16300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN32rr_EVEX),
6788 /* 16303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6789 /* 16305 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6790 /* 16309 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
6791 /* 16311 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6792 /* 16314 */ GIR_RootConstrainSelectedInstOperands,
6793 /* 16315 */ // GIR_Coverage, 25163,
6794 /* 16315 */ GIR_EraseRootFromParent_Done,
6795 /* 16316 */ // Label 494: @16316
6796 /* 16316 */ GIM_Try, /*On fail goto*//*Label 495*/ GIMT_Encode4(16352), // Rule ID 22908 //
6797 /* 16321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6798 /* 16324 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6799 /* 16327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6800 /* 16331 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6801 /* 16335 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6802 /* 16339 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (AND32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6803 /* 16339 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND32rr),
6804 /* 16344 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6805 /* 16350 */ GIR_RootConstrainSelectedInstOperands,
6806 /* 16351 */ // GIR_Coverage, 22908,
6807 /* 16351 */ GIR_Done,
6808 /* 16352 */ // Label 495: @16352
6809 /* 16352 */ GIM_Try, /*On fail goto*//*Label 496*/ GIMT_Encode4(16388), // Rule ID 22998 //
6810 /* 16357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
6811 /* 16360 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
6812 /* 16363 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6813 /* 16367 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6814 /* 16371 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
6815 /* 16375 */ // (and:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (AND32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
6816 /* 16375 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND32rr_ND),
6817 /* 16380 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
6818 /* 16386 */ GIR_RootConstrainSelectedInstOperands,
6819 /* 16387 */ // GIR_Coverage, 22998,
6820 /* 16387 */ GIR_Done,
6821 /* 16388 */ // Label 496: @16388
6822 /* 16388 */ GIM_Reject,
6823 /* 16389 */ // Label 472: @16389
6824 /* 16389 */ GIM_Reject,
6825 /* 16390 */ // Label 431: @16390
6826 /* 16390 */ GIM_Try, /*On fail goto*//*Label 497*/ GIMT_Encode4(17957),
6827 /* 16395 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
6828 /* 16398 */ GIM_Try, /*On fail goto*//*Label 498*/ GIMT_Encode4(16490), // Rule ID 17513 //
6829 /* 16403 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
6830 /* 16406 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6831 /* 16409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6832 /* 16413 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6833 /* 16417 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6834 /* 16421 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6835 /* 16425 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6836 /* 16429 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6837 /* 16434 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6838 /* 16438 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6839 /* 16442 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6840 /* 16446 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6841 /* 16449 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
6842 /* 16453 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6843 /* 16457 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6844 /* 16459 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6845 /* 16466 */ // (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 /* 16466 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm),
6847 /* 16469 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6848 /* 16471 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6849 /* 16475 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6850 /* 16479 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6851 /* 16482 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6852 /* 16488 */ GIR_RootConstrainSelectedInstOperands,
6853 /* 16489 */ // GIR_Coverage, 17513,
6854 /* 16489 */ GIR_EraseRootFromParent_Done,
6855 /* 16490 */ // Label 498: @16490
6856 /* 16490 */ GIM_Try, /*On fail goto*//*Label 499*/ GIMT_Encode4(16582), // Rule ID 17517 //
6857 /* 16495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
6858 /* 16498 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6859 /* 16501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6860 /* 16505 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6861 /* 16509 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
6862 /* 16513 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6863 /* 16517 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6864 /* 16521 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6865 /* 16526 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
6866 /* 16530 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6867 /* 16534 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
6868 /* 16538 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6869 /* 16541 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
6870 /* 16545 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
6871 /* 16549 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6872 /* 16551 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6873 /* 16558 */ // (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 /* 16558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm_EVEX),
6875 /* 16561 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6876 /* 16563 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
6877 /* 16567 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6878 /* 16571 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6879 /* 16574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6880 /* 16580 */ GIR_RootConstrainSelectedInstOperands,
6881 /* 16581 */ // GIR_Coverage, 17517,
6882 /* 16581 */ GIR_EraseRootFromParent_Done,
6883 /* 16582 */ // Label 499: @16582
6884 /* 16582 */ GIM_Try, /*On fail goto*//*Label 500*/ GIMT_Encode4(16674), // Rule ID 25162 //
6885 /* 16587 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
6886 /* 16590 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6887 /* 16593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6888 /* 16597 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6889 /* 16601 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6890 /* 16605 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6891 /* 16608 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6892 /* 16612 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6893 /* 16616 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6894 /* 16620 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6895 /* 16624 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
6896 /* 16628 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6897 /* 16632 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6898 /* 16637 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6899 /* 16641 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6900 /* 16643 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6901 /* 16650 */ // (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 /* 16650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm),
6903 /* 16653 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6904 /* 16655 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6905 /* 16659 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6906 /* 16663 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6907 /* 16666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6908 /* 16672 */ GIR_RootConstrainSelectedInstOperands,
6909 /* 16673 */ // GIR_Coverage, 25162,
6910 /* 16673 */ GIR_EraseRootFromParent_Done,
6911 /* 16674 */ // Label 500: @16674
6912 /* 16674 */ GIM_Try, /*On fail goto*//*Label 501*/ GIMT_Encode4(16766), // Rule ID 25166 //
6913 /* 16679 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
6914 /* 16682 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6915 /* 16685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6916 /* 16689 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6917 /* 16693 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6918 /* 16697 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6919 /* 16700 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6920 /* 16704 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6921 /* 16708 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6922 /* 16712 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6923 /* 16716 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
6924 /* 16720 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6925 /* 16724 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6926 /* 16729 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
6927 /* 16733 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
6928 /* 16735 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6929 /* 16742 */ // (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 /* 16742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rm_EVEX),
6931 /* 16745 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6932 /* 16747 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src1
6933 /* 16751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6934 /* 16755 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6935 /* 16758 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
6936 /* 16764 */ GIR_RootConstrainSelectedInstOperands,
6937 /* 16765 */ // GIR_Coverage, 25166,
6938 /* 16765 */ GIR_EraseRootFromParent_Done,
6939 /* 16766 */ // Label 501: @16766
6940 /* 16766 */ GIM_Try, /*On fail goto*//*Label 502*/ GIMT_Encode4(16834), // Rule ID 26130 //
6941 /* 16771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6942 /* 16774 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6943 /* 16777 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6944 /* 16781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6945 /* 16785 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6946 /* 16789 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6947 /* 16792 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6948 /* 16796 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6949 /* 16800 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6950 /* 16804 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6951 /* 16806 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6952 /* 16813 */ // (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 /* 16813 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64rm),
6954 /* 16816 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6955 /* 16818 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
6956 /* 16820 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6957 /* 16824 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6958 /* 16827 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6959 /* 16832 */ GIR_RootConstrainSelectedInstOperands,
6960 /* 16833 */ // GIR_Coverage, 26130,
6961 /* 16833 */ GIR_EraseRootFromParent_Done,
6962 /* 16834 */ // Label 502: @16834
6963 /* 16834 */ GIM_Try, /*On fail goto*//*Label 503*/ GIMT_Encode4(16902), // Rule ID 22913 //
6964 /* 16839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
6965 /* 16842 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6966 /* 16845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6967 /* 16849 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6968 /* 16853 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
6969 /* 16857 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
6970 /* 16861 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
6971 /* 16864 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
6972 /* 16868 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
6973 /* 16872 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
6974 /* 16874 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
6975 /* 16881 */ // (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 /* 16881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64rm),
6977 /* 16884 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
6978 /* 16886 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
6979 /* 16888 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
6980 /* 16892 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
6981 /* 16895 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
6982 /* 16900 */ GIR_RootConstrainSelectedInstOperands,
6983 /* 16901 */ // GIR_Coverage, 22913,
6984 /* 16901 */ GIR_EraseRootFromParent_Done,
6985 /* 16902 */ // Label 503: @16902
6986 /* 16902 */ GIM_Try, /*On fail goto*//*Label 504*/ GIMT_Encode4(16979), // Rule ID 25054 //
6987 /* 16907 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
6988 /* 16910 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
6989 /* 16913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6990 /* 16917 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
6991 /* 16921 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
6992 /* 16925 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
6993 /* 16929 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
6994 /* 16933 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
6995 /* 16938 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
6996 /* 16942 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
6997 /* 16946 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
6998 /* 16950 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
6999 /* 16954 */ // MIs[2] src
7000 /* 16954 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7001 /* 16959 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
7002 /* 16963 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7003 /* 16965 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLCIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7004 /* 16965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC64rr),
7005 /* 16968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7006 /* 16970 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7007 /* 16974 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7008 /* 16977 */ GIR_RootConstrainSelectedInstOperands,
7009 /* 16978 */ // GIR_Coverage, 25054,
7010 /* 16978 */ GIR_EraseRootFromParent_Done,
7011 /* 16979 */ // Label 504: @16979
7012 /* 16979 */ GIM_Try, /*On fail goto*//*Label 505*/ GIMT_Encode4(17056), // Rule ID 25066 //
7013 /* 16984 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7014 /* 16987 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7015 /* 16990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7016 /* 16994 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7017 /* 16998 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7018 /* 17002 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7019 /* 17006 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7020 /* 17010 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7021 /* 17015 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7022 /* 17019 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7023 /* 17023 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
7024 /* 17027 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7025 /* 17031 */ // MIs[2] src
7026 /* 17031 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7027 /* 17036 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
7028 /* 17040 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7029 /* 17042 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (TZMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7030 /* 17042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK64rr),
7031 /* 17045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7032 /* 17047 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7033 /* 17051 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7034 /* 17054 */ GIR_RootConstrainSelectedInstOperands,
7035 /* 17055 */ // GIR_Coverage, 25066,
7036 /* 17055 */ GIR_EraseRootFromParent_Done,
7037 /* 17056 */ // Label 505: @17056
7038 /* 17056 */ GIM_Try, /*On fail goto*//*Label 506*/ GIMT_Encode4(17133), // Rule ID 17321 //
7039 /* 17061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7040 /* 17064 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7041 /* 17067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7042 /* 17071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7043 /* 17075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7044 /* 17079 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7045 /* 17083 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7046 /* 17087 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7047 /* 17092 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7048 /* 17096 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7049 /* 17100 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
7050 /* 17104 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7051 /* 17108 */ // MIs[2] src
7052 /* 17108 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7053 /* 17113 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
7054 /* 17117 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7055 /* 17119 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7056 /* 17119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCIC64rr),
7057 /* 17122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7058 /* 17124 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7059 /* 17128 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7060 /* 17131 */ GIR_RootConstrainSelectedInstOperands,
7061 /* 17132 */ // GIR_Coverage, 17321,
7062 /* 17132 */ GIR_EraseRootFromParent_Done,
7063 /* 17133 */ // Label 506: @17133
7064 /* 17133 */ GIM_Try, /*On fail goto*//*Label 507*/ GIMT_Encode4(17210), // Rule ID 17333 //
7065 /* 17138 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7066 /* 17141 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7067 /* 17144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7068 /* 17148 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7069 /* 17152 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7070 /* 17156 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7071 /* 17160 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7072 /* 17164 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7073 /* 17169 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7074 /* 17173 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
7075 /* 17177 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
7076 /* 17181 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
7077 /* 17185 */ // MIs[2] src
7078 /* 17185 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
7079 /* 17190 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
7080 /* 17194 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7081 /* 17196 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (TZMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7082 /* 17196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZMSK64rr),
7083 /* 17199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7084 /* 17201 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7085 /* 17205 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7086 /* 17208 */ GIR_RootConstrainSelectedInstOperands,
7087 /* 17209 */ // GIR_Coverage, 17333,
7088 /* 17209 */ GIR_EraseRootFromParent_Done,
7089 /* 17210 */ // Label 507: @17210
7090 /* 17210 */ GIM_Try, /*On fail goto*//*Label 508*/ GIMT_Encode4(17268), // Rule ID 25048 //
7091 /* 17215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7092 /* 17218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7093 /* 17222 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7094 /* 17226 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7095 /* 17230 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7096 /* 17234 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7097 /* 17238 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7098 /* 17243 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
7099 /* 17247 */ // MIs[0] src
7100 /* 17247 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
7101 /* 17252 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7102 /* 17254 */ // (and:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7103 /* 17254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL64rr),
7104 /* 17257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7105 /* 17259 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
7106 /* 17263 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7107 /* 17266 */ GIR_RootConstrainSelectedInstOperands,
7108 /* 17267 */ // GIR_Coverage, 25048,
7109 /* 17267 */ GIR_EraseRootFromParent_Done,
7110 /* 17268 */ // Label 508: @17268
7111 /* 17268 */ GIM_Try, /*On fail goto*//*Label 509*/ GIMT_Encode4(17377), // Rule ID 26106 //
7112 /* 17273 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7113 /* 17276 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7114 /* 17280 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7115 /* 17284 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
7116 /* 17288 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7117 /* 17292 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
7118 /* 17296 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
7119 /* 17300 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
7120 /* 17305 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7121 /* 17309 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7122 /* 17311 */ // (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 /* 17311 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
7124 /* 17314 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
7125 /* 17318 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7126 /* 17323 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
7127 /* 17325 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
7128 /* 17328 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
7129 /* 17332 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7130 /* 17337 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7131 /* 17340 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
7132 /* 17344 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
7133 /* 17347 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
7134 /* 17352 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
7135 /* 17357 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
7136 /* 17362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR64rr),
7137 /* 17365 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7138 /* 17367 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7139 /* 17369 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7140 /* 17372 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7141 /* 17375 */ GIR_RootConstrainSelectedInstOperands,
7142 /* 17376 */ // GIR_Coverage, 26106,
7143 /* 17376 */ GIR_EraseRootFromParent_Done,
7144 /* 17377 */ // Label 509: @17377
7145 /* 17377 */ GIM_Try, /*On fail goto*//*Label 510*/ GIMT_Encode4(17431), // Rule ID 17315 //
7146 /* 17382 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
7147 /* 17385 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7148 /* 17388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7149 /* 17392 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7150 /* 17396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7151 /* 17400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
7152 /* 17404 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7153 /* 17408 */ // MIs[1] src
7154 /* 17408 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
7155 /* 17413 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
7156 /* 17417 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7157 /* 17419 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
7158 /* 17419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCFILL64rr),
7159 /* 17422 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7160 /* 17424 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
7161 /* 17426 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7162 /* 17429 */ GIR_RootConstrainSelectedInstOperands,
7163 /* 17430 */ // GIR_Coverage, 17315,
7164 /* 17430 */ GIR_EraseRootFromParent_Done,
7165 /* 17431 */ // Label 510: @17431
7166 /* 17431 */ GIM_Try, /*On fail goto*//*Label 511*/ GIMT_Encode4(17540), // Rule ID 22844 //
7167 /* 17436 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7168 /* 17439 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7169 /* 17443 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7170 /* 17447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7171 /* 17451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
7172 /* 17455 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7173 /* 17459 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
7174 /* 17463 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
7175 /* 17467 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
7176 /* 17472 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7177 /* 17474 */ // (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 /* 17474 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
7179 /* 17477 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
7180 /* 17481 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7181 /* 17486 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
7182 /* 17488 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
7183 /* 17491 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
7184 /* 17495 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7185 /* 17500 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7186 /* 17503 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
7187 /* 17507 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
7188 /* 17510 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
7189 /* 17515 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
7190 /* 17520 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
7191 /* 17525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTR64rr),
7192 /* 17528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7193 /* 17530 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7194 /* 17532 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7195 /* 17535 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7196 /* 17538 */ GIR_RootConstrainSelectedInstOperands,
7197 /* 17539 */ // GIR_Coverage, 22844,
7198 /* 17539 */ GIR_EraseRootFromParent_Done,
7199 /* 17540 */ // Label 511: @17540
7200 /* 17540 */ GIM_Try, /*On fail goto*//*Label 512*/ GIMT_Encode4(17588), // Rule ID 22917 //
7201 /* 17545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
7202 /* 17548 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7203 /* 17551 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7204 /* 17555 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7205 /* 17559 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7206 /* 17563 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7207 /* 17567 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
7208 /* 17571 */ // MIs[1] Operand 1
7209 /* 17571 */ // No operand predicates
7210 /* 17571 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7211 /* 17573 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (AND64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
7212 /* 17573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64ri32),
7213 /* 17576 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7214 /* 17578 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7215 /* 17580 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
7216 /* 17583 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7217 /* 17586 */ GIR_RootConstrainSelectedInstOperands,
7218 /* 17587 */ // GIR_Coverage, 22917,
7219 /* 17587 */ GIR_EraseRootFromParent_Done,
7220 /* 17588 */ // Label 512: @17588
7221 /* 17588 */ GIM_Try, /*On fail goto*//*Label 513*/ GIMT_Encode4(17636), // Rule ID 23007 //
7222 /* 17593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
7223 /* 17596 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7224 /* 17599 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7225 /* 17603 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7226 /* 17607 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7227 /* 17611 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
7228 /* 17615 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
7229 /* 17619 */ // MIs[1] Operand 1
7230 /* 17619 */ // No operand predicates
7231 /* 17619 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7232 /* 17621 */ // (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 /* 17621 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64ri32_ND),
7234 /* 17624 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7235 /* 17626 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7236 /* 17628 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
7237 /* 17631 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7238 /* 17634 */ GIR_RootConstrainSelectedInstOperands,
7239 /* 17635 */ // GIR_Coverage, 23007,
7240 /* 17635 */ GIR_EraseRootFromParent_Done,
7241 /* 17636 */ // Label 513: @17636
7242 /* 17636 */ GIM_Try, /*On fail goto*//*Label 514*/ GIMT_Encode4(17698), // Rule ID 17511 //
7243 /* 17641 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
7244 /* 17644 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7245 /* 17647 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7246 /* 17651 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7247 /* 17655 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7248 /* 17659 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7249 /* 17663 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7250 /* 17667 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7251 /* 17672 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7252 /* 17676 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7253 /* 17680 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7254 /* 17682 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src2) => (ANDN64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7255 /* 17682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr),
7256 /* 17685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7257 /* 17687 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7258 /* 17691 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7259 /* 17693 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7260 /* 17696 */ GIR_RootConstrainSelectedInstOperands,
7261 /* 17697 */ // GIR_Coverage, 17511,
7262 /* 17697 */ GIR_EraseRootFromParent_Done,
7263 /* 17698 */ // Label 514: @17698
7264 /* 17698 */ GIM_Try, /*On fail goto*//*Label 515*/ GIMT_Encode4(17760), // Rule ID 17515 //
7265 /* 17703 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
7266 /* 17706 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7267 /* 17709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7268 /* 17713 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7269 /* 17717 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7270 /* 17721 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7271 /* 17725 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7272 /* 17729 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7273 /* 17734 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7274 /* 17738 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7275 /* 17742 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7276 /* 17744 */ // (and:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src2) => (ANDN64rr_EVEX:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7277 /* 17744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr_EVEX),
7278 /* 17747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7279 /* 17749 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7280 /* 17753 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7281 /* 17755 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7282 /* 17758 */ GIR_RootConstrainSelectedInstOperands,
7283 /* 17759 */ // GIR_Coverage, 17515,
7284 /* 17759 */ GIR_EraseRootFromParent_Done,
7285 /* 17760 */ // Label 515: @17760
7286 /* 17760 */ GIM_Try, /*On fail goto*//*Label 516*/ GIMT_Encode4(17822), // Rule ID 25160 //
7287 /* 17765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_NoEGPR),
7288 /* 17768 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7289 /* 17771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7290 /* 17775 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7291 /* 17779 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7292 /* 17783 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7293 /* 17787 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7294 /* 17791 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7295 /* 17795 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7296 /* 17800 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7297 /* 17804 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7298 /* 17806 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src2, (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] })) => (ANDN64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7299 /* 17806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr),
7300 /* 17809 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7301 /* 17811 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7302 /* 17815 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7303 /* 17817 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7304 /* 17820 */ GIR_RootConstrainSelectedInstOperands,
7305 /* 17821 */ // GIR_Coverage, 25160,
7306 /* 17821 */ GIR_EraseRootFromParent_Done,
7307 /* 17822 */ // Label 516: @17822
7308 /* 17822 */ GIM_Try, /*On fail goto*//*Label 517*/ GIMT_Encode4(17884), // Rule ID 25164 //
7309 /* 17827 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI_HasEGPR),
7310 /* 17830 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7311 /* 17833 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7312 /* 17837 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7313 /* 17841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7314 /* 17845 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7315 /* 17849 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
7316 /* 17853 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
7317 /* 17857 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7318 /* 17862 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
7319 /* 17866 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7320 /* 17868 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src2, (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] })) => (ANDN64rr_EVEX:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7321 /* 17868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ANDN64rr_EVEX),
7322 /* 17871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7323 /* 17873 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7324 /* 17877 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7325 /* 17879 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
7326 /* 17882 */ GIR_RootConstrainSelectedInstOperands,
7327 /* 17883 */ // GIR_Coverage, 25164,
7328 /* 17883 */ GIR_EraseRootFromParent_Done,
7329 /* 17884 */ // Label 517: @17884
7330 /* 17884 */ GIM_Try, /*On fail goto*//*Label 518*/ GIMT_Encode4(17920), // Rule ID 22909 //
7331 /* 17889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
7332 /* 17892 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7333 /* 17895 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7334 /* 17899 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7335 /* 17903 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7336 /* 17907 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (AND64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7337 /* 17907 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND64rr),
7338 /* 17912 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
7339 /* 17918 */ GIR_RootConstrainSelectedInstOperands,
7340 /* 17919 */ // GIR_Coverage, 22909,
7341 /* 17919 */ GIR_Done,
7342 /* 17920 */ // Label 518: @17920
7343 /* 17920 */ GIM_Try, /*On fail goto*//*Label 519*/ GIMT_Encode4(17956), // Rule ID 22999 //
7344 /* 17925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
7345 /* 17928 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
7346 /* 17931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7347 /* 17935 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7348 /* 17939 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
7349 /* 17943 */ // (and:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (AND64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
7350 /* 17943 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::AND64rr_ND),
7351 /* 17948 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
7352 /* 17954 */ GIR_RootConstrainSelectedInstOperands,
7353 /* 17955 */ // GIR_Coverage, 22999,
7354 /* 17955 */ GIR_Done,
7355 /* 17956 */ // Label 519: @17956
7356 /* 17956 */ GIM_Reject,
7357 /* 17957 */ // Label 497: @17957
7358 /* 17957 */ GIM_Reject,
7359 /* 17958 */ // Label 432: @17958
7360 /* 17958 */ GIM_Try, /*On fail goto*//*Label 520*/ GIMT_Encode4(18303),
7361 /* 17963 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
7362 /* 17966 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
7363 /* 17969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7364 /* 17973 */ GIM_Try, /*On fail goto*//*Label 521*/ GIMT_Encode4(18093), // Rule ID 19463 //
7365 /* 17978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7366 /* 17982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7367 /* 17986 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
7368 /* 17990 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
7369 /* 17994 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7370 /* 17999 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7371 /* 18003 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7372 /* 18009 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7373 /* 18011 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7374 /* 18015 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7375 /* 18017 */ // (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 /* 18017 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7377 /* 18020 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7378 /* 18024 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7379 /* 18029 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7380 /* 18033 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7381 /* 18038 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7382 /* 18041 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7383 /* 18045 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7384 /* 18050 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7385 /* 18054 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7386 /* 18059 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7387 /* 18062 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7388 /* 18066 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7389 /* 18071 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7390 /* 18074 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7391 /* 18077 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7392 /* 18079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7393 /* 18082 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7394 /* 18084 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7395 /* 18087 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
7396 /* 18092 */ // GIR_Coverage, 19463,
7397 /* 18092 */ GIR_EraseRootFromParent_Done,
7398 /* 18093 */ // Label 521: @18093
7399 /* 18093 */ GIM_Try, /*On fail goto*//*Label 522*/ GIMT_Encode4(18213), // Rule ID 25426 //
7400 /* 18098 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7401 /* 18102 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7402 /* 18106 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7403 /* 18110 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
7404 /* 18114 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
7405 /* 18118 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7406 /* 18123 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7407 /* 18127 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7408 /* 18133 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7409 /* 18135 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7410 /* 18137 */ // (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 /* 18137 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7412 /* 18140 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7413 /* 18144 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7414 /* 18149 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
7415 /* 18153 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7416 /* 18158 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7417 /* 18161 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7418 /* 18165 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7419 /* 18170 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7420 /* 18174 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7421 /* 18179 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7422 /* 18182 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7423 /* 18186 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7424 /* 18191 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7425 /* 18194 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7426 /* 18197 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7427 /* 18199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7428 /* 18202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7429 /* 18204 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7430 /* 18207 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
7431 /* 18212 */ // GIR_Coverage, 25426,
7432 /* 18212 */ GIR_EraseRootFromParent_Done,
7433 /* 18213 */ // Label 522: @18213
7434 /* 18213 */ GIM_Try, /*On fail goto*//*Label 523*/ GIMT_Encode4(18302), // Rule ID 19459 //
7435 /* 18218 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7436 /* 18222 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
7437 /* 18226 */ // (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 /* 18226 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7439 /* 18229 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7440 /* 18233 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7441 /* 18238 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7442 /* 18242 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7443 /* 18247 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7444 /* 18250 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7445 /* 18254 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7446 /* 18259 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
7447 /* 18263 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7448 /* 18268 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7449 /* 18271 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
7450 /* 18275 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7451 /* 18280 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7452 /* 18283 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7453 /* 18286 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7454 /* 18288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7455 /* 18291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7456 /* 18293 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7457 /* 18296 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
7458 /* 18301 */ // GIR_Coverage, 19459,
7459 /* 18301 */ GIR_EraseRootFromParent_Done,
7460 /* 18302 */ // Label 523: @18302
7461 /* 18302 */ GIM_Reject,
7462 /* 18303 */ // Label 520: @18303
7463 /* 18303 */ GIM_Reject,
7464 /* 18304 */ // Label 433: @18304
7465 /* 18304 */ GIM_Try, /*On fail goto*//*Label 524*/ GIMT_Encode4(18649),
7466 /* 18309 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
7467 /* 18312 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
7468 /* 18315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7469 /* 18319 */ GIM_Try, /*On fail goto*//*Label 525*/ GIMT_Encode4(18439), // Rule ID 19464 //
7470 /* 18324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7471 /* 18328 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7472 /* 18332 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
7473 /* 18336 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
7474 /* 18340 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7475 /* 18345 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7476 /* 18349 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7477 /* 18355 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7478 /* 18357 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7479 /* 18361 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7480 /* 18363 */ // (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] })
7481 /* 18363 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7482 /* 18366 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7483 /* 18370 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7484 /* 18375 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7485 /* 18379 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7486 /* 18384 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7487 /* 18387 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7488 /* 18391 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7489 /* 18396 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7490 /* 18400 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7491 /* 18405 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7492 /* 18408 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7493 /* 18412 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7494 /* 18417 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7495 /* 18420 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7496 /* 18423 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7497 /* 18425 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7498 /* 18428 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7499 /* 18430 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7500 /* 18433 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
7501 /* 18438 */ // GIR_Coverage, 19464,
7502 /* 18438 */ GIR_EraseRootFromParent_Done,
7503 /* 18439 */ // Label 525: @18439
7504 /* 18439 */ GIM_Try, /*On fail goto*//*Label 526*/ GIMT_Encode4(18559), // Rule ID 25427 //
7505 /* 18444 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7506 /* 18448 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7507 /* 18452 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7508 /* 18456 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
7509 /* 18460 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
7510 /* 18464 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7511 /* 18469 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7512 /* 18473 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7513 /* 18479 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7514 /* 18481 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7515 /* 18483 */ // (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] })
7516 /* 18483 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7517 /* 18486 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7518 /* 18490 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7519 /* 18495 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
7520 /* 18499 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7521 /* 18504 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7522 /* 18507 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7523 /* 18511 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7524 /* 18516 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7525 /* 18520 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7526 /* 18525 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7527 /* 18528 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7528 /* 18532 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7529 /* 18537 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7530 /* 18540 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7531 /* 18543 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7532 /* 18545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7533 /* 18548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7534 /* 18550 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7535 /* 18553 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
7536 /* 18558 */ // GIR_Coverage, 25427,
7537 /* 18558 */ GIR_EraseRootFromParent_Done,
7538 /* 18559 */ // Label 526: @18559
7539 /* 18559 */ GIM_Try, /*On fail goto*//*Label 527*/ GIMT_Encode4(18648), // Rule ID 19460 //
7540 /* 18564 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7541 /* 18568 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
7542 /* 18572 */ // (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] })
7543 /* 18572 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7544 /* 18575 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7545 /* 18579 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7546 /* 18584 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7547 /* 18588 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7548 /* 18593 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7549 /* 18596 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7550 /* 18600 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7551 /* 18605 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
7552 /* 18609 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7553 /* 18614 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7554 /* 18617 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
7555 /* 18621 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7556 /* 18626 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7557 /* 18629 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7558 /* 18632 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7559 /* 18634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7560 /* 18637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7561 /* 18639 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7562 /* 18642 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
7563 /* 18647 */ // GIR_Coverage, 19460,
7564 /* 18647 */ GIR_EraseRootFromParent_Done,
7565 /* 18648 */ // Label 527: @18648
7566 /* 18648 */ GIM_Reject,
7567 /* 18649 */ // Label 524: @18649
7568 /* 18649 */ GIM_Reject,
7569 /* 18650 */ // Label 434: @18650
7570 /* 18650 */ GIM_Try, /*On fail goto*//*Label 528*/ GIMT_Encode4(19147),
7571 /* 18655 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
7572 /* 18658 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
7573 /* 18661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7574 /* 18665 */ GIM_Try, /*On fail goto*//*Label 529*/ GIMT_Encode4(18725), // Rule ID 4409 //
7575 /* 18670 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
7576 /* 18673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7577 /* 18677 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7578 /* 18681 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
7579 /* 18685 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
7580 /* 18689 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7581 /* 18694 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7582 /* 18698 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7583 /* 18704 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7584 /* 18706 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7585 /* 18710 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7586 /* 18712 */ // (and:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] }), VK8:{ *:[v8i1] }:$src2) => (KANDNBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
7587 /* 18712 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNBkk),
7588 /* 18715 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7589 /* 18717 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7590 /* 18721 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7591 /* 18723 */ GIR_RootConstrainSelectedInstOperands,
7592 /* 18724 */ // GIR_Coverage, 4409,
7593 /* 18724 */ GIR_EraseRootFromParent_Done,
7594 /* 18725 */ // Label 529: @18725
7595 /* 18725 */ GIM_Try, /*On fail goto*//*Label 530*/ GIMT_Encode4(18848), // Rule ID 19461 //
7596 /* 18730 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
7597 /* 18733 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7598 /* 18737 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7599 /* 18741 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
7600 /* 18745 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
7601 /* 18749 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7602 /* 18754 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7603 /* 18758 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7604 /* 18764 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7605 /* 18766 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7606 /* 18770 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7607 /* 18772 */ // (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] })
7608 /* 18772 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7609 /* 18775 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7610 /* 18779 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7611 /* 18784 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7612 /* 18788 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7613 /* 18793 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7614 /* 18796 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7615 /* 18800 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7616 /* 18805 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7617 /* 18809 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7618 /* 18814 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7619 /* 18817 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7620 /* 18821 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7621 /* 18826 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7622 /* 18829 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7623 /* 18832 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7624 /* 18834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7625 /* 18837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7626 /* 18839 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7627 /* 18842 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
7628 /* 18847 */ // GIR_Coverage, 19461,
7629 /* 18847 */ GIR_EraseRootFromParent_Done,
7630 /* 18848 */ // Label 530: @18848
7631 /* 18848 */ GIM_Try, /*On fail goto*//*Label 531*/ GIMT_Encode4(18908), // Rule ID 23750 //
7632 /* 18853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
7633 /* 18856 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7634 /* 18860 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7635 /* 18864 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7636 /* 18868 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
7637 /* 18872 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
7638 /* 18876 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7639 /* 18881 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7640 /* 18885 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7641 /* 18891 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7642 /* 18893 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7643 /* 18895 */ // (and:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src2, (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] })) => (KANDNBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
7644 /* 18895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNBkk),
7645 /* 18898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7646 /* 18900 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7647 /* 18904 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7648 /* 18906 */ GIR_RootConstrainSelectedInstOperands,
7649 /* 18907 */ // GIR_Coverage, 23750,
7650 /* 18907 */ GIR_EraseRootFromParent_Done,
7651 /* 18908 */ // Label 531: @18908
7652 /* 18908 */ GIM_Try, /*On fail goto*//*Label 532*/ GIMT_Encode4(19031), // Rule ID 25424 //
7653 /* 18913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
7654 /* 18916 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7655 /* 18920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7656 /* 18924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7657 /* 18928 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
7658 /* 18932 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
7659 /* 18936 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7660 /* 18941 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7661 /* 18945 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7662 /* 18951 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7663 /* 18953 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7664 /* 18955 */ // (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] })
7665 /* 18955 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7666 /* 18958 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7667 /* 18962 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7668 /* 18967 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
7669 /* 18971 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7670 /* 18976 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7671 /* 18979 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7672 /* 18983 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7673 /* 18988 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
7674 /* 18992 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7675 /* 18997 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7676 /* 19000 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7677 /* 19004 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7678 /* 19009 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7679 /* 19012 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7680 /* 19015 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7681 /* 19017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7682 /* 19020 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7683 /* 19022 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7684 /* 19025 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
7685 /* 19030 */ // GIR_Coverage, 25424,
7686 /* 19030 */ GIR_EraseRootFromParent_Done,
7687 /* 19031 */ // Label 532: @19031
7688 /* 19031 */ GIM_Try, /*On fail goto*//*Label 533*/ GIMT_Encode4(19054), // Rule ID 4393 //
7689 /* 19036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
7690 /* 19039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7691 /* 19043 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7692 /* 19047 */ // (and:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KANDBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
7693 /* 19047 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDBkk),
7694 /* 19052 */ GIR_RootConstrainSelectedInstOperands,
7695 /* 19053 */ // GIR_Coverage, 4393,
7696 /* 19053 */ GIR_Done,
7697 /* 19054 */ // Label 533: @19054
7698 /* 19054 */ GIM_Try, /*On fail goto*//*Label 534*/ GIMT_Encode4(19146), // Rule ID 19457 //
7699 /* 19059 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
7700 /* 19062 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7701 /* 19066 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
7702 /* 19070 */ // (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] })
7703 /* 19070 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
7704 /* 19073 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7705 /* 19077 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7706 /* 19082 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
7707 /* 19086 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7708 /* 19091 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
7709 /* 19094 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7710 /* 19098 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7711 /* 19103 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
7712 /* 19107 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
7713 /* 19112 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
7714 /* 19115 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
7715 /* 19119 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
7716 /* 19124 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
7717 /* 19127 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
7718 /* 19130 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
7719 /* 19132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
7720 /* 19135 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7721 /* 19137 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
7722 /* 19140 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
7723 /* 19145 */ // GIR_Coverage, 19457,
7724 /* 19145 */ GIR_EraseRootFromParent_Done,
7725 /* 19146 */ // Label 534: @19146
7726 /* 19146 */ GIM_Reject,
7727 /* 19147 */ // Label 528: @19147
7728 /* 19147 */ GIM_Reject,
7729 /* 19148 */ // Label 435: @19148
7730 /* 19148 */ GIM_Try, /*On fail goto*//*Label 535*/ GIMT_Encode4(19307),
7731 /* 19153 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
7732 /* 19156 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
7733 /* 19159 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7734 /* 19163 */ GIM_Try, /*On fail goto*//*Label 536*/ GIMT_Encode4(19223), // Rule ID 4410 //
7735 /* 19168 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
7736 /* 19171 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7737 /* 19175 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7738 /* 19179 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
7739 /* 19183 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
7740 /* 19187 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7741 /* 19192 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7742 /* 19196 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7743 /* 19202 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7744 /* 19204 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7745 /* 19208 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7746 /* 19210 */ // (and:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] }), VK16:{ *:[v16i1] }:$src2) => (KANDNWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
7747 /* 19210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7748 /* 19213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7749 /* 19215 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7750 /* 19219 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7751 /* 19221 */ GIR_RootConstrainSelectedInstOperands,
7752 /* 19222 */ // GIR_Coverage, 4410,
7753 /* 19222 */ GIR_EraseRootFromParent_Done,
7754 /* 19223 */ // Label 536: @19223
7755 /* 19223 */ GIM_Try, /*On fail goto*//*Label 537*/ GIMT_Encode4(19283), // Rule ID 23751 //
7756 /* 19228 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
7757 /* 19231 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7758 /* 19235 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7759 /* 19239 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7760 /* 19243 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
7761 /* 19247 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
7762 /* 19251 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7763 /* 19256 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7764 /* 19260 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7765 /* 19266 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7766 /* 19268 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7767 /* 19270 */ // (and:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src2, (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] })) => (KANDNWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
7768 /* 19270 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNWkk),
7769 /* 19273 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7770 /* 19275 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7771 /* 19279 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7772 /* 19281 */ GIR_RootConstrainSelectedInstOperands,
7773 /* 19282 */ // GIR_Coverage, 23751,
7774 /* 19282 */ GIR_EraseRootFromParent_Done,
7775 /* 19283 */ // Label 537: @19283
7776 /* 19283 */ GIM_Try, /*On fail goto*//*Label 538*/ GIMT_Encode4(19306), // Rule ID 4394 //
7777 /* 19288 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
7778 /* 19291 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7779 /* 19295 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
7780 /* 19299 */ // (and:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KANDWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
7781 /* 19299 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDWkk),
7782 /* 19304 */ GIR_RootConstrainSelectedInstOperands,
7783 /* 19305 */ // GIR_Coverage, 4394,
7784 /* 19305 */ GIR_Done,
7785 /* 19306 */ // Label 538: @19306
7786 /* 19306 */ GIM_Reject,
7787 /* 19307 */ // Label 535: @19307
7788 /* 19307 */ GIM_Reject,
7789 /* 19308 */ // Label 436: @19308
7790 /* 19308 */ GIM_Try, /*On fail goto*//*Label 539*/ GIMT_Encode4(19467),
7791 /* 19313 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
7792 /* 19316 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
7793 /* 19319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7794 /* 19323 */ GIM_Try, /*On fail goto*//*Label 540*/ GIMT_Encode4(19383), // Rule ID 4411 //
7795 /* 19328 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
7796 /* 19331 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7797 /* 19335 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7798 /* 19339 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
7799 /* 19343 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
7800 /* 19347 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7801 /* 19352 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7802 /* 19356 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7803 /* 19362 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7804 /* 19364 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7805 /* 19368 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7806 /* 19370 */ // (and:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] }), VK32:{ *:[v32i1] }:$src2) => (KANDNDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
7807 /* 19370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNDkk),
7808 /* 19373 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7809 /* 19375 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7810 /* 19379 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7811 /* 19381 */ GIR_RootConstrainSelectedInstOperands,
7812 /* 19382 */ // GIR_Coverage, 4411,
7813 /* 19382 */ GIR_EraseRootFromParent_Done,
7814 /* 19383 */ // Label 540: @19383
7815 /* 19383 */ GIM_Try, /*On fail goto*//*Label 541*/ GIMT_Encode4(19443), // Rule ID 23752 //
7816 /* 19388 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
7817 /* 19391 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7818 /* 19395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7819 /* 19399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7820 /* 19403 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
7821 /* 19407 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
7822 /* 19411 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7823 /* 19416 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7824 /* 19420 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7825 /* 19426 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7826 /* 19428 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7827 /* 19430 */ // (and:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src2, (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] })) => (KANDNDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
7828 /* 19430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNDkk),
7829 /* 19433 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7830 /* 19435 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7831 /* 19439 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7832 /* 19441 */ GIR_RootConstrainSelectedInstOperands,
7833 /* 19442 */ // GIR_Coverage, 23752,
7834 /* 19442 */ GIR_EraseRootFromParent_Done,
7835 /* 19443 */ // Label 541: @19443
7836 /* 19443 */ GIM_Try, /*On fail goto*//*Label 542*/ GIMT_Encode4(19466), // Rule ID 4395 //
7837 /* 19448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
7838 /* 19451 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7839 /* 19455 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
7840 /* 19459 */ // (and:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KANDDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
7841 /* 19459 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDDkk),
7842 /* 19464 */ GIR_RootConstrainSelectedInstOperands,
7843 /* 19465 */ // GIR_Coverage, 4395,
7844 /* 19465 */ GIR_Done,
7845 /* 19466 */ // Label 542: @19466
7846 /* 19466 */ GIM_Reject,
7847 /* 19467 */ // Label 539: @19467
7848 /* 19467 */ GIM_Reject,
7849 /* 19468 */ // Label 437: @19468
7850 /* 19468 */ GIM_Try, /*On fail goto*//*Label 543*/ GIMT_Encode4(19627),
7851 /* 19473 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
7852 /* 19476 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
7853 /* 19479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7854 /* 19483 */ GIM_Try, /*On fail goto*//*Label 544*/ GIMT_Encode4(19543), // Rule ID 4412 //
7855 /* 19488 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
7856 /* 19491 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7857 /* 19495 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7858 /* 19499 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
7859 /* 19503 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
7860 /* 19507 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7861 /* 19512 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7862 /* 19516 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7863 /* 19522 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7864 /* 19524 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7865 /* 19528 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7866 /* 19530 */ // (and:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] }), VK64:{ *:[v64i1] }:$src2) => (KANDNQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
7867 /* 19530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNQkk),
7868 /* 19533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7869 /* 19535 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7870 /* 19539 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
7871 /* 19541 */ GIR_RootConstrainSelectedInstOperands,
7872 /* 19542 */ // GIR_Coverage, 4412,
7873 /* 19542 */ GIR_EraseRootFromParent_Done,
7874 /* 19543 */ // Label 544: @19543
7875 /* 19543 */ GIM_Try, /*On fail goto*//*Label 545*/ GIMT_Encode4(19603), // Rule ID 23753 //
7876 /* 19548 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
7877 /* 19551 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7878 /* 19555 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7879 /* 19559 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
7880 /* 19563 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
7881 /* 19567 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
7882 /* 19571 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7883 /* 19576 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
7884 /* 19580 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
7885 /* 19586 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
7886 /* 19588 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
7887 /* 19590 */ // (and:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src2, (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] })) => (KANDNQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
7888 /* 19590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KANDNQkk),
7889 /* 19593 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7890 /* 19595 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
7891 /* 19599 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
7892 /* 19601 */ GIR_RootConstrainSelectedInstOperands,
7893 /* 19602 */ // GIR_Coverage, 23753,
7894 /* 19602 */ GIR_EraseRootFromParent_Done,
7895 /* 19603 */ // Label 545: @19603
7896 /* 19603 */ GIM_Try, /*On fail goto*//*Label 546*/ GIMT_Encode4(19626), // Rule ID 4396 //
7897 /* 19608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
7898 /* 19611 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7899 /* 19615 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
7900 /* 19619 */ // (and:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KANDQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
7901 /* 19619 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KANDQkk),
7902 /* 19624 */ GIR_RootConstrainSelectedInstOperands,
7903 /* 19625 */ // GIR_Coverage, 4396,
7904 /* 19625 */ GIR_Done,
7905 /* 19626 */ // Label 546: @19626
7906 /* 19626 */ GIM_Reject,
7907 /* 19627 */ // Label 543: @19627
7908 /* 19627 */ GIM_Reject,
7909 /* 19628 */ // Label 438: @19628
7910 /* 19628 */ GIM_Try, /*On fail goto*//*Label 547*/ GIMT_Encode4(19969),
7911 /* 19633 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
7912 /* 19636 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
7913 /* 19639 */ GIM_Try, /*On fail goto*//*Label 548*/ GIMT_Encode4(19701), // Rule ID 25309 //
7914 /* 19644 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
7915 /* 19647 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7916 /* 19651 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7917 /* 19655 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7918 /* 19659 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7919 /* 19662 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7920 /* 19666 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7921 /* 19670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7922 /* 19674 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7923 /* 19676 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7924 /* 19683 */ // (and:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPANDrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7925 /* 19683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
7926 /* 19686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7927 /* 19688 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7928 /* 19690 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7929 /* 19694 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7930 /* 19699 */ GIR_RootConstrainSelectedInstOperands,
7931 /* 19700 */ // GIR_Coverage, 25309,
7932 /* 19700 */ GIR_EraseRootFromParent_Done,
7933 /* 19701 */ // Label 548: @19701
7934 /* 19701 */ GIM_Try, /*On fail goto*//*Label 549*/ GIMT_Encode4(19763), // Rule ID 25490 //
7935 /* 19706 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
7936 /* 19709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7937 /* 19713 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
7938 /* 19717 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7939 /* 19721 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7940 /* 19724 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7941 /* 19728 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7942 /* 19732 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7943 /* 19736 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7944 /* 19738 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7945 /* 19745 */ // (and:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPANDQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7946 /* 19745 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
7947 /* 19748 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7948 /* 19750 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
7949 /* 19752 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7950 /* 19756 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7951 /* 19761 */ GIR_RootConstrainSelectedInstOperands,
7952 /* 19762 */ // GIR_Coverage, 25490,
7953 /* 19762 */ GIR_EraseRootFromParent_Done,
7954 /* 19763 */ // Label 549: @19763
7955 /* 19763 */ GIM_Try, /*On fail goto*//*Label 550*/ GIMT_Encode4(19825), // Rule ID 18124 //
7956 /* 19768 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
7957 /* 19771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7958 /* 19775 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
7959 /* 19779 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7960 /* 19783 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7961 /* 19787 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7962 /* 19790 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7963 /* 19794 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7964 /* 19798 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7965 /* 19800 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7966 /* 19807 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7967 /* 19807 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
7968 /* 19810 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7969 /* 19812 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7970 /* 19814 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7971 /* 19818 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7972 /* 19823 */ GIR_RootConstrainSelectedInstOperands,
7973 /* 19824 */ // GIR_Coverage, 18124,
7974 /* 19824 */ GIR_EraseRootFromParent_Done,
7975 /* 19825 */ // Label 550: @19825
7976 /* 19825 */ GIM_Try, /*On fail goto*//*Label 551*/ GIMT_Encode4(19887), // Rule ID 20009 //
7977 /* 19830 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
7978 /* 19833 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7979 /* 19837 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
7980 /* 19841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
7981 /* 19845 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
7982 /* 19849 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
7983 /* 19852 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
7984 /* 19856 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
7985 /* 19860 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
7986 /* 19862 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
7987 /* 19869 */ // (and:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
7988 /* 19869 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
7989 /* 19872 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
7990 /* 19874 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
7991 /* 19876 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
7992 /* 19880 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
7993 /* 19885 */ GIR_RootConstrainSelectedInstOperands,
7994 /* 19886 */ // GIR_Coverage, 20009,
7995 /* 19886 */ GIR_EraseRootFromParent_Done,
7996 /* 19887 */ // Label 551: @19887
7997 /* 19887 */ GIM_Try, /*On fail goto*//*Label 552*/ GIMT_Encode4(19914), // Rule ID 18112 //
7998 /* 19892 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
7999 /* 19895 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8000 /* 19899 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8001 /* 19903 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8002 /* 19907 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPANDrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
8003 /* 19907 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
8004 /* 19912 */ GIR_RootConstrainSelectedInstOperands,
8005 /* 19913 */ // GIR_Coverage, 18112,
8006 /* 19913 */ GIR_Done,
8007 /* 19914 */ // Label 552: @19914
8008 /* 19914 */ GIM_Try, /*On fail goto*//*Label 553*/ GIMT_Encode4(19941), // Rule ID 18136 //
8009 /* 19919 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
8010 /* 19922 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8011 /* 19926 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8012 /* 19930 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8013 /* 19934 */ // (and:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PANDrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
8014 /* 19934 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
8015 /* 19939 */ GIR_RootConstrainSelectedInstOperands,
8016 /* 19940 */ // GIR_Coverage, 18136,
8017 /* 19940 */ GIR_Done,
8018 /* 19941 */ // Label 553: @19941
8019 /* 19941 */ GIM_Try, /*On fail goto*//*Label 554*/ GIMT_Encode4(19968), // Rule ID 20001 //
8020 /* 19946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8021 /* 19949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8022 /* 19953 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8023 /* 19957 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8024 /* 19961 */ // (and:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPANDQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
8025 /* 19961 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
8026 /* 19966 */ GIR_RootConstrainSelectedInstOperands,
8027 /* 19967 */ // GIR_Coverage, 20001,
8028 /* 19967 */ GIR_Done,
8029 /* 19968 */ // Label 554: @19968
8030 /* 19968 */ GIM_Reject,
8031 /* 19969 */ // Label 547: @19969
8032 /* 19969 */ GIM_Reject,
8033 /* 19970 */ // Label 439: @19970
8034 /* 19970 */ GIM_Try, /*On fail goto*//*Label 555*/ GIMT_Encode4(20435),
8035 /* 19975 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
8036 /* 19978 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
8037 /* 19981 */ GIM_Try, /*On fail goto*//*Label 556*/ GIMT_Encode4(20043), // Rule ID 25288 //
8038 /* 19986 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8039 /* 19989 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8040 /* 19993 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8041 /* 19997 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8042 /* 20001 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8043 /* 20004 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8044 /* 20008 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8045 /* 20012 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8046 /* 20016 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8047 /* 20018 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8048 /* 20025 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPANDYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
8049 /* 20025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8050 /* 20028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8051 /* 20030 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8052 /* 20032 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8053 /* 20036 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8054 /* 20041 */ GIR_RootConstrainSelectedInstOperands,
8055 /* 20042 */ // GIR_Coverage, 25288,
8056 /* 20042 */ GIR_EraseRootFromParent_Done,
8057 /* 20043 */ // Label 556: @20043
8058 /* 20043 */ GIM_Try, /*On fail goto*//*Label 557*/ GIMT_Encode4(20105), // Rule ID 25297 //
8059 /* 20048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8060 /* 20051 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8061 /* 20055 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8062 /* 20059 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8063 /* 20063 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8064 /* 20066 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8065 /* 20070 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8066 /* 20074 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8067 /* 20078 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8068 /* 20080 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8069 /* 20087 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VANDPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
8070 /* 20087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8071 /* 20090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8072 /* 20092 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8073 /* 20094 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8074 /* 20098 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8075 /* 20103 */ GIR_RootConstrainSelectedInstOperands,
8076 /* 20104 */ // GIR_Coverage, 25297,
8077 /* 20104 */ GIR_EraseRootFromParent_Done,
8078 /* 20105 */ // Label 557: @20105
8079 /* 20105 */ GIM_Try, /*On fail goto*//*Label 558*/ GIMT_Encode4(20167), // Rule ID 25496 //
8080 /* 20110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8081 /* 20113 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8082 /* 20117 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8083 /* 20121 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8084 /* 20125 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8085 /* 20128 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8086 /* 20132 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8087 /* 20136 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8088 /* 20140 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8089 /* 20142 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8090 /* 20149 */ // (and:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPANDQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
8091 /* 20149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8092 /* 20152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8093 /* 20154 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8094 /* 20156 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8095 /* 20160 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8096 /* 20165 */ GIR_RootConstrainSelectedInstOperands,
8097 /* 20166 */ // GIR_Coverage, 25496,
8098 /* 20166 */ GIR_EraseRootFromParent_Done,
8099 /* 20167 */ // Label 558: @20167
8100 /* 20167 */ GIM_Try, /*On fail goto*//*Label 559*/ GIMT_Encode4(20229), // Rule ID 18068 //
8101 /* 20172 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8102 /* 20175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8103 /* 20179 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8104 /* 20183 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8105 /* 20187 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8106 /* 20191 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8107 /* 20194 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8108 /* 20198 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8109 /* 20202 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8110 /* 20204 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8111 /* 20211 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
8112 /* 20211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8113 /* 20214 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8114 /* 20216 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8115 /* 20218 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8116 /* 20222 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8117 /* 20227 */ GIR_RootConstrainSelectedInstOperands,
8118 /* 20228 */ // GIR_Coverage, 18068,
8119 /* 20228 */ GIR_EraseRootFromParent_Done,
8120 /* 20229 */ // Label 559: @20229
8121 /* 20229 */ GIM_Try, /*On fail goto*//*Label 560*/ GIMT_Encode4(20291), // Rule ID 18096 //
8122 /* 20234 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8123 /* 20237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8124 /* 20241 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8125 /* 20245 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8126 /* 20249 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8127 /* 20253 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8128 /* 20256 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8129 /* 20260 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8130 /* 20264 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8131 /* 20266 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8132 /* 20273 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
8133 /* 20273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8134 /* 20276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8135 /* 20278 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8136 /* 20280 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8137 /* 20284 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8138 /* 20289 */ GIR_RootConstrainSelectedInstOperands,
8139 /* 20290 */ // GIR_Coverage, 18096,
8140 /* 20290 */ GIR_EraseRootFromParent_Done,
8141 /* 20291 */ // Label 560: @20291
8142 /* 20291 */ GIM_Try, /*On fail goto*//*Label 561*/ GIMT_Encode4(20353), // Rule ID 20025 //
8143 /* 20296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8144 /* 20299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8145 /* 20303 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8146 /* 20307 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8147 /* 20311 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8148 /* 20315 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8149 /* 20318 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8150 /* 20322 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8151 /* 20326 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8152 /* 20328 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8153 /* 20335 */ // (and:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
8154 /* 20335 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8155 /* 20338 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8156 /* 20340 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8157 /* 20342 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8158 /* 20346 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8159 /* 20351 */ GIR_RootConstrainSelectedInstOperands,
8160 /* 20352 */ // GIR_Coverage, 20025,
8161 /* 20352 */ GIR_EraseRootFromParent_Done,
8162 /* 20353 */ // Label 561: @20353
8163 /* 20353 */ GIM_Try, /*On fail goto*//*Label 562*/ GIMT_Encode4(20380), // Rule ID 18056 //
8164 /* 20358 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8165 /* 20361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8166 /* 20365 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8167 /* 20369 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8168 /* 20373 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPANDYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
8169 /* 20373 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
8170 /* 20378 */ GIR_RootConstrainSelectedInstOperands,
8171 /* 20379 */ // GIR_Coverage, 18056,
8172 /* 20379 */ GIR_Done,
8173 /* 20380 */ // Label 562: @20380
8174 /* 20380 */ GIM_Try, /*On fail goto*//*Label 563*/ GIMT_Encode4(20407), // Rule ID 18080 //
8175 /* 20385 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8176 /* 20388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8177 /* 20392 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8178 /* 20396 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8179 /* 20400 */ // (and:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VANDPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
8180 /* 20400 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
8181 /* 20405 */ GIR_RootConstrainSelectedInstOperands,
8182 /* 20406 */ // GIR_Coverage, 18080,
8183 /* 20406 */ GIR_Done,
8184 /* 20407 */ // Label 563: @20407
8185 /* 20407 */ GIM_Try, /*On fail goto*//*Label 564*/ GIMT_Encode4(20434), // Rule ID 20017 //
8186 /* 20412 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8187 /* 20415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8188 /* 20419 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8189 /* 20423 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8190 /* 20427 */ // (and:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPANDQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
8191 /* 20427 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
8192 /* 20432 */ GIR_RootConstrainSelectedInstOperands,
8193 /* 20433 */ // GIR_Coverage, 20017,
8194 /* 20433 */ GIR_Done,
8195 /* 20434 */ // Label 564: @20434
8196 /* 20434 */ GIM_Reject,
8197 /* 20435 */ // Label 555: @20435
8198 /* 20435 */ GIM_Reject,
8199 /* 20436 */ // Label 440: @20436
8200 /* 20436 */ GIM_Try, /*On fail goto*//*Label 565*/ GIMT_Encode4(20591),
8201 /* 20441 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
8202 /* 20444 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
8203 /* 20447 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8204 /* 20451 */ GIM_Try, /*On fail goto*//*Label 566*/ GIMT_Encode4(20509), // Rule ID 25502 //
8205 /* 20456 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8206 /* 20459 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8207 /* 20463 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8208 /* 20467 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8209 /* 20470 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8210 /* 20474 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8211 /* 20478 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8212 /* 20482 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8213 /* 20484 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8214 /* 20491 */ // (and:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPANDQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
8215 /* 20491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
8216 /* 20494 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8217 /* 20496 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8218 /* 20498 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8219 /* 20502 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8220 /* 20507 */ GIR_RootConstrainSelectedInstOperands,
8221 /* 20508 */ // GIR_Coverage, 25502,
8222 /* 20508 */ GIR_EraseRootFromParent_Done,
8223 /* 20509 */ // Label 566: @20509
8224 /* 20509 */ GIM_Try, /*On fail goto*//*Label 567*/ GIMT_Encode4(20567), // Rule ID 20041 //
8225 /* 20514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8226 /* 20517 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8227 /* 20521 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8228 /* 20525 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8229 /* 20529 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8230 /* 20532 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8231 /* 20536 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8232 /* 20540 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8233 /* 20542 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8234 /* 20549 */ // (and:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
8235 /* 20549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
8236 /* 20552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8237 /* 20554 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8238 /* 20556 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8239 /* 20560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8240 /* 20565 */ GIR_RootConstrainSelectedInstOperands,
8241 /* 20566 */ // GIR_Coverage, 20041,
8242 /* 20566 */ GIR_EraseRootFromParent_Done,
8243 /* 20567 */ // Label 567: @20567
8244 /* 20567 */ GIM_Try, /*On fail goto*//*Label 568*/ GIMT_Encode4(20590), // Rule ID 20033 //
8245 /* 20572 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8246 /* 20575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8247 /* 20579 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8248 /* 20583 */ // (and:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPANDQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
8249 /* 20583 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
8250 /* 20588 */ GIR_RootConstrainSelectedInstOperands,
8251 /* 20589 */ // GIR_Coverage, 20033,
8252 /* 20589 */ GIR_Done,
8253 /* 20590 */ // Label 568: @20590
8254 /* 20590 */ GIM_Reject,
8255 /* 20591 */ // Label 565: @20591
8256 /* 20591 */ GIM_Reject,
8257 /* 20592 */ // Label 441: @20592
8258 /* 20592 */ GIM_Try, /*On fail goto*//*Label 569*/ GIMT_Encode4(20933),
8259 /* 20597 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
8260 /* 20600 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
8261 /* 20603 */ GIM_Try, /*On fail goto*//*Label 570*/ GIMT_Encode4(20665), // Rule ID 25310 //
8262 /* 20608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8263 /* 20611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8264 /* 20615 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8265 /* 20619 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8266 /* 20623 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8267 /* 20626 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8268 /* 20630 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8269 /* 20634 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8270 /* 20638 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8271 /* 20640 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8272 /* 20647 */ // (and:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPANDrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8273 /* 20647 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8274 /* 20650 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8275 /* 20652 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8276 /* 20654 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8277 /* 20658 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8278 /* 20663 */ GIR_RootConstrainSelectedInstOperands,
8279 /* 20664 */ // GIR_Coverage, 25310,
8280 /* 20664 */ GIR_EraseRootFromParent_Done,
8281 /* 20665 */ // Label 570: @20665
8282 /* 20665 */ GIM_Try, /*On fail goto*//*Label 571*/ GIMT_Encode4(20727), // Rule ID 25491 //
8283 /* 20670 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8284 /* 20673 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8285 /* 20677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8286 /* 20681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8287 /* 20685 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8288 /* 20688 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8289 /* 20692 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8290 /* 20696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8291 /* 20700 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8292 /* 20702 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8293 /* 20709 */ // (and:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPANDQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8294 /* 20709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8295 /* 20712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8296 /* 20714 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8297 /* 20716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8298 /* 20720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8299 /* 20725 */ GIR_RootConstrainSelectedInstOperands,
8300 /* 20726 */ // GIR_Coverage, 25491,
8301 /* 20726 */ GIR_EraseRootFromParent_Done,
8302 /* 20727 */ // Label 571: @20727
8303 /* 20727 */ GIM_Try, /*On fail goto*//*Label 572*/ GIMT_Encode4(20789), // Rule ID 18125 //
8304 /* 20732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8305 /* 20735 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8306 /* 20739 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8307 /* 20743 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8308 /* 20747 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8309 /* 20751 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8310 /* 20754 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8311 /* 20758 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8312 /* 20762 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8313 /* 20764 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8314 /* 20771 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8315 /* 20771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8316 /* 20774 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8317 /* 20776 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8318 /* 20778 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8319 /* 20782 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8320 /* 20787 */ GIR_RootConstrainSelectedInstOperands,
8321 /* 20788 */ // GIR_Coverage, 18125,
8322 /* 20788 */ GIR_EraseRootFromParent_Done,
8323 /* 20789 */ // Label 572: @20789
8324 /* 20789 */ GIM_Try, /*On fail goto*//*Label 573*/ GIMT_Encode4(20851), // Rule ID 20010 //
8325 /* 20794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8326 /* 20797 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8327 /* 20801 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8328 /* 20805 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8329 /* 20809 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8330 /* 20813 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8331 /* 20816 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8332 /* 20820 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8333 /* 20824 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8334 /* 20826 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8335 /* 20833 */ // (and:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8336 /* 20833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8337 /* 20836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8338 /* 20838 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8339 /* 20840 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8340 /* 20844 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8341 /* 20849 */ GIR_RootConstrainSelectedInstOperands,
8342 /* 20850 */ // GIR_Coverage, 20010,
8343 /* 20850 */ GIR_EraseRootFromParent_Done,
8344 /* 20851 */ // Label 573: @20851
8345 /* 20851 */ GIM_Try, /*On fail goto*//*Label 574*/ GIMT_Encode4(20878), // Rule ID 18113 //
8346 /* 20856 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8347 /* 20859 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8348 /* 20863 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8349 /* 20867 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8350 /* 20871 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPANDrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
8351 /* 20871 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
8352 /* 20876 */ GIR_RootConstrainSelectedInstOperands,
8353 /* 20877 */ // GIR_Coverage, 18113,
8354 /* 20877 */ GIR_Done,
8355 /* 20878 */ // Label 574: @20878
8356 /* 20878 */ GIM_Try, /*On fail goto*//*Label 575*/ GIMT_Encode4(20905), // Rule ID 18137 //
8357 /* 20883 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
8358 /* 20886 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8359 /* 20890 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8360 /* 20894 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8361 /* 20898 */ // (and:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PANDrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
8362 /* 20898 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
8363 /* 20903 */ GIR_RootConstrainSelectedInstOperands,
8364 /* 20904 */ // GIR_Coverage, 18137,
8365 /* 20904 */ GIR_Done,
8366 /* 20905 */ // Label 575: @20905
8367 /* 20905 */ GIM_Try, /*On fail goto*//*Label 576*/ GIMT_Encode4(20932), // Rule ID 20002 //
8368 /* 20910 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8369 /* 20913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8370 /* 20917 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8371 /* 20921 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8372 /* 20925 */ // (and:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPANDQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
8373 /* 20925 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
8374 /* 20930 */ GIR_RootConstrainSelectedInstOperands,
8375 /* 20931 */ // GIR_Coverage, 20002,
8376 /* 20931 */ GIR_Done,
8377 /* 20932 */ // Label 576: @20932
8378 /* 20932 */ GIM_Reject,
8379 /* 20933 */ // Label 569: @20933
8380 /* 20933 */ GIM_Reject,
8381 /* 20934 */ // Label 442: @20934
8382 /* 20934 */ GIM_Try, /*On fail goto*//*Label 577*/ GIMT_Encode4(21399),
8383 /* 20939 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
8384 /* 20942 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
8385 /* 20945 */ GIM_Try, /*On fail goto*//*Label 578*/ GIMT_Encode4(21007), // Rule ID 25289 //
8386 /* 20950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8387 /* 20953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8388 /* 20957 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8389 /* 20961 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8390 /* 20965 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8391 /* 20968 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8392 /* 20972 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8393 /* 20976 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8394 /* 20980 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8395 /* 20982 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8396 /* 20989 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPANDYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8397 /* 20989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8398 /* 20992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8399 /* 20994 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8400 /* 20996 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8401 /* 21000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8402 /* 21005 */ GIR_RootConstrainSelectedInstOperands,
8403 /* 21006 */ // GIR_Coverage, 25289,
8404 /* 21006 */ GIR_EraseRootFromParent_Done,
8405 /* 21007 */ // Label 578: @21007
8406 /* 21007 */ GIM_Try, /*On fail goto*//*Label 579*/ GIMT_Encode4(21069), // Rule ID 25298 //
8407 /* 21012 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8408 /* 21015 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8409 /* 21019 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8410 /* 21023 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8411 /* 21027 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8412 /* 21030 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8413 /* 21034 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8414 /* 21038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8415 /* 21042 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8416 /* 21044 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8417 /* 21051 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VANDPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8418 /* 21051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8419 /* 21054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8420 /* 21056 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8421 /* 21058 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8422 /* 21062 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8423 /* 21067 */ GIR_RootConstrainSelectedInstOperands,
8424 /* 21068 */ // GIR_Coverage, 25298,
8425 /* 21068 */ GIR_EraseRootFromParent_Done,
8426 /* 21069 */ // Label 579: @21069
8427 /* 21069 */ GIM_Try, /*On fail goto*//*Label 580*/ GIMT_Encode4(21131), // Rule ID 25497 //
8428 /* 21074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8429 /* 21077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8430 /* 21081 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8431 /* 21085 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8432 /* 21089 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8433 /* 21092 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8434 /* 21096 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8435 /* 21100 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8436 /* 21104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8437 /* 21106 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8438 /* 21113 */ // (and:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPANDQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8439 /* 21113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8440 /* 21116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8441 /* 21118 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8442 /* 21120 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8443 /* 21124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8444 /* 21129 */ GIR_RootConstrainSelectedInstOperands,
8445 /* 21130 */ // GIR_Coverage, 25497,
8446 /* 21130 */ GIR_EraseRootFromParent_Done,
8447 /* 21131 */ // Label 580: @21131
8448 /* 21131 */ GIM_Try, /*On fail goto*//*Label 581*/ GIMT_Encode4(21193), // Rule ID 18069 //
8449 /* 21136 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8450 /* 21139 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8451 /* 21143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8452 /* 21147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8453 /* 21151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8454 /* 21155 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8455 /* 21158 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8456 /* 21162 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8457 /* 21166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8458 /* 21168 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8459 /* 21175 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8460 /* 21175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8461 /* 21178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8462 /* 21180 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8463 /* 21182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8464 /* 21186 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8465 /* 21191 */ GIR_RootConstrainSelectedInstOperands,
8466 /* 21192 */ // GIR_Coverage, 18069,
8467 /* 21192 */ GIR_EraseRootFromParent_Done,
8468 /* 21193 */ // Label 581: @21193
8469 /* 21193 */ GIM_Try, /*On fail goto*//*Label 582*/ GIMT_Encode4(21255), // Rule ID 18097 //
8470 /* 21198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8471 /* 21201 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8472 /* 21205 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8473 /* 21209 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8474 /* 21213 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8475 /* 21217 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8476 /* 21220 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8477 /* 21224 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8478 /* 21228 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8479 /* 21230 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8480 /* 21237 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8481 /* 21237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8482 /* 21240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8483 /* 21242 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8484 /* 21244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8485 /* 21248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8486 /* 21253 */ GIR_RootConstrainSelectedInstOperands,
8487 /* 21254 */ // GIR_Coverage, 18097,
8488 /* 21254 */ GIR_EraseRootFromParent_Done,
8489 /* 21255 */ // Label 582: @21255
8490 /* 21255 */ GIM_Try, /*On fail goto*//*Label 583*/ GIMT_Encode4(21317), // Rule ID 20026 //
8491 /* 21260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8492 /* 21263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8493 /* 21267 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8494 /* 21271 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8495 /* 21275 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8496 /* 21279 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8497 /* 21282 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8498 /* 21286 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8499 /* 21290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8500 /* 21292 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8501 /* 21299 */ // (and:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8502 /* 21299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
8503 /* 21302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8504 /* 21304 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8505 /* 21306 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8506 /* 21310 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8507 /* 21315 */ GIR_RootConstrainSelectedInstOperands,
8508 /* 21316 */ // GIR_Coverage, 20026,
8509 /* 21316 */ GIR_EraseRootFromParent_Done,
8510 /* 21317 */ // Label 583: @21317
8511 /* 21317 */ GIM_Try, /*On fail goto*//*Label 584*/ GIMT_Encode4(21344), // Rule ID 18057 //
8512 /* 21322 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8513 /* 21325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8514 /* 21329 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8515 /* 21333 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8516 /* 21337 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPANDYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
8517 /* 21337 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
8518 /* 21342 */ GIR_RootConstrainSelectedInstOperands,
8519 /* 21343 */ // GIR_Coverage, 18057,
8520 /* 21343 */ GIR_Done,
8521 /* 21344 */ // Label 584: @21344
8522 /* 21344 */ GIM_Try, /*On fail goto*//*Label 585*/ GIMT_Encode4(21371), // Rule ID 18081 //
8523 /* 21349 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8524 /* 21352 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8525 /* 21356 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8526 /* 21360 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8527 /* 21364 */ // (and:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VANDPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
8528 /* 21364 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
8529 /* 21369 */ GIR_RootConstrainSelectedInstOperands,
8530 /* 21370 */ // GIR_Coverage, 18081,
8531 /* 21370 */ GIR_Done,
8532 /* 21371 */ // Label 585: @21371
8533 /* 21371 */ GIM_Try, /*On fail goto*//*Label 586*/ GIMT_Encode4(21398), // Rule ID 20018 //
8534 /* 21376 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
8535 /* 21379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8536 /* 21383 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8537 /* 21387 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8538 /* 21391 */ // (and:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPANDQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
8539 /* 21391 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
8540 /* 21396 */ GIR_RootConstrainSelectedInstOperands,
8541 /* 21397 */ // GIR_Coverage, 20018,
8542 /* 21397 */ GIR_Done,
8543 /* 21398 */ // Label 586: @21398
8544 /* 21398 */ GIM_Reject,
8545 /* 21399 */ // Label 577: @21399
8546 /* 21399 */ GIM_Reject,
8547 /* 21400 */ // Label 443: @21400
8548 /* 21400 */ GIM_Try, /*On fail goto*//*Label 587*/ GIMT_Encode4(21555),
8549 /* 21405 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
8550 /* 21408 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
8551 /* 21411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8552 /* 21415 */ GIM_Try, /*On fail goto*//*Label 588*/ GIMT_Encode4(21473), // Rule ID 25503 //
8553 /* 21420 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8554 /* 21423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8555 /* 21427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8556 /* 21431 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8557 /* 21434 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8558 /* 21438 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8559 /* 21442 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8560 /* 21446 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8561 /* 21448 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8562 /* 21455 */ // (and:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPANDQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8563 /* 21455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
8564 /* 21458 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8565 /* 21460 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8566 /* 21462 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8567 /* 21466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8568 /* 21471 */ GIR_RootConstrainSelectedInstOperands,
8569 /* 21472 */ // GIR_Coverage, 25503,
8570 /* 21472 */ GIR_EraseRootFromParent_Done,
8571 /* 21473 */ // Label 588: @21473
8572 /* 21473 */ GIM_Try, /*On fail goto*//*Label 589*/ GIMT_Encode4(21531), // Rule ID 20042 //
8573 /* 21478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8574 /* 21481 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8575 /* 21485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8576 /* 21489 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8577 /* 21493 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8578 /* 21496 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8579 /* 21500 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8580 /* 21504 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8581 /* 21506 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8582 /* 21513 */ // (and:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
8583 /* 21513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
8584 /* 21516 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8585 /* 21518 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8586 /* 21520 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8587 /* 21524 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8588 /* 21529 */ GIR_RootConstrainSelectedInstOperands,
8589 /* 21530 */ // GIR_Coverage, 20042,
8590 /* 21530 */ GIR_EraseRootFromParent_Done,
8591 /* 21531 */ // Label 589: @21531
8592 /* 21531 */ GIM_Try, /*On fail goto*//*Label 590*/ GIMT_Encode4(21554), // Rule ID 20034 //
8593 /* 21536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8594 /* 21539 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8595 /* 21543 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8596 /* 21547 */ // (and:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPANDQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
8597 /* 21547 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
8598 /* 21552 */ GIR_RootConstrainSelectedInstOperands,
8599 /* 21553 */ // GIR_Coverage, 20034,
8600 /* 21553 */ GIR_Done,
8601 /* 21554 */ // Label 590: @21554
8602 /* 21554 */ GIM_Reject,
8603 /* 21555 */ // Label 587: @21555
8604 /* 21555 */ GIM_Reject,
8605 /* 21556 */ // Label 444: @21556
8606 /* 21556 */ GIM_Try, /*On fail goto*//*Label 591*/ GIMT_Encode4(21897),
8607 /* 21561 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
8608 /* 21564 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
8609 /* 21567 */ GIM_Try, /*On fail goto*//*Label 592*/ GIMT_Encode4(21629), // Rule ID 24225 //
8610 /* 21572 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8611 /* 21575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8612 /* 21579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8613 /* 21583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8614 /* 21587 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8615 /* 21590 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8616 /* 21594 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8617 /* 21598 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8618 /* 21602 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8619 /* 21604 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8620 /* 21611 */ // (and:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPANDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8621 /* 21611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rm),
8622 /* 21614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8623 /* 21616 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8624 /* 21618 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8625 /* 21622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8626 /* 21627 */ GIR_RootConstrainSelectedInstOperands,
8627 /* 21628 */ // GIR_Coverage, 24225,
8628 /* 21628 */ GIR_EraseRootFromParent_Done,
8629 /* 21629 */ // Label 592: @21629
8630 /* 21629 */ GIM_Try, /*On fail goto*//*Label 593*/ GIMT_Encode4(21691), // Rule ID 25311 //
8631 /* 21634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8632 /* 21637 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8633 /* 21641 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8634 /* 21645 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8635 /* 21649 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8636 /* 21652 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8637 /* 21656 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8638 /* 21660 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8639 /* 21664 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8640 /* 21666 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8641 /* 21673 */ // (and:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPANDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8642 /* 21673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8643 /* 21676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8644 /* 21678 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8645 /* 21680 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8646 /* 21684 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8647 /* 21689 */ GIR_RootConstrainSelectedInstOperands,
8648 /* 21690 */ // GIR_Coverage, 25311,
8649 /* 21690 */ GIR_EraseRootFromParent_Done,
8650 /* 21691 */ // Label 593: @21691
8651 /* 21691 */ GIM_Try, /*On fail goto*//*Label 594*/ GIMT_Encode4(21753), // Rule ID 5714 //
8652 /* 21696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8653 /* 21699 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8654 /* 21703 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8655 /* 21707 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8656 /* 21711 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8657 /* 21715 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8658 /* 21718 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8659 /* 21722 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8660 /* 21726 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8661 /* 21728 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8662 /* 21735 */ // (and:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8663 /* 21735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rm),
8664 /* 21738 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8665 /* 21740 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8666 /* 21742 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8667 /* 21746 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8668 /* 21751 */ GIR_RootConstrainSelectedInstOperands,
8669 /* 21752 */ // GIR_Coverage, 5714,
8670 /* 21752 */ GIR_EraseRootFromParent_Done,
8671 /* 21753 */ // Label 594: @21753
8672 /* 21753 */ GIM_Try, /*On fail goto*//*Label 595*/ GIMT_Encode4(21815), // Rule ID 18126 //
8673 /* 21758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8674 /* 21761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8675 /* 21765 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8676 /* 21769 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8677 /* 21773 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8678 /* 21777 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8679 /* 21780 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8680 /* 21784 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8681 /* 21788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8682 /* 21790 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8683 /* 21797 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8684 /* 21797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8685 /* 21800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8686 /* 21802 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8687 /* 21804 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8688 /* 21808 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8689 /* 21813 */ GIR_RootConstrainSelectedInstOperands,
8690 /* 21814 */ // GIR_Coverage, 18126,
8691 /* 21814 */ GIR_EraseRootFromParent_Done,
8692 /* 21815 */ // Label 595: @21815
8693 /* 21815 */ GIM_Try, /*On fail goto*//*Label 596*/ GIMT_Encode4(21842), // Rule ID 5711 //
8694 /* 21820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8695 /* 21823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8696 /* 21827 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8697 /* 21831 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8698 /* 21835 */ // (and:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPANDDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
8699 /* 21835 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZ128rr),
8700 /* 21840 */ GIR_RootConstrainSelectedInstOperands,
8701 /* 21841 */ // GIR_Coverage, 5711,
8702 /* 21841 */ GIR_Done,
8703 /* 21842 */ // Label 596: @21842
8704 /* 21842 */ GIM_Try, /*On fail goto*//*Label 597*/ GIMT_Encode4(21869), // Rule ID 18114 //
8705 /* 21847 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8706 /* 21850 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8707 /* 21854 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8708 /* 21858 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8709 /* 21862 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPANDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
8710 /* 21862 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
8711 /* 21867 */ GIR_RootConstrainSelectedInstOperands,
8712 /* 21868 */ // GIR_Coverage, 18114,
8713 /* 21868 */ GIR_Done,
8714 /* 21869 */ // Label 597: @21869
8715 /* 21869 */ GIM_Try, /*On fail goto*//*Label 598*/ GIMT_Encode4(21896), // Rule ID 18138 //
8716 /* 21874 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
8717 /* 21877 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8718 /* 21881 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8719 /* 21885 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8720 /* 21889 */ // (and:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PANDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
8721 /* 21889 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
8722 /* 21894 */ GIR_RootConstrainSelectedInstOperands,
8723 /* 21895 */ // GIR_Coverage, 18138,
8724 /* 21895 */ GIR_Done,
8725 /* 21896 */ // Label 598: @21896
8726 /* 21896 */ GIM_Reject,
8727 /* 21897 */ // Label 591: @21897
8728 /* 21897 */ GIM_Reject,
8729 /* 21898 */ // Label 445: @21898
8730 /* 21898 */ GIM_Try, /*On fail goto*//*Label 599*/ GIMT_Encode4(22363),
8731 /* 21903 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
8732 /* 21906 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
8733 /* 21909 */ GIM_Try, /*On fail goto*//*Label 600*/ GIMT_Encode4(21971), // Rule ID 24219 //
8734 /* 21914 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8735 /* 21917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8736 /* 21921 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8737 /* 21925 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8738 /* 21929 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8739 /* 21932 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8740 /* 21936 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8741 /* 21940 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8742 /* 21944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8743 /* 21946 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8744 /* 21953 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPANDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8745 /* 21953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rm),
8746 /* 21956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8747 /* 21958 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8748 /* 21960 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8749 /* 21964 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8750 /* 21969 */ GIR_RootConstrainSelectedInstOperands,
8751 /* 21970 */ // GIR_Coverage, 24219,
8752 /* 21970 */ GIR_EraseRootFromParent_Done,
8753 /* 21971 */ // Label 600: @21971
8754 /* 21971 */ GIM_Try, /*On fail goto*//*Label 601*/ GIMT_Encode4(22033), // Rule ID 25290 //
8755 /* 21976 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8756 /* 21979 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8757 /* 21983 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8758 /* 21987 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8759 /* 21991 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8760 /* 21994 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8761 /* 21998 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8762 /* 22002 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8763 /* 22006 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8764 /* 22008 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8765 /* 22015 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPANDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8766 /* 22015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8767 /* 22018 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8768 /* 22020 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8769 /* 22022 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8770 /* 22026 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8771 /* 22031 */ GIR_RootConstrainSelectedInstOperands,
8772 /* 22032 */ // GIR_Coverage, 25290,
8773 /* 22032 */ GIR_EraseRootFromParent_Done,
8774 /* 22033 */ // Label 601: @22033
8775 /* 22033 */ GIM_Try, /*On fail goto*//*Label 602*/ GIMT_Encode4(22095), // Rule ID 25299 //
8776 /* 22038 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8777 /* 22041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8778 /* 22045 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8779 /* 22049 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8780 /* 22053 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8781 /* 22056 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8782 /* 22060 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8783 /* 22064 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8784 /* 22068 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8785 /* 22070 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8786 /* 22077 */ // (and:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VANDPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8787 /* 22077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8788 /* 22080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8789 /* 22082 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8790 /* 22084 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8791 /* 22088 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8792 /* 22093 */ GIR_RootConstrainSelectedInstOperands,
8793 /* 22094 */ // GIR_Coverage, 25299,
8794 /* 22094 */ GIR_EraseRootFromParent_Done,
8795 /* 22095 */ // Label 602: @22095
8796 /* 22095 */ GIM_Try, /*On fail goto*//*Label 603*/ GIMT_Encode4(22157), // Rule ID 5705 //
8797 /* 22100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8798 /* 22103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8799 /* 22107 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8800 /* 22111 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8801 /* 22115 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8802 /* 22119 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8803 /* 22122 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8804 /* 22126 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8805 /* 22130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8806 /* 22132 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8807 /* 22139 */ // (and:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8808 /* 22139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rm),
8809 /* 22142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8810 /* 22144 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8811 /* 22146 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8812 /* 22150 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8813 /* 22155 */ GIR_RootConstrainSelectedInstOperands,
8814 /* 22156 */ // GIR_Coverage, 5705,
8815 /* 22156 */ GIR_EraseRootFromParent_Done,
8816 /* 22157 */ // Label 603: @22157
8817 /* 22157 */ GIM_Try, /*On fail goto*//*Label 604*/ GIMT_Encode4(22219), // Rule ID 18070 //
8818 /* 22162 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8819 /* 22165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8820 /* 22169 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8821 /* 22173 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8822 /* 22177 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8823 /* 22181 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8824 /* 22184 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8825 /* 22188 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8826 /* 22192 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8827 /* 22194 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8828 /* 22201 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8829 /* 22201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
8830 /* 22204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8831 /* 22206 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8832 /* 22208 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8833 /* 22212 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8834 /* 22217 */ GIR_RootConstrainSelectedInstOperands,
8835 /* 22218 */ // GIR_Coverage, 18070,
8836 /* 22218 */ GIR_EraseRootFromParent_Done,
8837 /* 22219 */ // Label 604: @22219
8838 /* 22219 */ GIM_Try, /*On fail goto*//*Label 605*/ GIMT_Encode4(22281), // Rule ID 18098 //
8839 /* 22224 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8840 /* 22227 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8841 /* 22231 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8842 /* 22235 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8843 /* 22239 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8844 /* 22243 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8845 /* 22246 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8846 /* 22250 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8847 /* 22254 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8848 /* 22256 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8849 /* 22263 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8850 /* 22263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
8851 /* 22266 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8852 /* 22268 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8853 /* 22270 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8854 /* 22274 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8855 /* 22279 */ GIR_RootConstrainSelectedInstOperands,
8856 /* 22280 */ // GIR_Coverage, 18098,
8857 /* 22280 */ GIR_EraseRootFromParent_Done,
8858 /* 22281 */ // Label 605: @22281
8859 /* 22281 */ GIM_Try, /*On fail goto*//*Label 606*/ GIMT_Encode4(22308), // Rule ID 5702 //
8860 /* 22286 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8861 /* 22289 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8862 /* 22293 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8863 /* 22297 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
8864 /* 22301 */ // (and:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPANDDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
8865 /* 22301 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZ256rr),
8866 /* 22306 */ GIR_RootConstrainSelectedInstOperands,
8867 /* 22307 */ // GIR_Coverage, 5702,
8868 /* 22307 */ GIR_Done,
8869 /* 22308 */ // Label 606: @22308
8870 /* 22308 */ GIM_Try, /*On fail goto*//*Label 607*/ GIMT_Encode4(22335), // Rule ID 18058 //
8871 /* 22313 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
8872 /* 22316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8873 /* 22320 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8874 /* 22324 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8875 /* 22328 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPANDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
8876 /* 22328 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
8877 /* 22333 */ GIR_RootConstrainSelectedInstOperands,
8878 /* 22334 */ // GIR_Coverage, 18058,
8879 /* 22334 */ GIR_Done,
8880 /* 22335 */ // Label 607: @22335
8881 /* 22335 */ GIM_Try, /*On fail goto*//*Label 608*/ GIMT_Encode4(22362), // Rule ID 18082 //
8882 /* 22340 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
8883 /* 22343 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8884 /* 22347 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8885 /* 22351 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
8886 /* 22355 */ // (and:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VANDPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
8887 /* 22355 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
8888 /* 22360 */ GIR_RootConstrainSelectedInstOperands,
8889 /* 22361 */ // GIR_Coverage, 18082,
8890 /* 22361 */ GIR_Done,
8891 /* 22362 */ // Label 608: @22362
8892 /* 22362 */ GIM_Reject,
8893 /* 22363 */ // Label 599: @22363
8894 /* 22363 */ GIM_Reject,
8895 /* 22364 */ // Label 446: @22364
8896 /* 22364 */ GIM_Try, /*On fail goto*//*Label 609*/ GIMT_Encode4(22519),
8897 /* 22369 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
8898 /* 22372 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
8899 /* 22375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8900 /* 22379 */ GIM_Try, /*On fail goto*//*Label 610*/ GIMT_Encode4(22437), // Rule ID 24213 //
8901 /* 22384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8902 /* 22387 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8903 /* 22391 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8904 /* 22395 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8905 /* 22398 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8906 /* 22402 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8907 /* 22406 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8908 /* 22410 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8909 /* 22412 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8910 /* 22419 */ // (and:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPANDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8911 /* 22419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZrm),
8912 /* 22422 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8913 /* 22424 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8914 /* 22426 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8915 /* 22430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8916 /* 22435 */ GIR_RootConstrainSelectedInstOperands,
8917 /* 22436 */ // GIR_Coverage, 24213,
8918 /* 22436 */ GIR_EraseRootFromParent_Done,
8919 /* 22437 */ // Label 610: @22437
8920 /* 22437 */ GIM_Try, /*On fail goto*//*Label 611*/ GIMT_Encode4(22495), // Rule ID 5696 //
8921 /* 22442 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8922 /* 22445 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8923 /* 22449 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
8924 /* 22453 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8925 /* 22457 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8926 /* 22460 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8927 /* 22464 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8928 /* 22468 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8929 /* 22470 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8930 /* 22477 */ // (and:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
8931 /* 22477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDDZrm),
8932 /* 22480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8933 /* 22482 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
8934 /* 22484 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8935 /* 22488 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8936 /* 22493 */ GIR_RootConstrainSelectedInstOperands,
8937 /* 22494 */ // GIR_Coverage, 5696,
8938 /* 22494 */ GIR_EraseRootFromParent_Done,
8939 /* 22495 */ // Label 611: @22495
8940 /* 22495 */ GIM_Try, /*On fail goto*//*Label 612*/ GIMT_Encode4(22518), // Rule ID 5693 //
8941 /* 22500 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
8942 /* 22503 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8943 /* 22507 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
8944 /* 22511 */ // (and:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPANDDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
8945 /* 22511 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDDZrr),
8946 /* 22516 */ GIR_RootConstrainSelectedInstOperands,
8947 /* 22517 */ // GIR_Coverage, 5693,
8948 /* 22517 */ GIR_Done,
8949 /* 22518 */ // Label 612: @22518
8950 /* 22518 */ GIM_Reject,
8951 /* 22519 */ // Label 609: @22519
8952 /* 22519 */ GIM_Reject,
8953 /* 22520 */ // Label 447: @22520
8954 /* 22520 */ GIM_Try, /*On fail goto*//*Label 613*/ GIMT_Encode4(22861),
8955 /* 22525 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
8956 /* 22528 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
8957 /* 22531 */ GIM_Try, /*On fail goto*//*Label 614*/ GIMT_Encode4(22593), // Rule ID 23418 //
8958 /* 22536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
8959 /* 22539 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8960 /* 22543 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8961 /* 22547 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8962 /* 22551 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8963 /* 22554 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8964 /* 22558 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8965 /* 22562 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
8966 /* 22566 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8967 /* 22568 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8968 /* 22575 */ // (and:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPANDrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8969 /* 22575 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
8970 /* 22578 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8971 /* 22580 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8972 /* 22582 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8973 /* 22586 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8974 /* 22591 */ GIR_RootConstrainSelectedInstOperands,
8975 /* 22592 */ // GIR_Coverage, 23418,
8976 /* 22592 */ GIR_EraseRootFromParent_Done,
8977 /* 22593 */ // Label 614: @22593
8978 /* 22593 */ GIM_Try, /*On fail goto*//*Label 615*/ GIMT_Encode4(22655), // Rule ID 24207 //
8979 /* 22598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
8980 /* 22601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8981 /* 22605 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
8982 /* 22609 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
8983 /* 22613 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
8984 /* 22616 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
8985 /* 22620 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
8986 /* 22624 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
8987 /* 22628 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
8988 /* 22630 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
8989 /* 22637 */ // (and:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPANDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
8990 /* 22637 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
8991 /* 22640 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
8992 /* 22642 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
8993 /* 22644 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
8994 /* 22648 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
8995 /* 22653 */ GIR_RootConstrainSelectedInstOperands,
8996 /* 22654 */ // GIR_Coverage, 24207,
8997 /* 22654 */ GIR_EraseRootFromParent_Done,
8998 /* 22655 */ // Label 615: @22655
8999 /* 22655 */ GIM_Try, /*On fail goto*//*Label 616*/ GIMT_Encode4(22717), // Rule ID 2087 //
9000 /* 22660 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
9001 /* 22663 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9002 /* 22667 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9003 /* 22671 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9004 /* 22675 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9005 /* 22679 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9006 /* 22682 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9007 /* 22686 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9008 /* 22690 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9009 /* 22692 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9010 /* 22699 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
9011 /* 22699 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDrm),
9012 /* 22702 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9013 /* 22704 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9014 /* 22706 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9015 /* 22710 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9016 /* 22715 */ GIR_RootConstrainSelectedInstOperands,
9017 /* 22716 */ // GIR_Coverage, 2087,
9018 /* 22716 */ GIR_EraseRootFromParent_Done,
9019 /* 22717 */ // Label 616: @22717
9020 /* 22717 */ GIM_Try, /*On fail goto*//*Label 617*/ GIMT_Encode4(22779), // Rule ID 5687 //
9021 /* 22722 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
9022 /* 22725 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9023 /* 22729 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9024 /* 22733 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9025 /* 22737 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9026 /* 22741 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9027 /* 22744 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9028 /* 22748 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9029 /* 22752 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9030 /* 22754 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9031 /* 22761 */ // (and:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
9032 /* 22761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rm),
9033 /* 22764 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9034 /* 22766 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9035 /* 22768 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9036 /* 22772 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9037 /* 22777 */ GIR_RootConstrainSelectedInstOperands,
9038 /* 22778 */ // GIR_Coverage, 5687,
9039 /* 22778 */ GIR_EraseRootFromParent_Done,
9040 /* 22779 */ // Label 617: @22779
9041 /* 22779 */ GIM_Try, /*On fail goto*//*Label 618*/ GIMT_Encode4(22806), // Rule ID 2086 //
9042 /* 22784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
9043 /* 22787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9044 /* 22791 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9045 /* 22795 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9046 /* 22799 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPANDrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
9047 /* 22799 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDrr),
9048 /* 22804 */ GIR_RootConstrainSelectedInstOperands,
9049 /* 22805 */ // GIR_Coverage, 2086,
9050 /* 22805 */ GIR_Done,
9051 /* 22806 */ // Label 618: @22806
9052 /* 22806 */ GIM_Try, /*On fail goto*//*Label 619*/ GIMT_Encode4(22833), // Rule ID 2088 //
9053 /* 22811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
9054 /* 22814 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9055 /* 22818 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9056 /* 22822 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
9057 /* 22826 */ // (and:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PANDrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
9058 /* 22826 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PANDrr),
9059 /* 22831 */ GIR_RootConstrainSelectedInstOperands,
9060 /* 22832 */ // GIR_Coverage, 2088,
9061 /* 22832 */ GIR_Done,
9062 /* 22833 */ // Label 619: @22833
9063 /* 22833 */ GIM_Try, /*On fail goto*//*Label 620*/ GIMT_Encode4(22860), // Rule ID 5684 //
9064 /* 22838 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
9065 /* 22841 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9066 /* 22845 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9067 /* 22849 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
9068 /* 22853 */ // (and:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPANDQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
9069 /* 22853 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ128rr),
9070 /* 22858 */ GIR_RootConstrainSelectedInstOperands,
9071 /* 22859 */ // GIR_Coverage, 5684,
9072 /* 22859 */ GIR_Done,
9073 /* 22860 */ // Label 620: @22860
9074 /* 22860 */ GIM_Reject,
9075 /* 22861 */ // Label 613: @22861
9076 /* 22861 */ GIM_Reject,
9077 /* 22862 */ // Label 448: @22862
9078 /* 22862 */ GIM_Try, /*On fail goto*//*Label 621*/ GIMT_Encode4(23327),
9079 /* 22867 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
9080 /* 22870 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
9081 /* 22873 */ GIM_Try, /*On fail goto*//*Label 622*/ GIMT_Encode4(22935), // Rule ID 23420 //
9082 /* 22878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9083 /* 22881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9084 /* 22885 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9085 /* 22889 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9086 /* 22893 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9087 /* 22896 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9088 /* 22900 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9089 /* 22904 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9090 /* 22908 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9091 /* 22910 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9092 /* 22917 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPANDYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
9093 /* 22917 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
9094 /* 22920 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9095 /* 22922 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9096 /* 22924 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9097 /* 22928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9098 /* 22933 */ GIR_RootConstrainSelectedInstOperands,
9099 /* 22934 */ // GIR_Coverage, 23420,
9100 /* 22934 */ GIR_EraseRootFromParent_Done,
9101 /* 22935 */ // Label 622: @22935
9102 /* 22935 */ GIM_Try, /*On fail goto*//*Label 623*/ GIMT_Encode4(22997), // Rule ID 24201 //
9103 /* 22940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
9104 /* 22943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9105 /* 22947 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9106 /* 22951 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9107 /* 22955 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9108 /* 22958 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9109 /* 22962 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9110 /* 22966 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9111 /* 22970 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9112 /* 22972 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9113 /* 22979 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPANDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
9114 /* 22979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
9115 /* 22982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9116 /* 22984 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9117 /* 22986 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9118 /* 22990 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9119 /* 22995 */ GIR_RootConstrainSelectedInstOperands,
9120 /* 22996 */ // GIR_Coverage, 24201,
9121 /* 22996 */ GIR_EraseRootFromParent_Done,
9122 /* 22997 */ // Label 623: @22997
9123 /* 22997 */ GIM_Try, /*On fail goto*//*Label 624*/ GIMT_Encode4(23059), // Rule ID 25300 //
9124 /* 23002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9125 /* 23005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9126 /* 23009 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9127 /* 23013 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9128 /* 23017 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9129 /* 23020 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9130 /* 23024 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9131 /* 23028 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9132 /* 23032 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9133 /* 23034 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9134 /* 23041 */ // (and:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VANDPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
9135 /* 23041 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
9136 /* 23044 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9137 /* 23046 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9138 /* 23048 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9139 /* 23052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9140 /* 23057 */ GIR_RootConstrainSelectedInstOperands,
9141 /* 23058 */ // GIR_Coverage, 25300,
9142 /* 23058 */ GIR_EraseRootFromParent_Done,
9143 /* 23059 */ // Label 624: @23059
9144 /* 23059 */ GIM_Try, /*On fail goto*//*Label 625*/ GIMT_Encode4(23121), // Rule ID 2091 //
9145 /* 23064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9146 /* 23067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9147 /* 23071 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9148 /* 23075 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9149 /* 23079 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9150 /* 23083 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9151 /* 23086 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9152 /* 23090 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9153 /* 23094 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9154 /* 23096 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9155 /* 23103 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
9156 /* 23103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDYrm),
9157 /* 23106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9158 /* 23108 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9159 /* 23110 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9160 /* 23114 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9161 /* 23119 */ GIR_RootConstrainSelectedInstOperands,
9162 /* 23120 */ // GIR_Coverage, 2091,
9163 /* 23120 */ GIR_EraseRootFromParent_Done,
9164 /* 23121 */ // Label 625: @23121
9165 /* 23121 */ GIM_Try, /*On fail goto*//*Label 626*/ GIMT_Encode4(23183), // Rule ID 5678 //
9166 /* 23126 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
9167 /* 23129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9168 /* 23133 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9169 /* 23137 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9170 /* 23141 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9171 /* 23145 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9172 /* 23148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9173 /* 23152 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9174 /* 23156 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9175 /* 23158 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9176 /* 23165 */ // (and:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
9177 /* 23165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rm),
9178 /* 23168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9179 /* 23170 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9180 /* 23172 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9181 /* 23176 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9182 /* 23181 */ GIR_RootConstrainSelectedInstOperands,
9183 /* 23182 */ // GIR_Coverage, 5678,
9184 /* 23182 */ GIR_EraseRootFromParent_Done,
9185 /* 23183 */ // Label 626: @23183
9186 /* 23183 */ GIM_Try, /*On fail goto*//*Label 627*/ GIMT_Encode4(23245), // Rule ID 18099 //
9187 /* 23188 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9188 /* 23191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9189 /* 23195 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9190 /* 23199 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9191 /* 23203 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9192 /* 23207 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9193 /* 23210 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9194 /* 23214 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9195 /* 23218 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9196 /* 23220 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9197 /* 23227 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VANDPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
9198 /* 23227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VANDPSYrm),
9199 /* 23230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9200 /* 23232 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9201 /* 23234 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9202 /* 23238 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9203 /* 23243 */ GIR_RootConstrainSelectedInstOperands,
9204 /* 23244 */ // GIR_Coverage, 18099,
9205 /* 23244 */ GIR_EraseRootFromParent_Done,
9206 /* 23245 */ // Label 627: @23245
9207 /* 23245 */ GIM_Try, /*On fail goto*//*Label 628*/ GIMT_Encode4(23272), // Rule ID 2090 //
9208 /* 23250 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
9209 /* 23253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9210 /* 23257 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9211 /* 23261 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9212 /* 23265 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPANDYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
9213 /* 23265 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDYrr),
9214 /* 23270 */ GIR_RootConstrainSelectedInstOperands,
9215 /* 23271 */ // GIR_Coverage, 2090,
9216 /* 23271 */ GIR_Done,
9217 /* 23272 */ // Label 628: @23272
9218 /* 23272 */ GIM_Try, /*On fail goto*//*Label 629*/ GIMT_Encode4(23299), // Rule ID 5675 //
9219 /* 23277 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
9220 /* 23280 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9221 /* 23284 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9222 /* 23288 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
9223 /* 23292 */ // (and:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPANDQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
9224 /* 23292 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZ256rr),
9225 /* 23297 */ GIR_RootConstrainSelectedInstOperands,
9226 /* 23298 */ // GIR_Coverage, 5675,
9227 /* 23298 */ GIR_Done,
9228 /* 23299 */ // Label 629: @23299
9229 /* 23299 */ GIM_Try, /*On fail goto*//*Label 630*/ GIMT_Encode4(23326), // Rule ID 18083 //
9230 /* 23304 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
9231 /* 23307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9232 /* 23311 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9233 /* 23315 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
9234 /* 23319 */ // (and:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VANDPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
9235 /* 23319 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VANDPSYrr),
9236 /* 23324 */ GIR_RootConstrainSelectedInstOperands,
9237 /* 23325 */ // GIR_Coverage, 18083,
9238 /* 23325 */ GIR_Done,
9239 /* 23326 */ // Label 630: @23326
9240 /* 23326 */ GIM_Reject,
9241 /* 23327 */ // Label 621: @23327
9242 /* 23327 */ GIM_Reject,
9243 /* 23328 */ // Label 449: @23328
9244 /* 23328 */ GIM_Try, /*On fail goto*//*Label 631*/ GIMT_Encode4(23483),
9245 /* 23333 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
9246 /* 23336 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
9247 /* 23339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9248 /* 23343 */ GIM_Try, /*On fail goto*//*Label 632*/ GIMT_Encode4(23401), // Rule ID 24195 //
9249 /* 23348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9250 /* 23351 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9251 /* 23355 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9252 /* 23359 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9253 /* 23362 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9254 /* 23366 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9255 /* 23370 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9256 /* 23374 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9257 /* 23376 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9258 /* 23383 */ // (and:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPANDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
9259 /* 23383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9260 /* 23386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9261 /* 23388 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9262 /* 23390 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9263 /* 23394 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9264 /* 23399 */ GIR_RootConstrainSelectedInstOperands,
9265 /* 23400 */ // GIR_Coverage, 24195,
9266 /* 23400 */ GIR_EraseRootFromParent_Done,
9267 /* 23401 */ // Label 632: @23401
9268 /* 23401 */ GIM_Try, /*On fail goto*//*Label 633*/ GIMT_Encode4(23459), // Rule ID 5669 //
9269 /* 23406 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9270 /* 23409 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9271 /* 23413 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9272 /* 23417 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9273 /* 23421 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9274 /* 23424 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
9275 /* 23428 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9276 /* 23432 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9277 /* 23434 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9278 /* 23441 */ // (and:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPANDQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
9279 /* 23441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPANDQZrm),
9280 /* 23444 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9281 /* 23446 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9282 /* 23448 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9283 /* 23452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9284 /* 23457 */ GIR_RootConstrainSelectedInstOperands,
9285 /* 23458 */ // GIR_Coverage, 5669,
9286 /* 23458 */ GIR_EraseRootFromParent_Done,
9287 /* 23459 */ // Label 633: @23459
9288 /* 23459 */ GIM_Try, /*On fail goto*//*Label 634*/ GIMT_Encode4(23482), // Rule ID 5666 //
9289 /* 23464 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
9290 /* 23467 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9291 /* 23471 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
9292 /* 23475 */ // (and:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPANDQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
9293 /* 23475 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPANDQZrr),
9294 /* 23480 */ GIR_RootConstrainSelectedInstOperands,
9295 /* 23481 */ // GIR_Coverage, 5666,
9296 /* 23481 */ GIR_Done,
9297 /* 23482 */ // Label 634: @23482
9298 /* 23482 */ GIM_Reject,
9299 /* 23483 */ // Label 631: @23483
9300 /* 23483 */ GIM_Reject,
9301 /* 23484 */ // Label 450: @23484
9302 /* 23484 */ GIM_Reject,
9303 /* 23485 */ // Label 4: @23485
9304 /* 23485 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 658*/ GIMT_Encode4(32040),
9305 /* 23496 */ /*GILLT_s1*//*Label 635*/ GIMT_Encode4(23596),
9306 /* 23500 */ /*GILLT_s8*//*Label 636*/ GIMT_Encode4(23696),
9307 /* 23504 */ /*GILLT_s16*//*Label 637*/ GIMT_Encode4(24135),
9308 /* 23508 */ /*GILLT_s32*//*Label 638*/ GIMT_Encode4(24786),
9309 /* 23512 */ /*GILLT_s64*//*Label 639*/ GIMT_Encode4(26266), GIMT_Encode4(0), GIMT_Encode4(0),
9310 /* 23524 */ /*GILLT_v2s1*//*Label 640*/ GIMT_Encode4(27758),
9311 /* 23528 */ /*GILLT_v4s1*//*Label 641*/ GIMT_Encode4(27858),
9312 /* 23532 */ /*GILLT_v8s1*//*Label 642*/ GIMT_Encode4(27958),
9313 /* 23536 */ /*GILLT_v16s1*//*Label 643*/ GIMT_Encode4(28082),
9314 /* 23540 */ /*GILLT_v32s1*//*Label 644*/ GIMT_Encode4(28116),
9315 /* 23544 */ /*GILLT_v64s1*//*Label 645*/ GIMT_Encode4(28150),
9316 /* 23548 */ /*GILLT_v16s8*//*Label 646*/ GIMT_Encode4(28184),
9317 /* 23552 */ /*GILLT_v32s8*//*Label 647*/ GIMT_Encode4(28526),
9318 /* 23556 */ /*GILLT_v64s8*//*Label 648*/ GIMT_Encode4(28992),
9319 /* 23560 */ /*GILLT_v8s16*//*Label 649*/ GIMT_Encode4(29148),
9320 /* 23564 */ /*GILLT_v16s16*//*Label 650*/ GIMT_Encode4(29490),
9321 /* 23568 */ /*GILLT_v32s16*//*Label 651*/ GIMT_Encode4(29956),
9322 /* 23572 */ /*GILLT_v4s32*//*Label 652*/ GIMT_Encode4(30112),
9323 /* 23576 */ /*GILLT_v8s32*//*Label 653*/ GIMT_Encode4(30454),
9324 /* 23580 */ /*GILLT_v16s32*//*Label 654*/ GIMT_Encode4(30920),
9325 /* 23584 */ /*GILLT_v2s64*//*Label 655*/ GIMT_Encode4(31076),
9326 /* 23588 */ /*GILLT_v4s64*//*Label 656*/ GIMT_Encode4(31418),
9327 /* 23592 */ /*GILLT_v8s64*//*Label 657*/ GIMT_Encode4(31884),
9328 /* 23596 */ // Label 635: @23596
9329 /* 23596 */ GIM_Try, /*On fail goto*//*Label 659*/ GIMT_Encode4(23695), // Rule ID 19466 //
9330 /* 23601 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
9331 /* 23604 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
9332 /* 23607 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
9333 /* 23611 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
9334 /* 23615 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
9335 /* 23619 */ // (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 /* 23619 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
9337 /* 23622 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
9338 /* 23626 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9339 /* 23631 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
9340 /* 23635 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
9341 /* 23640 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
9342 /* 23643 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
9343 /* 23647 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9344 /* 23652 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
9345 /* 23656 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
9346 /* 23661 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
9347 /* 23664 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
9348 /* 23668 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9349 /* 23673 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
9350 /* 23676 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
9351 /* 23679 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
9352 /* 23681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
9353 /* 23684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9354 /* 23686 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
9355 /* 23689 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
9356 /* 23694 */ // GIR_Coverage, 19466,
9357 /* 23694 */ GIR_EraseRootFromParent_Done,
9358 /* 23695 */ // Label 659: @23695
9359 /* 23695 */ GIM_Reject,
9360 /* 23696 */ // Label 636: @23696
9361 /* 23696 */ GIM_Try, /*On fail goto*//*Label 660*/ GIMT_Encode4(24134),
9362 /* 23701 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
9363 /* 23704 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
9364 /* 23707 */ GIM_Try, /*On fail goto*//*Label 661*/ GIMT_Encode4(23772), // Rule ID 26119 //
9365 /* 23712 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9366 /* 23715 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9367 /* 23719 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9368 /* 23723 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9369 /* 23727 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9370 /* 23730 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9371 /* 23734 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
9372 /* 23738 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9373 /* 23742 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9374 /* 23744 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9375 /* 23751 */ // (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 /* 23751 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8rm),
9377 /* 23754 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9378 /* 23756 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9379 /* 23758 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9380 /* 23762 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9381 /* 23765 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9382 /* 23770 */ GIR_RootConstrainSelectedInstOperands,
9383 /* 23771 */ // GIR_Coverage, 26119,
9384 /* 23771 */ GIR_EraseRootFromParent_Done,
9385 /* 23772 */ // Label 661: @23772
9386 /* 23772 */ GIM_Try, /*On fail goto*//*Label 662*/ GIMT_Encode4(23837), // Rule ID 22886 //
9387 /* 23777 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9388 /* 23780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9389 /* 23784 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9390 /* 23788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9391 /* 23792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9392 /* 23796 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9393 /* 23799 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9394 /* 23803 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
9395 /* 23807 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9396 /* 23809 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9397 /* 23816 */ // (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)
9398 /* 23816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8rm),
9399 /* 23819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9400 /* 23821 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9401 /* 23823 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9402 /* 23827 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9403 /* 23830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9404 /* 23835 */ GIR_RootConstrainSelectedInstOperands,
9405 /* 23836 */ // GIR_Coverage, 22886,
9406 /* 23836 */ GIR_EraseRootFromParent_Done,
9407 /* 23837 */ // Label 662: @23837
9408 /* 23837 */ GIM_Try, /*On fail goto*//*Label 663*/ GIMT_Encode4(23873), // Rule ID 22921 //
9409 /* 23842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
9410 /* 23845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9411 /* 23849 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9412 /* 23853 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
9413 /* 23857 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9414 /* 23861 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] })<<P:Predicate_or_disjoint>> => (INC8r:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
9415 /* 23861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r),
9416 /* 23864 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9417 /* 23866 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9418 /* 23868 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9419 /* 23871 */ GIR_RootConstrainSelectedInstOperands,
9420 /* 23872 */ // GIR_Coverage, 22921,
9421 /* 23872 */ GIR_EraseRootFromParent_Done,
9422 /* 23873 */ // Label 663: @23873
9423 /* 23873 */ GIM_Try, /*On fail goto*//*Label 664*/ GIMT_Encode4(23909), // Rule ID 23011 //
9424 /* 23878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
9425 /* 23881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9426 /* 23885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9427 /* 23889 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
9428 /* 23893 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9429 /* 23897 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src, 1:{ *:[i8] })<<P:Predicate_or_disjoint>> => (INC8r_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src)
9430 /* 23897 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8r_ND),
9431 /* 23900 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9432 /* 23902 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9433 /* 23904 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9434 /* 23907 */ GIR_RootConstrainSelectedInstOperands,
9435 /* 23908 */ // GIR_Coverage, 23011,
9436 /* 23908 */ GIR_EraseRootFromParent_Done,
9437 /* 23909 */ // Label 664: @23909
9438 /* 23909 */ GIM_Try, /*On fail goto*//*Label 665*/ GIMT_Encode4(23951), // Rule ID 17270 //
9439 /* 23914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9440 /* 23918 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9441 /* 23922 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9442 /* 23926 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9443 /* 23930 */ // MIs[1] Operand 1
9444 /* 23930 */ // No operand predicates
9445 /* 23930 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9446 /* 23934 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9447 /* 23936 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)<<P:Predicate_or_disjoint>> => (ADD8ri_DB:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
9448 /* 23936 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri_DB),
9449 /* 23939 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9450 /* 23941 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9451 /* 23943 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9452 /* 23946 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9453 /* 23949 */ GIR_RootConstrainSelectedInstOperands,
9454 /* 23950 */ // GIR_Coverage, 17270,
9455 /* 23950 */ GIR_EraseRootFromParent_Done,
9456 /* 23951 */ // Label 665: @23951
9457 /* 23951 */ GIM_Try, /*On fail goto*//*Label 666*/ GIMT_Encode4(23992), // Rule ID 22890 //
9458 /* 23956 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9459 /* 23959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9460 /* 23963 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9461 /* 23967 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9462 /* 23971 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9463 /* 23975 */ // MIs[1] Operand 1
9464 /* 23975 */ // No operand predicates
9465 /* 23975 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9466 /* 23977 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (OR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
9467 /* 23977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8ri),
9468 /* 23980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9469 /* 23982 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9470 /* 23984 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9471 /* 23987 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9472 /* 23990 */ GIR_RootConstrainSelectedInstOperands,
9473 /* 23991 */ // GIR_Coverage, 22890,
9474 /* 23991 */ GIR_EraseRootFromParent_Done,
9475 /* 23992 */ // Label 666: @23992
9476 /* 23992 */ GIM_Try, /*On fail goto*//*Label 667*/ GIMT_Encode4(24033), // Rule ID 22980 //
9477 /* 23997 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
9478 /* 24000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9479 /* 24004 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9480 /* 24008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9481 /* 24012 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9482 /* 24016 */ // MIs[1] Operand 1
9483 /* 24016 */ // No operand predicates
9484 /* 24016 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9485 /* 24018 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (OR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
9486 /* 24018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8ri_ND),
9487 /* 24021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9488 /* 24023 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9489 /* 24025 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9490 /* 24028 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9491 /* 24031 */ GIR_RootConstrainSelectedInstOperands,
9492 /* 24032 */ // GIR_Coverage, 22980,
9493 /* 24032 */ GIR_EraseRootFromParent_Done,
9494 /* 24033 */ // Label 667: @24033
9495 /* 24033 */ GIM_Try, /*On fail goto*//*Label 668*/ GIMT_Encode4(24067), // Rule ID 17266 //
9496 /* 24038 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9497 /* 24042 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9498 /* 24046 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9499 /* 24050 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9500 /* 24054 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)<<P:Predicate_or_disjoint>> => (ADD8rr_DB:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
9501 /* 24054 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD8rr_DB),
9502 /* 24059 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9503 /* 24065 */ GIR_RootConstrainSelectedInstOperands,
9504 /* 24066 */ // GIR_Coverage, 17266,
9505 /* 24066 */ GIR_Done,
9506 /* 24067 */ // Label 668: @24067
9507 /* 24067 */ GIM_Try, /*On fail goto*//*Label 669*/ GIMT_Encode4(24100), // Rule ID 22882 //
9508 /* 24072 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9509 /* 24075 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9510 /* 24079 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9511 /* 24083 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9512 /* 24087 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (OR8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
9513 /* 24087 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR8rr),
9514 /* 24092 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9515 /* 24098 */ GIR_RootConstrainSelectedInstOperands,
9516 /* 24099 */ // GIR_Coverage, 22882,
9517 /* 24099 */ GIR_Done,
9518 /* 24100 */ // Label 669: @24100
9519 /* 24100 */ GIM_Try, /*On fail goto*//*Label 670*/ GIMT_Encode4(24133), // Rule ID 22972 //
9520 /* 24105 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
9521 /* 24108 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9522 /* 24112 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9523 /* 24116 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9524 /* 24120 */ // (or:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (OR8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
9525 /* 24120 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR8rr_ND),
9526 /* 24125 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9527 /* 24131 */ GIR_RootConstrainSelectedInstOperands,
9528 /* 24132 */ // GIR_Coverage, 22972,
9529 /* 24132 */ GIR_Done,
9530 /* 24133 */ // Label 670: @24133
9531 /* 24133 */ GIM_Reject,
9532 /* 24134 */ // Label 660: @24134
9533 /* 24134 */ GIM_Reject,
9534 /* 24135 */ // Label 637: @24135
9535 /* 24135 */ GIM_Try, /*On fail goto*//*Label 671*/ GIMT_Encode4(24785),
9536 /* 24140 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
9537 /* 24143 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
9538 /* 24146 */ GIM_Try, /*On fail goto*//*Label 672*/ GIMT_Encode4(24211), // Rule ID 26120 //
9539 /* 24151 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9540 /* 24154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9541 /* 24158 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9542 /* 24162 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9543 /* 24166 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9544 /* 24169 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9545 /* 24173 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
9546 /* 24177 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9547 /* 24181 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9548 /* 24183 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9549 /* 24190 */ // (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)
9550 /* 24190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16rm),
9551 /* 24193 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9552 /* 24195 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9553 /* 24197 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9554 /* 24201 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9555 /* 24204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9556 /* 24209 */ GIR_RootConstrainSelectedInstOperands,
9557 /* 24210 */ // GIR_Coverage, 26120,
9558 /* 24210 */ GIR_EraseRootFromParent_Done,
9559 /* 24211 */ // Label 672: @24211
9560 /* 24211 */ GIM_Try, /*On fail goto*//*Label 673*/ GIMT_Encode4(24276), // Rule ID 22887 //
9561 /* 24216 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9562 /* 24219 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9563 /* 24223 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9564 /* 24227 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9565 /* 24231 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9566 /* 24235 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9567 /* 24238 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9568 /* 24242 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
9569 /* 24246 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9570 /* 24248 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9571 /* 24255 */ // (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)
9572 /* 24255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16rm),
9573 /* 24258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9574 /* 24260 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9575 /* 24262 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9576 /* 24266 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9577 /* 24269 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9578 /* 24274 */ GIR_RootConstrainSelectedInstOperands,
9579 /* 24275 */ // GIR_Coverage, 22887,
9580 /* 24275 */ GIR_EraseRootFromParent_Done,
9581 /* 24276 */ // Label 673: @24276
9582 /* 24276 */ GIM_Try, /*On fail goto*//*Label 674*/ GIMT_Encode4(24382), // Rule ID 26095 //
9583 /* 24281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9584 /* 24285 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9585 /* 24289 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
9586 /* 24293 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
9587 /* 24297 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
9588 /* 24301 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
9589 /* 24305 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9590 /* 24310 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9591 /* 24314 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9592 /* 24316 */ // (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] }))
9593 /* 24316 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
9594 /* 24319 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
9595 /* 24323 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9596 /* 24328 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
9597 /* 24330 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
9598 /* 24333 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
9599 /* 24337 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9600 /* 24342 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
9601 /* 24345 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
9602 /* 24349 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
9603 /* 24352 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
9604 /* 24357 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
9605 /* 24362 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
9606 /* 24367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS16rr),
9607 /* 24370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9608 /* 24372 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9609 /* 24374 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
9610 /* 24377 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9611 /* 24380 */ GIR_RootConstrainSelectedInstOperands,
9612 /* 24381 */ // GIR_Coverage, 26095,
9613 /* 24381 */ GIR_EraseRootFromParent_Done,
9614 /* 24382 */ // Label 674: @24382
9615 /* 24382 */ GIM_Try, /*On fail goto*//*Label 675*/ GIMT_Encode4(24488), // Rule ID 22833 //
9616 /* 24387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9617 /* 24391 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9618 /* 24395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9619 /* 24399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
9620 /* 24403 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
9621 /* 24407 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
9622 /* 24411 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
9623 /* 24415 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
9624 /* 24420 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9625 /* 24422 */ // (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] }))
9626 /* 24422 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
9627 /* 24425 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
9628 /* 24429 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9629 /* 24434 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
9630 /* 24436 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
9631 /* 24439 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
9632 /* 24443 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
9633 /* 24448 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
9634 /* 24451 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
9635 /* 24455 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
9636 /* 24458 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
9637 /* 24463 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
9638 /* 24468 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
9639 /* 24473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS16rr),
9640 /* 24476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9641 /* 24478 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9642 /* 24480 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
9643 /* 24483 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9644 /* 24486 */ GIR_RootConstrainSelectedInstOperands,
9645 /* 24487 */ // GIR_Coverage, 22833,
9646 /* 24487 */ GIR_EraseRootFromParent_Done,
9647 /* 24488 */ // Label 675: @24488
9648 /* 24488 */ GIM_Try, /*On fail goto*//*Label 676*/ GIMT_Encode4(24524), // Rule ID 22923 //
9649 /* 24493 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
9650 /* 24496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9651 /* 24500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9652 /* 24504 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
9653 /* 24508 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9654 /* 24512 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] })<<P:Predicate_or_disjoint>> => (INC16r:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
9655 /* 24512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r),
9656 /* 24515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9657 /* 24517 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9658 /* 24519 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9659 /* 24522 */ GIR_RootConstrainSelectedInstOperands,
9660 /* 24523 */ // GIR_Coverage, 22923,
9661 /* 24523 */ GIR_EraseRootFromParent_Done,
9662 /* 24524 */ // Label 676: @24524
9663 /* 24524 */ GIM_Try, /*On fail goto*//*Label 677*/ GIMT_Encode4(24560), // Rule ID 23013 //
9664 /* 24529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
9665 /* 24532 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9666 /* 24536 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9667 /* 24540 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
9668 /* 24544 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9669 /* 24548 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src, 1:{ *:[i16] })<<P:Predicate_or_disjoint>> => (INC16r_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src)
9670 /* 24548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16r_ND),
9671 /* 24551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9672 /* 24553 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9673 /* 24555 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9674 /* 24558 */ GIR_RootConstrainSelectedInstOperands,
9675 /* 24559 */ // GIR_Coverage, 23013,
9676 /* 24559 */ GIR_EraseRootFromParent_Done,
9677 /* 24560 */ // Label 677: @24560
9678 /* 24560 */ GIM_Try, /*On fail goto*//*Label 678*/ GIMT_Encode4(24602), // Rule ID 17271 //
9679 /* 24565 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9680 /* 24569 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9681 /* 24573 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9682 /* 24577 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9683 /* 24581 */ // MIs[1] Operand 1
9684 /* 24581 */ // No operand predicates
9685 /* 24581 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9686 /* 24585 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9687 /* 24587 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)<<P:Predicate_or_disjoint>> => (ADD16ri_DB:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
9688 /* 24587 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri_DB),
9689 /* 24590 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9690 /* 24592 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9691 /* 24594 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9692 /* 24597 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9693 /* 24600 */ GIR_RootConstrainSelectedInstOperands,
9694 /* 24601 */ // GIR_Coverage, 17271,
9695 /* 24601 */ GIR_EraseRootFromParent_Done,
9696 /* 24602 */ // Label 678: @24602
9697 /* 24602 */ GIM_Try, /*On fail goto*//*Label 679*/ GIMT_Encode4(24643), // Rule ID 22891 //
9698 /* 24607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9699 /* 24610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9700 /* 24614 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9701 /* 24618 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9702 /* 24622 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9703 /* 24626 */ // MIs[1] Operand 1
9704 /* 24626 */ // No operand predicates
9705 /* 24626 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9706 /* 24628 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (OR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
9707 /* 24628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16ri),
9708 /* 24631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9709 /* 24633 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9710 /* 24635 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9711 /* 24638 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9712 /* 24641 */ GIR_RootConstrainSelectedInstOperands,
9713 /* 24642 */ // GIR_Coverage, 22891,
9714 /* 24642 */ GIR_EraseRootFromParent_Done,
9715 /* 24643 */ // Label 679: @24643
9716 /* 24643 */ GIM_Try, /*On fail goto*//*Label 680*/ GIMT_Encode4(24684), // Rule ID 22981 //
9717 /* 24648 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
9718 /* 24651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9719 /* 24655 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9720 /* 24659 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9721 /* 24663 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
9722 /* 24667 */ // MIs[1] Operand 1
9723 /* 24667 */ // No operand predicates
9724 /* 24667 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9725 /* 24669 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (OR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
9726 /* 24669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16ri_ND),
9727 /* 24672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9728 /* 24674 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9729 /* 24676 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
9730 /* 24679 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9731 /* 24682 */ GIR_RootConstrainSelectedInstOperands,
9732 /* 24683 */ // GIR_Coverage, 22981,
9733 /* 24683 */ GIR_EraseRootFromParent_Done,
9734 /* 24684 */ // Label 680: @24684
9735 /* 24684 */ GIM_Try, /*On fail goto*//*Label 681*/ GIMT_Encode4(24718), // Rule ID 17267 //
9736 /* 24689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9737 /* 24693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9738 /* 24697 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9739 /* 24701 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
9740 /* 24705 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)<<P:Predicate_or_disjoint>> => (ADD16rr_DB:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
9741 /* 24705 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD16rr_DB),
9742 /* 24710 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9743 /* 24716 */ GIR_RootConstrainSelectedInstOperands,
9744 /* 24717 */ // GIR_Coverage, 17267,
9745 /* 24717 */ GIR_Done,
9746 /* 24718 */ // Label 681: @24718
9747 /* 24718 */ GIM_Try, /*On fail goto*//*Label 682*/ GIMT_Encode4(24751), // Rule ID 22883 //
9748 /* 24723 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9749 /* 24726 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9750 /* 24730 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9751 /* 24734 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9752 /* 24738 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (OR16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
9753 /* 24738 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR16rr),
9754 /* 24743 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9755 /* 24749 */ GIR_RootConstrainSelectedInstOperands,
9756 /* 24750 */ // GIR_Coverage, 22883,
9757 /* 24750 */ GIR_Done,
9758 /* 24751 */ // Label 682: @24751
9759 /* 24751 */ GIM_Try, /*On fail goto*//*Label 683*/ GIMT_Encode4(24784), // Rule ID 22973 //
9760 /* 24756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
9761 /* 24759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9762 /* 24763 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9763 /* 24767 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
9764 /* 24771 */ // (or:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (OR16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
9765 /* 24771 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR16rr_ND),
9766 /* 24776 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
9767 /* 24782 */ GIR_RootConstrainSelectedInstOperands,
9768 /* 24783 */ // GIR_Coverage, 22973,
9769 /* 24783 */ GIR_Done,
9770 /* 24784 */ // Label 683: @24784
9771 /* 24784 */ GIM_Reject,
9772 /* 24785 */ // Label 671: @24785
9773 /* 24785 */ GIM_Reject,
9774 /* 24786 */ // Label 638: @24786
9775 /* 24786 */ GIM_Try, /*On fail goto*//*Label 684*/ GIMT_Encode4(26265),
9776 /* 24791 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
9777 /* 24794 */ GIM_Try, /*On fail goto*//*Label 685*/ GIMT_Encode4(24862), // Rule ID 26121 //
9778 /* 24799 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9779 /* 24802 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9780 /* 24805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9781 /* 24809 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9782 /* 24813 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9783 /* 24817 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9784 /* 24820 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9785 /* 24824 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
9786 /* 24828 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9787 /* 24832 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9788 /* 24834 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9789 /* 24841 */ // (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)
9790 /* 24841 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32rm),
9791 /* 24844 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9792 /* 24846 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
9793 /* 24848 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9794 /* 24852 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9795 /* 24855 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9796 /* 24860 */ GIR_RootConstrainSelectedInstOperands,
9797 /* 24861 */ // GIR_Coverage, 26121,
9798 /* 24861 */ GIR_EraseRootFromParent_Done,
9799 /* 24862 */ // Label 685: @24862
9800 /* 24862 */ GIM_Try, /*On fail goto*//*Label 686*/ GIMT_Encode4(24930), // Rule ID 22888 //
9801 /* 24867 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
9802 /* 24870 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9803 /* 24873 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9804 /* 24877 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9805 /* 24881 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9806 /* 24885 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
9807 /* 24889 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
9808 /* 24892 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
9809 /* 24896 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
9810 /* 24900 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9811 /* 24902 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
9812 /* 24909 */ // (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)
9813 /* 24909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32rm),
9814 /* 24912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9815 /* 24914 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
9816 /* 24916 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
9817 /* 24920 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9818 /* 24923 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
9819 /* 24928 */ GIR_RootConstrainSelectedInstOperands,
9820 /* 24929 */ // GIR_Coverage, 22888,
9821 /* 24929 */ GIR_EraseRootFromParent_Done,
9822 /* 24930 */ // Label 686: @24930
9823 /* 24930 */ GIM_Try, /*On fail goto*//*Label 687*/ GIMT_Encode4(25007), // Rule ID 25061 //
9824 /* 24935 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9825 /* 24938 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9826 /* 24941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9827 /* 24945 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9828 /* 24949 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9829 /* 24953 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9830 /* 24957 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9831 /* 24961 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9832 /* 24966 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9833 /* 24970 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9834 /* 24974 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
9835 /* 24978 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9836 /* 24982 */ // MIs[2] src
9837 /* 24982 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9838 /* 24987 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
9839 /* 24991 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9840 /* 24993 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9841 /* 24993 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC32rr),
9842 /* 24996 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9843 /* 24998 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9844 /* 25002 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9845 /* 25005 */ GIR_RootConstrainSelectedInstOperands,
9846 /* 25006 */ // GIR_Coverage, 25061,
9847 /* 25006 */ GIR_EraseRootFromParent_Done,
9848 /* 25007 */ // Label 687: @25007
9849 /* 25007 */ GIM_Try, /*On fail goto*//*Label 688*/ GIMT_Encode4(25084), // Rule ID 25063 //
9850 /* 25012 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9851 /* 25015 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9852 /* 25018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9853 /* 25022 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9854 /* 25026 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9855 /* 25030 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9856 /* 25034 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9857 /* 25038 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9858 /* 25043 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
9859 /* 25047 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9860 /* 25051 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
9861 /* 25055 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9862 /* 25059 */ // MIs[2] src
9863 /* 25059 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9864 /* 25064 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
9865 /* 25068 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9866 /* 25070 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (T1MSKC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9867 /* 25070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC32rr),
9868 /* 25073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9869 /* 25075 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9870 /* 25079 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9871 /* 25082 */ GIR_RootConstrainSelectedInstOperands,
9872 /* 25083 */ // GIR_Coverage, 25063,
9873 /* 25083 */ GIR_EraseRootFromParent_Done,
9874 /* 25084 */ // Label 688: @25084
9875 /* 25084 */ GIM_Try, /*On fail goto*//*Label 689*/ GIMT_Encode4(25162), // Rule ID 25049 //
9876 /* 25089 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9877 /* 25092 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9878 /* 25096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9879 /* 25100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9880 /* 25104 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9881 /* 25108 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9882 /* 25112 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
9883 /* 25116 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
9884 /* 25120 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s32,
9885 /* 25124 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9886 /* 25128 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9887 /* 25133 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
9888 /* 25137 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9889 /* 25141 */ // MIs[0] src
9890 /* 25141 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/2, /*OtherOpIdx*/1,
9891 /* 25146 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9892 /* 25148 */ // (or:{ *:[i32] } (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), -1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9893 /* 25148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
9894 /* 25151 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9895 /* 25153 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src
9896 /* 25157 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9897 /* 25160 */ GIR_RootConstrainSelectedInstOperands,
9898 /* 25161 */ // GIR_Coverage, 25049,
9899 /* 25161 */ GIR_EraseRootFromParent_Done,
9900 /* 25162 */ // Label 689: @25162
9901 /* 25162 */ GIM_Try, /*On fail goto*//*Label 690*/ GIMT_Encode4(25239), // Rule ID 17328 //
9902 /* 25167 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9903 /* 25170 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9904 /* 25173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9905 /* 25177 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9906 /* 25181 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9907 /* 25185 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9908 /* 25189 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9909 /* 25193 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9910 /* 25198 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9911 /* 25202 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9912 /* 25206 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
9913 /* 25210 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9914 /* 25214 */ // MIs[2] src
9915 /* 25214 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9916 /* 25219 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
9917 /* 25223 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9918 /* 25225 */ // (or:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSIC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9919 /* 25225 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC32rr),
9920 /* 25228 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9921 /* 25230 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9922 /* 25234 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9923 /* 25237 */ GIR_RootConstrainSelectedInstOperands,
9924 /* 25238 */ // GIR_Coverage, 17328,
9925 /* 25238 */ GIR_EraseRootFromParent_Done,
9926 /* 25239 */ // Label 690: @25239
9927 /* 25239 */ GIM_Try, /*On fail goto*//*Label 691*/ GIMT_Encode4(25316), // Rule ID 17330 //
9928 /* 25244 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9929 /* 25247 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9930 /* 25250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9931 /* 25254 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9932 /* 25258 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9933 /* 25262 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9934 /* 25266 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9935 /* 25270 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9936 /* 25275 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9937 /* 25279 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
9938 /* 25283 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
9939 /* 25287 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9940 /* 25291 */ // MIs[2] src
9941 /* 25291 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
9942 /* 25296 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
9943 /* 25300 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9944 /* 25302 */ // (or:{ *:[i32] } (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (T1MSKC32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9945 /* 25302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC32rr),
9946 /* 25305 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9947 /* 25307 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9948 /* 25311 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9949 /* 25314 */ GIR_RootConstrainSelectedInstOperands,
9950 /* 25315 */ // GIR_Coverage, 17330,
9951 /* 25315 */ GIR_EraseRootFromParent_Done,
9952 /* 25316 */ // Label 691: @25316
9953 /* 25316 */ GIM_Try, /*On fail goto*//*Label 692*/ GIMT_Encode4(25390), // Rule ID 17316 //
9954 /* 25321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9955 /* 25324 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
9956 /* 25327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9957 /* 25331 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9958 /* 25335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
9959 /* 25339 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
9960 /* 25343 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9961 /* 25347 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9962 /* 25351 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
9963 /* 25355 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
9964 /* 25359 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s32,
9965 /* 25363 */ // MIs[2] src
9966 /* 25363 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
9967 /* 25368 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
9968 /* 25372 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
9969 /* 25376 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
9970 /* 25378 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), -1:{ *:[i32] })) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9971 /* 25378 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
9972 /* 25381 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9973 /* 25383 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
9974 /* 25385 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9975 /* 25388 */ GIR_RootConstrainSelectedInstOperands,
9976 /* 25389 */ // GIR_Coverage, 17316,
9977 /* 25389 */ GIR_EraseRootFromParent_Done,
9978 /* 25390 */ // Label 692: @25390
9979 /* 25390 */ GIM_Try, /*On fail goto*//*Label 693*/ GIMT_Encode4(25448), // Rule ID 25057 //
9980 /* 25395 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
9981 /* 25398 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9982 /* 25402 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
9983 /* 25406 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
9984 /* 25410 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
9985 /* 25414 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
9986 /* 25418 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
9987 /* 25423 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
9988 /* 25427 */ // MIs[0] src
9989 /* 25427 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
9990 /* 25432 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
9991 /* 25434 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCS32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
9992 /* 25434 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS32rr),
9993 /* 25437 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
9994 /* 25439 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
9995 /* 25443 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
9996 /* 25446 */ GIR_RootConstrainSelectedInstOperands,
9997 /* 25447 */ // GIR_Coverage, 25057,
9998 /* 25447 */ GIR_EraseRootFromParent_Done,
9999 /* 25448 */ // Label 693: @25448
10000 /* 25448 */ GIM_Try, /*On fail goto*//*Label 694*/ GIMT_Encode4(25506), // Rule ID 25059 //
10001 /* 25453 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10002 /* 25456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10003 /* 25460 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10004 /* 25464 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10005 /* 25468 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10006 /* 25472 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10007 /* 25476 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10008 /* 25481 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10009 /* 25485 */ // MIs[0] src
10010 /* 25485 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
10011 /* 25490 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10012 /* 25492 */ // (or:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLSFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10013 /* 25492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL32rr),
10014 /* 25495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10015 /* 25497 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10016 /* 25501 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10017 /* 25504 */ GIR_RootConstrainSelectedInstOperands,
10018 /* 25505 */ // GIR_Coverage, 25059,
10019 /* 25505 */ GIR_EraseRootFromParent_Done,
10020 /* 25506 */ // Label 694: @25506
10021 /* 25506 */ GIM_Try, /*On fail goto*//*Label 695*/ GIMT_Encode4(25615), // Rule ID 26101 //
10022 /* 25511 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10023 /* 25514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10024 /* 25518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10025 /* 25522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10026 /* 25526 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10027 /* 25530 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10028 /* 25534 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10029 /* 25538 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10030 /* 25543 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10031 /* 25547 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10032 /* 25549 */ // (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] }))
10033 /* 25549 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
10034 /* 25552 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10035 /* 25556 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10036 /* 25561 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10037 /* 25563 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
10038 /* 25566 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10039 /* 25570 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10040 /* 25575 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10041 /* 25578 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10042 /* 25582 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10043 /* 25585 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
10044 /* 25590 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
10045 /* 25595 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10046 /* 25600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS32rr),
10047 /* 25603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10048 /* 25605 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10049 /* 25607 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10050 /* 25610 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10051 /* 25613 */ GIR_RootConstrainSelectedInstOperands,
10052 /* 25614 */ // GIR_Coverage, 26101,
10053 /* 25614 */ GIR_EraseRootFromParent_Done,
10054 /* 25615 */ // Label 695: @25615
10055 /* 25615 */ GIM_Try, /*On fail goto*//*Label 696*/ GIMT_Encode4(25673), // Rule ID 25051 //
10056 /* 25620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10057 /* 25623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10058 /* 25627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10059 /* 25631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
10060 /* 25635 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10061 /* 25639 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10062 /* 25643 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
10063 /* 25647 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10064 /* 25652 */ // MIs[0] src
10065 /* 25652 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/2,
10066 /* 25657 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10067 /* 25659 */ // (or:{ *:[i32] } (sub:{ *:[i32] } -2:{ *:[i32] }, GR32:{ *:[i32] }:$src), GR32:{ *:[i32] }:$src) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10068 /* 25659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
10069 /* 25662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10070 /* 25664 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
10071 /* 25668 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10072 /* 25671 */ GIR_RootConstrainSelectedInstOperands,
10073 /* 25672 */ // GIR_Coverage, 25051,
10074 /* 25672 */ GIR_EraseRootFromParent_Done,
10075 /* 25673 */ // Label 696: @25673
10076 /* 25673 */ GIM_Try, /*On fail goto*//*Label 697*/ GIMT_Encode4(25727), // Rule ID 17324 //
10077 /* 25678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10078 /* 25681 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10079 /* 25684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10080 /* 25688 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10081 /* 25692 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10082 /* 25696 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10083 /* 25700 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10084 /* 25704 */ // MIs[1] src
10085 /* 25704 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10086 /* 25709 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10087 /* 25713 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10088 /* 25715 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCS32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10089 /* 25715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS32rr),
10090 /* 25718 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10091 /* 25720 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10092 /* 25722 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10093 /* 25725 */ GIR_RootConstrainSelectedInstOperands,
10094 /* 25726 */ // GIR_Coverage, 17324,
10095 /* 25726 */ GIR_EraseRootFromParent_Done,
10096 /* 25727 */ // Label 697: @25727
10097 /* 25727 */ GIM_Try, /*On fail goto*//*Label 698*/ GIMT_Encode4(25781), // Rule ID 17326 //
10098 /* 25732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10099 /* 25735 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10100 /* 25738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10101 /* 25742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10102 /* 25746 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10103 /* 25750 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10104 /* 25754 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
10105 /* 25758 */ // MIs[1] src
10106 /* 25758 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10107 /* 25763 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10108 /* 25767 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10109 /* 25769 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, -1:{ *:[i32] })) => (BLSFILL32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10110 /* 25769 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL32rr),
10111 /* 25772 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10112 /* 25774 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10113 /* 25776 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10114 /* 25779 */ GIR_RootConstrainSelectedInstOperands,
10115 /* 25780 */ // GIR_Coverage, 17326,
10116 /* 25780 */ GIR_EraseRootFromParent_Done,
10117 /* 25781 */ // Label 698: @25781
10118 /* 25781 */ GIM_Try, /*On fail goto*//*Label 699*/ GIMT_Encode4(25890), // Rule ID 22839 //
10119 /* 25786 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10120 /* 25789 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10121 /* 25793 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10122 /* 25797 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10123 /* 25801 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10124 /* 25805 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10125 /* 25809 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10126 /* 25813 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10127 /* 25817 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10128 /* 25822 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10129 /* 25824 */ // (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] }))
10130 /* 25824 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
10131 /* 25827 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10132 /* 25831 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10133 /* 25836 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10134 /* 25838 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
10135 /* 25841 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10136 /* 25845 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10137 /* 25850 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10138 /* 25853 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10139 /* 25857 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10140 /* 25860 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
10141 /* 25865 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
10142 /* 25870 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10143 /* 25875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS32rr),
10144 /* 25878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10145 /* 25880 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10146 /* 25882 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10147 /* 25885 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10148 /* 25888 */ GIR_RootConstrainSelectedInstOperands,
10149 /* 25889 */ // GIR_Coverage, 22839,
10150 /* 25889 */ GIR_EraseRootFromParent_Done,
10151 /* 25890 */ // Label 699: @25890
10152 /* 25890 */ GIM_Try, /*On fail goto*//*Label 700*/ GIMT_Encode4(25944), // Rule ID 17318 //
10153 /* 25895 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10154 /* 25898 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10155 /* 25901 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10156 /* 25905 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10157 /* 25909 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10158 /* 25913 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
10159 /* 25917 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
10160 /* 25921 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
10161 /* 25925 */ // MIs[1] src
10162 /* 25925 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
10163 /* 25930 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10164 /* 25932 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (sub:{ *:[i32] } -2:{ *:[i32] }, GR32:{ *:[i32] }:$src)) => (BLCI32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10165 /* 25932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI32rr),
10166 /* 25935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10167 /* 25937 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10168 /* 25939 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10169 /* 25942 */ GIR_RootConstrainSelectedInstOperands,
10170 /* 25943 */ // GIR_Coverage, 17318,
10171 /* 25943 */ GIR_EraseRootFromParent_Done,
10172 /* 25944 */ // Label 700: @25944
10173 /* 25944 */ GIM_Try, /*On fail goto*//*Label 701*/ GIMT_Encode4(25983), // Rule ID 22925 //
10174 /* 25949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_UseIncDec),
10175 /* 25952 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10176 /* 25955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10177 /* 25959 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10178 /* 25963 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
10179 /* 25967 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
10180 /* 25971 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })<<P:Predicate_or_disjoint>> => (INC32r:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10181 /* 25971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r),
10182 /* 25974 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10183 /* 25976 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10184 /* 25978 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10185 /* 25981 */ GIR_RootConstrainSelectedInstOperands,
10186 /* 25982 */ // GIR_Coverage, 22925,
10187 /* 25982 */ GIR_EraseRootFromParent_Done,
10188 /* 25983 */ // Label 701: @25983
10189 /* 25983 */ GIM_Try, /*On fail goto*//*Label 702*/ GIMT_Encode4(26022), // Rule ID 23015 //
10190 /* 25988 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_UseIncDec),
10191 /* 25991 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10192 /* 25994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10193 /* 25998 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10194 /* 26002 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
10195 /* 26006 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
10196 /* 26010 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })<<P:Predicate_or_disjoint>> => (INC32r_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
10197 /* 26010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32r_ND),
10198 /* 26013 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10199 /* 26015 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10200 /* 26017 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10201 /* 26020 */ GIR_RootConstrainSelectedInstOperands,
10202 /* 26021 */ // GIR_Coverage, 23015,
10203 /* 26021 */ GIR_EraseRootFromParent_Done,
10204 /* 26022 */ // Label 702: @26022
10205 /* 26022 */ GIM_Try, /*On fail goto*//*Label 703*/ GIMT_Encode4(26067), // Rule ID 17272 //
10206 /* 26027 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10207 /* 26030 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10208 /* 26034 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10209 /* 26038 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10210 /* 26042 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10211 /* 26046 */ // MIs[1] Operand 1
10212 /* 26046 */ // No operand predicates
10213 /* 26046 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
10214 /* 26050 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10215 /* 26052 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)<<P:Predicate_or_disjoint>> => (ADD32ri_DB:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
10216 /* 26052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri_DB),
10217 /* 26055 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10218 /* 26057 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10219 /* 26059 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10220 /* 26062 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10221 /* 26065 */ GIR_RootConstrainSelectedInstOperands,
10222 /* 26066 */ // GIR_Coverage, 17272,
10223 /* 26066 */ GIR_EraseRootFromParent_Done,
10224 /* 26067 */ // Label 703: @26067
10225 /* 26067 */ GIM_Try, /*On fail goto*//*Label 704*/ GIMT_Encode4(26111), // Rule ID 22892 //
10226 /* 26072 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10227 /* 26075 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10228 /* 26078 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10229 /* 26082 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10230 /* 26086 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10231 /* 26090 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10232 /* 26094 */ // MIs[1] Operand 1
10233 /* 26094 */ // No operand predicates
10234 /* 26094 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10235 /* 26096 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (OR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
10236 /* 26096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32ri),
10237 /* 26099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10238 /* 26101 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10239 /* 26103 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10240 /* 26106 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10241 /* 26109 */ GIR_RootConstrainSelectedInstOperands,
10242 /* 26110 */ // GIR_Coverage, 22892,
10243 /* 26110 */ GIR_EraseRootFromParent_Done,
10244 /* 26111 */ // Label 704: @26111
10245 /* 26111 */ GIM_Try, /*On fail goto*//*Label 705*/ GIMT_Encode4(26155), // Rule ID 22982 //
10246 /* 26116 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10247 /* 26119 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10248 /* 26122 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10249 /* 26126 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10250 /* 26130 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10251 /* 26134 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10252 /* 26138 */ // MIs[1] Operand 1
10253 /* 26138 */ // No operand predicates
10254 /* 26138 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10255 /* 26140 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (OR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
10256 /* 26140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32ri_ND),
10257 /* 26143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10258 /* 26145 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10259 /* 26147 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10260 /* 26150 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10261 /* 26153 */ GIR_RootConstrainSelectedInstOperands,
10262 /* 26154 */ // GIR_Coverage, 22982,
10263 /* 26154 */ GIR_EraseRootFromParent_Done,
10264 /* 26155 */ // Label 705: @26155
10265 /* 26155 */ GIM_Try, /*On fail goto*//*Label 706*/ GIMT_Encode4(26192), // Rule ID 17268 //
10266 /* 26160 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10267 /* 26163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10268 /* 26167 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10269 /* 26171 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10270 /* 26175 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
10271 /* 26179 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)<<P:Predicate_or_disjoint>> => (ADD32rr_DB:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
10272 /* 26179 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD32rr_DB),
10273 /* 26184 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10274 /* 26190 */ GIR_RootConstrainSelectedInstOperands,
10275 /* 26191 */ // GIR_Coverage, 17268,
10276 /* 26191 */ GIR_Done,
10277 /* 26192 */ // Label 706: @26192
10278 /* 26192 */ GIM_Try, /*On fail goto*//*Label 707*/ GIMT_Encode4(26228), // Rule ID 22884 //
10279 /* 26197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10280 /* 26200 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10281 /* 26203 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10282 /* 26207 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10283 /* 26211 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10284 /* 26215 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (OR32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
10285 /* 26215 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR32rr),
10286 /* 26220 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10287 /* 26226 */ GIR_RootConstrainSelectedInstOperands,
10288 /* 26227 */ // GIR_Coverage, 22884,
10289 /* 26227 */ GIR_Done,
10290 /* 26228 */ // Label 707: @26228
10291 /* 26228 */ GIM_Try, /*On fail goto*//*Label 708*/ GIMT_Encode4(26264), // Rule ID 22974 //
10292 /* 26233 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10293 /* 26236 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
10294 /* 26239 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10295 /* 26243 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10296 /* 26247 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
10297 /* 26251 */ // (or:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (OR32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
10298 /* 26251 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR32rr_ND),
10299 /* 26256 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10300 /* 26262 */ GIR_RootConstrainSelectedInstOperands,
10301 /* 26263 */ // GIR_Coverage, 22974,
10302 /* 26263 */ GIR_Done,
10303 /* 26264 */ // Label 708: @26264
10304 /* 26264 */ GIM_Reject,
10305 /* 26265 */ // Label 684: @26265
10306 /* 26265 */ GIM_Reject,
10307 /* 26266 */ // Label 639: @26266
10308 /* 26266 */ GIM_Try, /*On fail goto*//*Label 709*/ GIMT_Encode4(27757),
10309 /* 26271 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
10310 /* 26274 */ GIM_Try, /*On fail goto*//*Label 710*/ GIMT_Encode4(26342), // Rule ID 26122 //
10311 /* 26279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10312 /* 26282 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10313 /* 26285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10314 /* 26289 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10315 /* 26293 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10316 /* 26297 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10317 /* 26300 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10318 /* 26304 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10319 /* 26308 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10320 /* 26312 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10321 /* 26314 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10322 /* 26321 */ // (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)
10323 /* 26321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64rm),
10324 /* 26324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10325 /* 26326 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10326 /* 26328 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10327 /* 26332 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10328 /* 26335 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10329 /* 26340 */ GIR_RootConstrainSelectedInstOperands,
10330 /* 26341 */ // GIR_Coverage, 26122,
10331 /* 26341 */ GIR_EraseRootFromParent_Done,
10332 /* 26342 */ // Label 710: @26342
10333 /* 26342 */ GIM_Try, /*On fail goto*//*Label 711*/ GIMT_Encode4(26410), // Rule ID 22889 //
10334 /* 26347 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10335 /* 26350 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10336 /* 26353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10337 /* 26357 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10338 /* 26361 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10339 /* 26365 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
10340 /* 26369 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
10341 /* 26372 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
10342 /* 26376 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
10343 /* 26380 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10344 /* 26382 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
10345 /* 26389 */ // (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)
10346 /* 26389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64rm),
10347 /* 26392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10348 /* 26394 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10349 /* 26396 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
10350 /* 26400 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10351 /* 26403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
10352 /* 26408 */ GIR_RootConstrainSelectedInstOperands,
10353 /* 26409 */ // GIR_Coverage, 22889,
10354 /* 26409 */ GIR_EraseRootFromParent_Done,
10355 /* 26410 */ // Label 711: @26410
10356 /* 26410 */ GIM_Try, /*On fail goto*//*Label 712*/ GIMT_Encode4(26487), // Rule ID 25062 //
10357 /* 26415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10358 /* 26418 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10359 /* 26421 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10360 /* 26425 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10361 /* 26429 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10362 /* 26433 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10363 /* 26437 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10364 /* 26441 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10365 /* 26446 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10366 /* 26450 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10367 /* 26454 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
10368 /* 26458 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10369 /* 26462 */ // MIs[2] src
10370 /* 26462 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10371 /* 26467 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
10372 /* 26471 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10373 /* 26473 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10374 /* 26473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC64rr),
10375 /* 26476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10376 /* 26478 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10377 /* 26482 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10378 /* 26485 */ GIR_RootConstrainSelectedInstOperands,
10379 /* 26486 */ // GIR_Coverage, 25062,
10380 /* 26486 */ GIR_EraseRootFromParent_Done,
10381 /* 26487 */ // Label 712: @26487
10382 /* 26487 */ GIM_Try, /*On fail goto*//*Label 713*/ GIMT_Encode4(26564), // Rule ID 25064 //
10383 /* 26492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10384 /* 26495 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10385 /* 26498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10386 /* 26502 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10387 /* 26506 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10388 /* 26510 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10389 /* 26514 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10390 /* 26518 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10391 /* 26523 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10392 /* 26527 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10393 /* 26531 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_XOR),
10394 /* 26535 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10395 /* 26539 */ // MIs[2] src
10396 /* 26539 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10397 /* 26544 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
10398 /* 26548 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10399 /* 26550 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (T1MSKC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10400 /* 26550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC64rr),
10401 /* 26553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10402 /* 26555 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10403 /* 26559 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10404 /* 26562 */ GIR_RootConstrainSelectedInstOperands,
10405 /* 26563 */ // GIR_Coverage, 25064,
10406 /* 26563 */ GIR_EraseRootFromParent_Done,
10407 /* 26564 */ // Label 713: @26564
10408 /* 26564 */ GIM_Try, /*On fail goto*//*Label 714*/ GIMT_Encode4(26642), // Rule ID 25050 //
10409 /* 26569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10410 /* 26572 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10411 /* 26576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10412 /* 26580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10413 /* 26584 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10414 /* 26588 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10415 /* 26592 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
10416 /* 26596 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10417 /* 26600 */ GIM_CheckType, /*MI*/2, /*Op*/1, /*Type*/GILLT_s64,
10418 /* 26604 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10419 /* 26608 */ GIM_CheckRegBankForClass, /*MI*/2, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10420 /* 26613 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10421 /* 26617 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10422 /* 26621 */ // MIs[0] src
10423 /* 26621 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/2, /*OtherOpIdx*/1,
10424 /* 26626 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10425 /* 26628 */ // (or:{ *:[i64] } (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), -1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10426 /* 26628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
10427 /* 26631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10428 /* 26633 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/2, /*OpIdx*/1, // src
10429 /* 26637 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10430 /* 26640 */ GIR_RootConstrainSelectedInstOperands,
10431 /* 26641 */ // GIR_Coverage, 25050,
10432 /* 26641 */ GIR_EraseRootFromParent_Done,
10433 /* 26642 */ // Label 714: @26642
10434 /* 26642 */ GIM_Try, /*On fail goto*//*Label 715*/ GIMT_Encode4(26719), // Rule ID 17329 //
10435 /* 26647 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10436 /* 26650 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10437 /* 26653 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10438 /* 26657 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10439 /* 26661 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10440 /* 26665 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10441 /* 26669 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10442 /* 26673 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10443 /* 26678 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10444 /* 26682 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10445 /* 26686 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10446 /* 26690 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10447 /* 26694 */ // MIs[2] src
10448 /* 26694 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10449 /* 26699 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 255,
10450 /* 26703 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10451 /* 26705 */ // (or:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSIC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10452 /* 26705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSIC64rr),
10453 /* 26708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10454 /* 26710 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10455 /* 26714 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10456 /* 26717 */ GIR_RootConstrainSelectedInstOperands,
10457 /* 26718 */ // GIR_Coverage, 17329,
10458 /* 26718 */ GIR_EraseRootFromParent_Done,
10459 /* 26719 */ // Label 715: @26719
10460 /* 26719 */ GIM_Try, /*On fail goto*//*Label 716*/ GIMT_Encode4(26796), // Rule ID 17331 //
10461 /* 26724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10462 /* 26727 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10463 /* 26730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10464 /* 26734 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10465 /* 26738 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10466 /* 26742 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10467 /* 26746 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10468 /* 26750 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10469 /* 26755 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10470 /* 26759 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
10471 /* 26763 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10472 /* 26767 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10473 /* 26771 */ // MIs[2] src
10474 /* 26771 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/1, /*OtherOpIdx*/1,
10475 /* 26776 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10476 /* 26780 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10477 /* 26782 */ // (or:{ *:[i64] } (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (T1MSKC64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10478 /* 26782 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::T1MSKC64rr),
10479 /* 26785 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10480 /* 26787 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10481 /* 26791 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10482 /* 26794 */ GIR_RootConstrainSelectedInstOperands,
10483 /* 26795 */ // GIR_Coverage, 17331,
10484 /* 26795 */ GIR_EraseRootFromParent_Done,
10485 /* 26796 */ // Label 716: @26796
10486 /* 26796 */ GIM_Try, /*On fail goto*//*Label 717*/ GIMT_Encode4(26870), // Rule ID 17317 //
10487 /* 26801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10488 /* 26804 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10489 /* 26807 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10490 /* 26811 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10491 /* 26815 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10492 /* 26819 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
10493 /* 26823 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10494 /* 26827 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10495 /* 26831 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
10496 /* 26835 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_ADD),
10497 /* 26839 */ GIM_CheckType, /*MI*/2, /*Op*/2, /*Type*/GILLT_s64,
10498 /* 26843 */ // MIs[2] src
10499 /* 26843 */ GIM_CheckIsSameOperand, /*MI*/2, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10500 /* 26848 */ GIM_CheckConstantInt8, /*MI*/2, /*Op*/2, 1,
10501 /* 26852 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10502 /* 26856 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
10503 /* 26858 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), -1:{ *:[i64] })) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10504 /* 26858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
10505 /* 26861 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10506 /* 26863 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10507 /* 26865 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10508 /* 26868 */ GIR_RootConstrainSelectedInstOperands,
10509 /* 26869 */ // GIR_Coverage, 17317,
10510 /* 26869 */ GIR_EraseRootFromParent_Done,
10511 /* 26870 */ // Label 717: @26870
10512 /* 26870 */ GIM_Try, /*On fail goto*//*Label 718*/ GIMT_Encode4(26928), // Rule ID 25058 //
10513 /* 26875 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10514 /* 26878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10515 /* 26882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10516 /* 26886 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10517 /* 26890 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10518 /* 26894 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10519 /* 26898 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10520 /* 26903 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10521 /* 26907 */ // MIs[0] src
10522 /* 26907 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
10523 /* 26912 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10524 /* 26914 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCS64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10525 /* 26914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS64rr),
10526 /* 26917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10527 /* 26919 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10528 /* 26923 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10529 /* 26926 */ GIR_RootConstrainSelectedInstOperands,
10530 /* 26927 */ // GIR_Coverage, 25058,
10531 /* 26927 */ GIR_EraseRootFromParent_Done,
10532 /* 26928 */ // Label 718: @26928
10533 /* 26928 */ GIM_Try, /*On fail goto*//*Label 719*/ GIMT_Encode4(26986), // Rule ID 25060 //
10534 /* 26933 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10535 /* 26936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10536 /* 26940 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10537 /* 26944 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10538 /* 26948 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10539 /* 26952 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10540 /* 26956 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10541 /* 26961 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10542 /* 26965 */ // MIs[0] src
10543 /* 26965 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
10544 /* 26970 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10545 /* 26972 */ // (or:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLSFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10546 /* 26972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL64rr),
10547 /* 26975 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10548 /* 26977 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
10549 /* 26981 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10550 /* 26984 */ GIR_RootConstrainSelectedInstOperands,
10551 /* 26985 */ // GIR_Coverage, 25060,
10552 /* 26985 */ GIR_EraseRootFromParent_Done,
10553 /* 26986 */ // Label 719: @26986
10554 /* 26986 */ GIM_Try, /*On fail goto*//*Label 720*/ GIMT_Encode4(27095), // Rule ID 26107 //
10555 /* 26991 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10556 /* 26994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10557 /* 26998 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10558 /* 27002 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10559 /* 27006 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10560 /* 27010 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10561 /* 27014 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10562 /* 27018 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10563 /* 27023 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10564 /* 27027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10565 /* 27029 */ // (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] }))
10566 /* 27029 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
10567 /* 27032 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10568 /* 27036 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10569 /* 27041 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10570 /* 27043 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
10571 /* 27046 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10572 /* 27050 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10573 /* 27055 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10574 /* 27058 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10575 /* 27062 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10576 /* 27065 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
10577 /* 27070 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
10578 /* 27075 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10579 /* 27080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS64rr),
10580 /* 27083 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10581 /* 27085 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
10582 /* 27087 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10583 /* 27090 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10584 /* 27093 */ GIR_RootConstrainSelectedInstOperands,
10585 /* 27094 */ // GIR_Coverage, 26107,
10586 /* 27094 */ GIR_EraseRootFromParent_Done,
10587 /* 27095 */ // Label 720: @27095
10588 /* 27095 */ GIM_Try, /*On fail goto*//*Label 721*/ GIMT_Encode4(27153), // Rule ID 25052 //
10589 /* 27100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10590 /* 27103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10591 /* 27107 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
10592 /* 27111 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
10593 /* 27115 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10594 /* 27119 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10595 /* 27123 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
10596 /* 27127 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10597 /* 27132 */ // MIs[0] src
10598 /* 27132 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/2,
10599 /* 27137 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10600 /* 27139 */ // (or:{ *:[i64] } (sub:{ *:[i64] } -2:{ *:[i64] }, GR64:{ *:[i64] }:$src), GR64:{ *:[i64] }:$src) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10601 /* 27139 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
10602 /* 27142 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10603 /* 27144 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
10604 /* 27148 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10605 /* 27151 */ GIR_RootConstrainSelectedInstOperands,
10606 /* 27152 */ // GIR_Coverage, 25052,
10607 /* 27152 */ GIR_EraseRootFromParent_Done,
10608 /* 27153 */ // Label 721: @27153
10609 /* 27153 */ GIM_Try, /*On fail goto*//*Label 722*/ GIMT_Encode4(27207), // Rule ID 17325 //
10610 /* 27158 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10611 /* 27161 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10612 /* 27164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10613 /* 27168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10614 /* 27172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10615 /* 27176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10616 /* 27180 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10617 /* 27184 */ // MIs[1] src
10618 /* 27184 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10619 /* 27189 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
10620 /* 27193 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10621 /* 27195 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCS64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10622 /* 27195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCS64rr),
10623 /* 27198 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10624 /* 27200 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10625 /* 27202 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10626 /* 27205 */ GIR_RootConstrainSelectedInstOperands,
10627 /* 27206 */ // GIR_Coverage, 17325,
10628 /* 27206 */ GIR_EraseRootFromParent_Done,
10629 /* 27207 */ // Label 722: @27207
10630 /* 27207 */ GIM_Try, /*On fail goto*//*Label 723*/ GIMT_Encode4(27261), // Rule ID 17327 //
10631 /* 27212 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10632 /* 27215 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10633 /* 27218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10634 /* 27222 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10635 /* 27226 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10636 /* 27230 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
10637 /* 27234 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
10638 /* 27238 */ // MIs[1] src
10639 /* 27238 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
10640 /* 27243 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
10641 /* 27247 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10642 /* 27249 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, -1:{ *:[i64] })) => (BLSFILL64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10643 /* 27249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLSFILL64rr),
10644 /* 27252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10645 /* 27254 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10646 /* 27256 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10647 /* 27259 */ GIR_RootConstrainSelectedInstOperands,
10648 /* 27260 */ // GIR_Coverage, 17327,
10649 /* 27260 */ GIR_EraseRootFromParent_Done,
10650 /* 27261 */ // Label 723: @27261
10651 /* 27261 */ GIM_Try, /*On fail goto*//*Label 724*/ GIMT_Encode4(27370), // Rule ID 22845 //
10652 /* 27266 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10653 /* 27269 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10654 /* 27273 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10655 /* 27277 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10656 /* 27281 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
10657 /* 27285 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10658 /* 27289 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
10659 /* 27293 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
10660 /* 27297 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
10661 /* 27302 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10662 /* 27304 */ // (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] }))
10663 /* 27304 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
10664 /* 27307 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
10665 /* 27311 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10666 /* 27316 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
10667 /* 27318 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
10668 /* 27321 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
10669 /* 27325 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10670 /* 27330 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10671 /* 27333 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
10672 /* 27337 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
10673 /* 27340 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
10674 /* 27345 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
10675 /* 27350 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
10676 /* 27355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTS64rr),
10677 /* 27358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10678 /* 27360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10679 /* 27362 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10680 /* 27365 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10681 /* 27368 */ GIR_RootConstrainSelectedInstOperands,
10682 /* 27369 */ // GIR_Coverage, 22845,
10683 /* 27369 */ GIR_EraseRootFromParent_Done,
10684 /* 27370 */ // Label 724: @27370
10685 /* 27370 */ GIM_Try, /*On fail goto*//*Label 725*/ GIMT_Encode4(27424), // Rule ID 17319 //
10686 /* 27375 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
10687 /* 27378 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10688 /* 27381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10689 /* 27385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10690 /* 27389 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10691 /* 27393 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
10692 /* 27397 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
10693 /* 27401 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 254,
10694 /* 27405 */ // MIs[1] src
10695 /* 27405 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
10696 /* 27410 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10697 /* 27412 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (sub:{ *:[i64] } -2:{ *:[i64] }, GR64:{ *:[i64] }:$src)) => (BLCI64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10698 /* 27412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCI64rr),
10699 /* 27415 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10700 /* 27417 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10701 /* 27419 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10702 /* 27422 */ GIR_RootConstrainSelectedInstOperands,
10703 /* 27423 */ // GIR_Coverage, 17319,
10704 /* 27423 */ GIR_EraseRootFromParent_Done,
10705 /* 27424 */ // Label 725: @27424
10706 /* 27424 */ GIM_Try, /*On fail goto*//*Label 726*/ GIMT_Encode4(27463), // Rule ID 22936 //
10707 /* 27429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDDI_UseIncDec),
10708 /* 27432 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10709 /* 27435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10710 /* 27439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10711 /* 27443 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
10712 /* 27447 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
10713 /* 27451 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })<<P:Predicate_or_disjoint>> => (INC64r:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10714 /* 27451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r),
10715 /* 27454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10716 /* 27456 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10717 /* 27458 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10718 /* 27461 */ GIR_RootConstrainSelectedInstOperands,
10719 /* 27462 */ // GIR_Coverage, 22936,
10720 /* 27462 */ GIR_EraseRootFromParent_Done,
10721 /* 27463 */ // Label 726: @27463
10722 /* 27463 */ GIM_Try, /*On fail goto*//*Label 727*/ GIMT_Encode4(27502), // Rule ID 23026 //
10723 /* 27468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDDI_UseIncDec),
10724 /* 27471 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10725 /* 27474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10726 /* 27478 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10727 /* 27482 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
10728 /* 27486 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
10729 /* 27490 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })<<P:Predicate_or_disjoint>> => (INC64r_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
10730 /* 27490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64r_ND),
10731 /* 27493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10732 /* 27495 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
10733 /* 27497 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10734 /* 27500 */ GIR_RootConstrainSelectedInstOperands,
10735 /* 27501 */ // GIR_Coverage, 23026,
10736 /* 27501 */ GIR_EraseRootFromParent_Done,
10737 /* 27502 */ // Label 727: @27502
10738 /* 27502 */ GIM_Try, /*On fail goto*//*Label 728*/ GIMT_Encode4(27551), // Rule ID 17273 //
10739 /* 27507 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10740 /* 27510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10741 /* 27514 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10742 /* 27518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10743 /* 27522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10744 /* 27526 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
10745 /* 27530 */ // MIs[1] Operand 1
10746 /* 27530 */ // No operand predicates
10747 /* 27530 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
10748 /* 27534 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10749 /* 27536 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)<<P:Predicate_or_disjoint>> => (ADD64ri32_DB:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] }):$src2)
10750 /* 27536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64ri32_DB),
10751 /* 27539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10752 /* 27541 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10753 /* 27543 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10754 /* 27546 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10755 /* 27549 */ GIR_RootConstrainSelectedInstOperands,
10756 /* 27550 */ // GIR_Coverage, 17273,
10757 /* 27550 */ GIR_EraseRootFromParent_Done,
10758 /* 27551 */ // Label 728: @27551
10759 /* 27551 */ GIM_Try, /*On fail goto*//*Label 729*/ GIMT_Encode4(27599), // Rule ID 22893 //
10760 /* 27556 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10761 /* 27559 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10762 /* 27562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10763 /* 27566 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10764 /* 27570 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10765 /* 27574 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10766 /* 27578 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
10767 /* 27582 */ // MIs[1] Operand 1
10768 /* 27582 */ // No operand predicates
10769 /* 27582 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10770 /* 27584 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (OR64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
10771 /* 27584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64ri32),
10772 /* 27587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10773 /* 27589 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10774 /* 27591 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10775 /* 27594 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10776 /* 27597 */ GIR_RootConstrainSelectedInstOperands,
10777 /* 27598 */ // GIR_Coverage, 22893,
10778 /* 27598 */ GIR_EraseRootFromParent_Done,
10779 /* 27599 */ // Label 729: @27599
10780 /* 27599 */ GIM_Try, /*On fail goto*//*Label 730*/ GIMT_Encode4(27647), // Rule ID 22983 //
10781 /* 27604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10782 /* 27607 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10783 /* 27610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10784 /* 27614 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10785 /* 27618 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
10786 /* 27622 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
10787 /* 27626 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
10788 /* 27630 */ // MIs[1] Operand 1
10789 /* 27630 */ // No operand predicates
10790 /* 27630 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
10791 /* 27632 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (OR64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
10792 /* 27632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64ri32_ND),
10793 /* 27635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10794 /* 27637 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
10795 /* 27639 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
10796 /* 27642 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
10797 /* 27645 */ GIR_RootConstrainSelectedInstOperands,
10798 /* 27646 */ // GIR_Coverage, 22983,
10799 /* 27646 */ GIR_EraseRootFromParent_Done,
10800 /* 27647 */ // Label 730: @27647
10801 /* 27647 */ GIM_Try, /*On fail goto*//*Label 731*/ GIMT_Encode4(27684), // Rule ID 17269 //
10802 /* 27652 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10803 /* 27655 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10804 /* 27659 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10805 /* 27663 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10806 /* 27667 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_or_disjoint),
10807 /* 27671 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)<<P:Predicate_or_disjoint>> => (ADD64rr_DB:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
10808 /* 27671 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD64rr_DB),
10809 /* 27676 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10810 /* 27682 */ GIR_RootConstrainSelectedInstOperands,
10811 /* 27683 */ // GIR_Coverage, 17269,
10812 /* 27683 */ GIR_Done,
10813 /* 27684 */ // Label 731: @27684
10814 /* 27684 */ GIM_Try, /*On fail goto*//*Label 732*/ GIMT_Encode4(27720), // Rule ID 22885 //
10815 /* 27689 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
10816 /* 27692 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10817 /* 27695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10818 /* 27699 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10819 /* 27703 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10820 /* 27707 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (OR64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
10821 /* 27707 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR64rr),
10822 /* 27712 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10823 /* 27718 */ GIR_RootConstrainSelectedInstOperands,
10824 /* 27719 */ // GIR_Coverage, 22885,
10825 /* 27719 */ GIR_Done,
10826 /* 27720 */ // Label 732: @27720
10827 /* 27720 */ GIM_Try, /*On fail goto*//*Label 733*/ GIMT_Encode4(27756), // Rule ID 22975 //
10828 /* 27725 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
10829 /* 27728 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
10830 /* 27731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10831 /* 27735 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10832 /* 27739 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
10833 /* 27743 */ // (or:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (OR64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
10834 /* 27743 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::OR64rr_ND),
10835 /* 27748 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
10836 /* 27754 */ GIR_RootConstrainSelectedInstOperands,
10837 /* 27755 */ // GIR_Coverage, 22975,
10838 /* 27755 */ GIR_Done,
10839 /* 27756 */ // Label 733: @27756
10840 /* 27756 */ GIM_Reject,
10841 /* 27757 */ // Label 709: @27757
10842 /* 27757 */ GIM_Reject,
10843 /* 27758 */ // Label 640: @27758
10844 /* 27758 */ GIM_Try, /*On fail goto*//*Label 734*/ GIMT_Encode4(27857), // Rule ID 19467 //
10845 /* 27763 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
10846 /* 27766 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
10847 /* 27769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
10848 /* 27773 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
10849 /* 27777 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
10850 /* 27781 */ // (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] })
10851 /* 27781 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
10852 /* 27784 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10853 /* 27788 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10854 /* 27793 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
10855 /* 27797 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10856 /* 27802 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
10857 /* 27805 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10858 /* 27809 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10859 /* 27814 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
10860 /* 27818 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10861 /* 27823 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
10862 /* 27826 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
10863 /* 27830 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10864 /* 27835 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10865 /* 27838 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
10866 /* 27841 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
10867 /* 27843 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10868 /* 27846 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10869 /* 27848 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10870 /* 27851 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
10871 /* 27856 */ // GIR_Coverage, 19467,
10872 /* 27856 */ GIR_EraseRootFromParent_Done,
10873 /* 27857 */ // Label 734: @27857
10874 /* 27857 */ GIM_Reject,
10875 /* 27858 */ // Label 641: @27858
10876 /* 27858 */ GIM_Try, /*On fail goto*//*Label 735*/ GIMT_Encode4(27957), // Rule ID 19468 //
10877 /* 27863 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
10878 /* 27866 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
10879 /* 27869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
10880 /* 27873 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
10881 /* 27877 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
10882 /* 27881 */ // (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] })
10883 /* 27881 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
10884 /* 27884 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10885 /* 27888 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10886 /* 27893 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
10887 /* 27897 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10888 /* 27902 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
10889 /* 27905 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10890 /* 27909 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10891 /* 27914 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
10892 /* 27918 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10893 /* 27923 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
10894 /* 27926 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
10895 /* 27930 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10896 /* 27935 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10897 /* 27938 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
10898 /* 27941 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
10899 /* 27943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10900 /* 27946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10901 /* 27948 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10902 /* 27951 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
10903 /* 27956 */ // GIR_Coverage, 19468,
10904 /* 27956 */ GIR_EraseRootFromParent_Done,
10905 /* 27957 */ // Label 735: @27957
10906 /* 27957 */ GIM_Reject,
10907 /* 27958 */ // Label 642: @27958
10908 /* 27958 */ GIM_Try, /*On fail goto*//*Label 736*/ GIMT_Encode4(28081),
10909 /* 27963 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
10910 /* 27966 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
10911 /* 27969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
10912 /* 27973 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
10913 /* 27977 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
10914 /* 27981 */ GIM_Try, /*On fail goto*//*Label 737*/ GIMT_Encode4(27996), // Rule ID 4397 //
10915 /* 27986 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
10916 /* 27989 */ // (or:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
10917 /* 27989 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORBkk),
10918 /* 27994 */ GIR_RootConstrainSelectedInstOperands,
10919 /* 27995 */ // GIR_Coverage, 4397,
10920 /* 27995 */ GIR_Done,
10921 /* 27996 */ // Label 737: @27996
10922 /* 27996 */ GIM_Try, /*On fail goto*//*Label 738*/ GIMT_Encode4(28080), // Rule ID 19465 //
10923 /* 28001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
10924 /* 28004 */ // (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] })
10925 /* 28004 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
10926 /* 28007 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10927 /* 28011 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10928 /* 28016 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
10929 /* 28020 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10930 /* 28025 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
10931 /* 28028 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10932 /* 28032 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10933 /* 28037 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
10934 /* 28041 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
10935 /* 28046 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
10936 /* 28049 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KORWkk),
10937 /* 28053 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
10938 /* 28058 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
10939 /* 28061 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
10940 /* 28064 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
10941 /* 28066 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
10942 /* 28069 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
10943 /* 28071 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
10944 /* 28074 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
10945 /* 28079 */ // GIR_Coverage, 19465,
10946 /* 28079 */ GIR_EraseRootFromParent_Done,
10947 /* 28080 */ // Label 738: @28080
10948 /* 28080 */ GIM_Reject,
10949 /* 28081 */ // Label 736: @28081
10950 /* 28081 */ GIM_Reject,
10951 /* 28082 */ // Label 643: @28082
10952 /* 28082 */ GIM_Try, /*On fail goto*//*Label 739*/ GIMT_Encode4(28115), // Rule ID 4398 //
10953 /* 28087 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
10954 /* 28090 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
10955 /* 28093 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
10956 /* 28096 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
10957 /* 28100 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
10958 /* 28104 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
10959 /* 28108 */ // (or:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
10960 /* 28108 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORWkk),
10961 /* 28113 */ GIR_RootConstrainSelectedInstOperands,
10962 /* 28114 */ // GIR_Coverage, 4398,
10963 /* 28114 */ GIR_Done,
10964 /* 28115 */ // Label 739: @28115
10965 /* 28115 */ GIM_Reject,
10966 /* 28116 */ // Label 644: @28116
10967 /* 28116 */ GIM_Try, /*On fail goto*//*Label 740*/ GIMT_Encode4(28149), // Rule ID 4399 //
10968 /* 28121 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
10969 /* 28124 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
10970 /* 28127 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
10971 /* 28130 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
10972 /* 28134 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
10973 /* 28138 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
10974 /* 28142 */ // (or:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
10975 /* 28142 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORDkk),
10976 /* 28147 */ GIR_RootConstrainSelectedInstOperands,
10977 /* 28148 */ // GIR_Coverage, 4399,
10978 /* 28148 */ GIR_Done,
10979 /* 28149 */ // Label 740: @28149
10980 /* 28149 */ GIM_Reject,
10981 /* 28150 */ // Label 645: @28150
10982 /* 28150 */ GIM_Try, /*On fail goto*//*Label 741*/ GIMT_Encode4(28183), // Rule ID 4400 //
10983 /* 28155 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
10984 /* 28158 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
10985 /* 28161 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
10986 /* 28164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
10987 /* 28168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
10988 /* 28172 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
10989 /* 28176 */ // (or:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
10990 /* 28176 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KORQkk),
10991 /* 28181 */ GIR_RootConstrainSelectedInstOperands,
10992 /* 28182 */ // GIR_Coverage, 4400,
10993 /* 28182 */ GIR_Done,
10994 /* 28183 */ // Label 741: @28183
10995 /* 28183 */ GIM_Reject,
10996 /* 28184 */ // Label 646: @28184
10997 /* 28184 */ GIM_Try, /*On fail goto*//*Label 742*/ GIMT_Encode4(28525),
10998 /* 28189 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
10999 /* 28192 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
11000 /* 28195 */ GIM_Try, /*On fail goto*//*Label 743*/ GIMT_Encode4(28257), // Rule ID 25312 //
11001 /* 28200 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11002 /* 28203 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11003 /* 28207 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11004 /* 28211 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11005 /* 28215 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11006 /* 28218 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11007 /* 28222 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11008 /* 28226 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11009 /* 28230 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11010 /* 28232 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11011 /* 28239 */ // (or:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11012 /* 28239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11013 /* 28242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11014 /* 28244 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11015 /* 28246 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11016 /* 28250 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11017 /* 28255 */ GIR_RootConstrainSelectedInstOperands,
11018 /* 28256 */ // GIR_Coverage, 25312,
11019 /* 28256 */ GIR_EraseRootFromParent_Done,
11020 /* 28257 */ // Label 743: @28257
11021 /* 28257 */ GIM_Try, /*On fail goto*//*Label 744*/ GIMT_Encode4(28319), // Rule ID 25492 //
11022 /* 28262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11023 /* 28265 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11024 /* 28269 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11025 /* 28273 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11026 /* 28277 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11027 /* 28280 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11028 /* 28284 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11029 /* 28288 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11030 /* 28292 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11031 /* 28294 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11032 /* 28301 */ // (or:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11033 /* 28301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11034 /* 28304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11035 /* 28306 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11036 /* 28308 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11037 /* 28312 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11038 /* 28317 */ GIR_RootConstrainSelectedInstOperands,
11039 /* 28318 */ // GIR_Coverage, 25492,
11040 /* 28318 */ GIR_EraseRootFromParent_Done,
11041 /* 28319 */ // Label 744: @28319
11042 /* 28319 */ GIM_Try, /*On fail goto*//*Label 745*/ GIMT_Encode4(28381), // Rule ID 18127 //
11043 /* 28324 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11044 /* 28327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11045 /* 28331 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11046 /* 28335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11047 /* 28339 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11048 /* 28343 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11049 /* 28346 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11050 /* 28350 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11051 /* 28354 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11052 /* 28356 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11053 /* 28363 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11054 /* 28363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11055 /* 28366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11056 /* 28368 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11057 /* 28370 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11058 /* 28374 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11059 /* 28379 */ GIR_RootConstrainSelectedInstOperands,
11060 /* 28380 */ // GIR_Coverage, 18127,
11061 /* 28380 */ GIR_EraseRootFromParent_Done,
11062 /* 28381 */ // Label 745: @28381
11063 /* 28381 */ GIM_Try, /*On fail goto*//*Label 746*/ GIMT_Encode4(28443), // Rule ID 20011 //
11064 /* 28386 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11065 /* 28389 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11066 /* 28393 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11067 /* 28397 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11068 /* 28401 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11069 /* 28405 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11070 /* 28408 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11071 /* 28412 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11072 /* 28416 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11073 /* 28418 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11074 /* 28425 */ // (or:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11075 /* 28425 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11076 /* 28428 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11077 /* 28430 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11078 /* 28432 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11079 /* 28436 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11080 /* 28441 */ GIR_RootConstrainSelectedInstOperands,
11081 /* 28442 */ // GIR_Coverage, 20011,
11082 /* 28442 */ GIR_EraseRootFromParent_Done,
11083 /* 28443 */ // Label 746: @28443
11084 /* 28443 */ GIM_Try, /*On fail goto*//*Label 747*/ GIMT_Encode4(28470), // Rule ID 18115 //
11085 /* 28448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11086 /* 28451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11087 /* 28455 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11088 /* 28459 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11089 /* 28463 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
11090 /* 28463 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
11091 /* 28468 */ GIR_RootConstrainSelectedInstOperands,
11092 /* 28469 */ // GIR_Coverage, 18115,
11093 /* 28469 */ GIR_Done,
11094 /* 28470 */ // Label 747: @28470
11095 /* 28470 */ GIM_Try, /*On fail goto*//*Label 748*/ GIMT_Encode4(28497), // Rule ID 18139 //
11096 /* 28475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
11097 /* 28478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11098 /* 28482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11099 /* 28486 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11100 /* 28490 */ // (or:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
11101 /* 28490 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
11102 /* 28495 */ GIR_RootConstrainSelectedInstOperands,
11103 /* 28496 */ // GIR_Coverage, 18139,
11104 /* 28496 */ GIR_Done,
11105 /* 28497 */ // Label 748: @28497
11106 /* 28497 */ GIM_Try, /*On fail goto*//*Label 749*/ GIMT_Encode4(28524), // Rule ID 20003 //
11107 /* 28502 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11108 /* 28505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11109 /* 28509 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11110 /* 28513 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11111 /* 28517 */ // (or:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPORQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
11112 /* 28517 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
11113 /* 28522 */ GIR_RootConstrainSelectedInstOperands,
11114 /* 28523 */ // GIR_Coverage, 20003,
11115 /* 28523 */ GIR_Done,
11116 /* 28524 */ // Label 749: @28524
11117 /* 28524 */ GIM_Reject,
11118 /* 28525 */ // Label 742: @28525
11119 /* 28525 */ GIM_Reject,
11120 /* 28526 */ // Label 647: @28526
11121 /* 28526 */ GIM_Try, /*On fail goto*//*Label 750*/ GIMT_Encode4(28991),
11122 /* 28531 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
11123 /* 28534 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
11124 /* 28537 */ GIM_Try, /*On fail goto*//*Label 751*/ GIMT_Encode4(28599), // Rule ID 25291 //
11125 /* 28542 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11126 /* 28545 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11127 /* 28549 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11128 /* 28553 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11129 /* 28557 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11130 /* 28560 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11131 /* 28564 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11132 /* 28568 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11133 /* 28572 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11134 /* 28574 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11135 /* 28581 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11136 /* 28581 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11137 /* 28584 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11138 /* 28586 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11139 /* 28588 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11140 /* 28592 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11141 /* 28597 */ GIR_RootConstrainSelectedInstOperands,
11142 /* 28598 */ // GIR_Coverage, 25291,
11143 /* 28598 */ GIR_EraseRootFromParent_Done,
11144 /* 28599 */ // Label 751: @28599
11145 /* 28599 */ GIM_Try, /*On fail goto*//*Label 752*/ GIMT_Encode4(28661), // Rule ID 25301 //
11146 /* 28604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11147 /* 28607 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11148 /* 28611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11149 /* 28615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11150 /* 28619 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11151 /* 28622 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11152 /* 28626 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11153 /* 28630 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11154 /* 28634 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11155 /* 28636 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11156 /* 28643 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11157 /* 28643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11158 /* 28646 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11159 /* 28648 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11160 /* 28650 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11161 /* 28654 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11162 /* 28659 */ GIR_RootConstrainSelectedInstOperands,
11163 /* 28660 */ // GIR_Coverage, 25301,
11164 /* 28660 */ GIR_EraseRootFromParent_Done,
11165 /* 28661 */ // Label 752: @28661
11166 /* 28661 */ GIM_Try, /*On fail goto*//*Label 753*/ GIMT_Encode4(28723), // Rule ID 25498 //
11167 /* 28666 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11168 /* 28669 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11169 /* 28673 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11170 /* 28677 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11171 /* 28681 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11172 /* 28684 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11173 /* 28688 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11174 /* 28692 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11175 /* 28696 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11176 /* 28698 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11177 /* 28705 */ // (or:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11178 /* 28705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11179 /* 28708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11180 /* 28710 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11181 /* 28712 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11182 /* 28716 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11183 /* 28721 */ GIR_RootConstrainSelectedInstOperands,
11184 /* 28722 */ // GIR_Coverage, 25498,
11185 /* 28722 */ GIR_EraseRootFromParent_Done,
11186 /* 28723 */ // Label 753: @28723
11187 /* 28723 */ GIM_Try, /*On fail goto*//*Label 754*/ GIMT_Encode4(28785), // Rule ID 18071 //
11188 /* 28728 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11189 /* 28731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11190 /* 28735 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11191 /* 28739 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11192 /* 28743 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11193 /* 28747 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11194 /* 28750 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11195 /* 28754 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11196 /* 28758 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11197 /* 28760 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11198 /* 28767 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11199 /* 28767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11200 /* 28770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11201 /* 28772 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11202 /* 28774 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11203 /* 28778 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11204 /* 28783 */ GIR_RootConstrainSelectedInstOperands,
11205 /* 28784 */ // GIR_Coverage, 18071,
11206 /* 28784 */ GIR_EraseRootFromParent_Done,
11207 /* 28785 */ // Label 754: @28785
11208 /* 28785 */ GIM_Try, /*On fail goto*//*Label 755*/ GIMT_Encode4(28847), // Rule ID 18100 //
11209 /* 28790 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11210 /* 28793 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11211 /* 28797 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11212 /* 28801 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11213 /* 28805 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11214 /* 28809 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11215 /* 28812 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11216 /* 28816 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11217 /* 28820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11218 /* 28822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11219 /* 28829 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11220 /* 28829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11221 /* 28832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11222 /* 28834 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11223 /* 28836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11224 /* 28840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11225 /* 28845 */ GIR_RootConstrainSelectedInstOperands,
11226 /* 28846 */ // GIR_Coverage, 18100,
11227 /* 28846 */ GIR_EraseRootFromParent_Done,
11228 /* 28847 */ // Label 755: @28847
11229 /* 28847 */ GIM_Try, /*On fail goto*//*Label 756*/ GIMT_Encode4(28909), // Rule ID 20027 //
11230 /* 28852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11231 /* 28855 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11232 /* 28859 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11233 /* 28863 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11234 /* 28867 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11235 /* 28871 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11236 /* 28874 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11237 /* 28878 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11238 /* 28882 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11239 /* 28884 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11240 /* 28891 */ // (or:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11241 /* 28891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11242 /* 28894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11243 /* 28896 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11244 /* 28898 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11245 /* 28902 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11246 /* 28907 */ GIR_RootConstrainSelectedInstOperands,
11247 /* 28908 */ // GIR_Coverage, 20027,
11248 /* 28908 */ GIR_EraseRootFromParent_Done,
11249 /* 28909 */ // Label 756: @28909
11250 /* 28909 */ GIM_Try, /*On fail goto*//*Label 757*/ GIMT_Encode4(28936), // Rule ID 18059 //
11251 /* 28914 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11252 /* 28917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11253 /* 28921 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11254 /* 28925 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11255 /* 28929 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPORYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
11256 /* 28929 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
11257 /* 28934 */ GIR_RootConstrainSelectedInstOperands,
11258 /* 28935 */ // GIR_Coverage, 18059,
11259 /* 28935 */ GIR_Done,
11260 /* 28936 */ // Label 757: @28936
11261 /* 28936 */ GIM_Try, /*On fail goto*//*Label 758*/ GIMT_Encode4(28963), // Rule ID 18084 //
11262 /* 28941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11263 /* 28944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11264 /* 28948 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11265 /* 28952 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11266 /* 28956 */ // (or:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VORPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
11267 /* 28956 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
11268 /* 28961 */ GIR_RootConstrainSelectedInstOperands,
11269 /* 28962 */ // GIR_Coverage, 18084,
11270 /* 28962 */ GIR_Done,
11271 /* 28963 */ // Label 758: @28963
11272 /* 28963 */ GIM_Try, /*On fail goto*//*Label 759*/ GIMT_Encode4(28990), // Rule ID 20019 //
11273 /* 28968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11274 /* 28971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11275 /* 28975 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11276 /* 28979 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11277 /* 28983 */ // (or:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPORQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
11278 /* 28983 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
11279 /* 28988 */ GIR_RootConstrainSelectedInstOperands,
11280 /* 28989 */ // GIR_Coverage, 20019,
11281 /* 28989 */ GIR_Done,
11282 /* 28990 */ // Label 759: @28990
11283 /* 28990 */ GIM_Reject,
11284 /* 28991 */ // Label 750: @28991
11285 /* 28991 */ GIM_Reject,
11286 /* 28992 */ // Label 648: @28992
11287 /* 28992 */ GIM_Try, /*On fail goto*//*Label 760*/ GIMT_Encode4(29147),
11288 /* 28997 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
11289 /* 29000 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
11290 /* 29003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11291 /* 29007 */ GIM_Try, /*On fail goto*//*Label 761*/ GIMT_Encode4(29065), // Rule ID 25504 //
11292 /* 29012 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
11293 /* 29015 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11294 /* 29019 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11295 /* 29023 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11296 /* 29026 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11297 /* 29030 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11298 /* 29034 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11299 /* 29038 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11300 /* 29040 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11301 /* 29047 */ // (or:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11302 /* 29047 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
11303 /* 29050 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11304 /* 29052 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11305 /* 29054 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11306 /* 29058 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11307 /* 29063 */ GIR_RootConstrainSelectedInstOperands,
11308 /* 29064 */ // GIR_Coverage, 25504,
11309 /* 29064 */ GIR_EraseRootFromParent_Done,
11310 /* 29065 */ // Label 761: @29065
11311 /* 29065 */ GIM_Try, /*On fail goto*//*Label 762*/ GIMT_Encode4(29123), // Rule ID 20043 //
11312 /* 29070 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
11313 /* 29073 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11314 /* 29077 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11315 /* 29081 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11316 /* 29085 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11317 /* 29088 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11318 /* 29092 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11319 /* 29096 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11320 /* 29098 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11321 /* 29105 */ // (or:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
11322 /* 29105 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
11323 /* 29108 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11324 /* 29110 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11325 /* 29112 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11326 /* 29116 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11327 /* 29121 */ GIR_RootConstrainSelectedInstOperands,
11328 /* 29122 */ // GIR_Coverage, 20043,
11329 /* 29122 */ GIR_EraseRootFromParent_Done,
11330 /* 29123 */ // Label 762: @29123
11331 /* 29123 */ GIM_Try, /*On fail goto*//*Label 763*/ GIMT_Encode4(29146), // Rule ID 20035 //
11332 /* 29128 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
11333 /* 29131 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11334 /* 29135 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11335 /* 29139 */ // (or:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPORQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
11336 /* 29139 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
11337 /* 29144 */ GIR_RootConstrainSelectedInstOperands,
11338 /* 29145 */ // GIR_Coverage, 20035,
11339 /* 29145 */ GIR_Done,
11340 /* 29146 */ // Label 763: @29146
11341 /* 29146 */ GIM_Reject,
11342 /* 29147 */ // Label 760: @29147
11343 /* 29147 */ GIM_Reject,
11344 /* 29148 */ // Label 649: @29148
11345 /* 29148 */ GIM_Try, /*On fail goto*//*Label 764*/ GIMT_Encode4(29489),
11346 /* 29153 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
11347 /* 29156 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
11348 /* 29159 */ GIM_Try, /*On fail goto*//*Label 765*/ GIMT_Encode4(29221), // Rule ID 25313 //
11349 /* 29164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11350 /* 29167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11351 /* 29171 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11352 /* 29175 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11353 /* 29179 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11354 /* 29182 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11355 /* 29186 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11356 /* 29190 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11357 /* 29194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11358 /* 29196 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11359 /* 29203 */ // (or:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11360 /* 29203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11361 /* 29206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11362 /* 29208 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11363 /* 29210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11364 /* 29214 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11365 /* 29219 */ GIR_RootConstrainSelectedInstOperands,
11366 /* 29220 */ // GIR_Coverage, 25313,
11367 /* 29220 */ GIR_EraseRootFromParent_Done,
11368 /* 29221 */ // Label 765: @29221
11369 /* 29221 */ GIM_Try, /*On fail goto*//*Label 766*/ GIMT_Encode4(29283), // Rule ID 25493 //
11370 /* 29226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11371 /* 29229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11372 /* 29233 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11373 /* 29237 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11374 /* 29241 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11375 /* 29244 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11376 /* 29248 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11377 /* 29252 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11378 /* 29256 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11379 /* 29258 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11380 /* 29265 */ // (or:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11381 /* 29265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11382 /* 29268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11383 /* 29270 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11384 /* 29272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11385 /* 29276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11386 /* 29281 */ GIR_RootConstrainSelectedInstOperands,
11387 /* 29282 */ // GIR_Coverage, 25493,
11388 /* 29282 */ GIR_EraseRootFromParent_Done,
11389 /* 29283 */ // Label 766: @29283
11390 /* 29283 */ GIM_Try, /*On fail goto*//*Label 767*/ GIMT_Encode4(29345), // Rule ID 18128 //
11391 /* 29288 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11392 /* 29291 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11393 /* 29295 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11394 /* 29299 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11395 /* 29303 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11396 /* 29307 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11397 /* 29310 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11398 /* 29314 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11399 /* 29318 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11400 /* 29320 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11401 /* 29327 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11402 /* 29327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11403 /* 29330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11404 /* 29332 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11405 /* 29334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11406 /* 29338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11407 /* 29343 */ GIR_RootConstrainSelectedInstOperands,
11408 /* 29344 */ // GIR_Coverage, 18128,
11409 /* 29344 */ GIR_EraseRootFromParent_Done,
11410 /* 29345 */ // Label 767: @29345
11411 /* 29345 */ GIM_Try, /*On fail goto*//*Label 768*/ GIMT_Encode4(29407), // Rule ID 20012 //
11412 /* 29350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11413 /* 29353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11414 /* 29357 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11415 /* 29361 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11416 /* 29365 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11417 /* 29369 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11418 /* 29372 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11419 /* 29376 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11420 /* 29380 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11421 /* 29382 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11422 /* 29389 */ // (or:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11423 /* 29389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
11424 /* 29392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11425 /* 29394 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11426 /* 29396 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11427 /* 29400 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11428 /* 29405 */ GIR_RootConstrainSelectedInstOperands,
11429 /* 29406 */ // GIR_Coverage, 20012,
11430 /* 29406 */ GIR_EraseRootFromParent_Done,
11431 /* 29407 */ // Label 768: @29407
11432 /* 29407 */ GIM_Try, /*On fail goto*//*Label 769*/ GIMT_Encode4(29434), // Rule ID 18116 //
11433 /* 29412 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11434 /* 29415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11435 /* 29419 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11436 /* 29423 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11437 /* 29427 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
11438 /* 29427 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
11439 /* 29432 */ GIR_RootConstrainSelectedInstOperands,
11440 /* 29433 */ // GIR_Coverage, 18116,
11441 /* 29433 */ GIR_Done,
11442 /* 29434 */ // Label 769: @29434
11443 /* 29434 */ GIM_Try, /*On fail goto*//*Label 770*/ GIMT_Encode4(29461), // Rule ID 18140 //
11444 /* 29439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
11445 /* 29442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11446 /* 29446 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11447 /* 29450 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11448 /* 29454 */ // (or:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
11449 /* 29454 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
11450 /* 29459 */ GIR_RootConstrainSelectedInstOperands,
11451 /* 29460 */ // GIR_Coverage, 18140,
11452 /* 29460 */ GIR_Done,
11453 /* 29461 */ // Label 770: @29461
11454 /* 29461 */ GIM_Try, /*On fail goto*//*Label 771*/ GIMT_Encode4(29488), // Rule ID 20004 //
11455 /* 29466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11456 /* 29469 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11457 /* 29473 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11458 /* 29477 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11459 /* 29481 */ // (or:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPORQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
11460 /* 29481 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
11461 /* 29486 */ GIR_RootConstrainSelectedInstOperands,
11462 /* 29487 */ // GIR_Coverage, 20004,
11463 /* 29487 */ GIR_Done,
11464 /* 29488 */ // Label 771: @29488
11465 /* 29488 */ GIM_Reject,
11466 /* 29489 */ // Label 764: @29489
11467 /* 29489 */ GIM_Reject,
11468 /* 29490 */ // Label 650: @29490
11469 /* 29490 */ GIM_Try, /*On fail goto*//*Label 772*/ GIMT_Encode4(29955),
11470 /* 29495 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
11471 /* 29498 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
11472 /* 29501 */ GIM_Try, /*On fail goto*//*Label 773*/ GIMT_Encode4(29563), // Rule ID 25292 //
11473 /* 29506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11474 /* 29509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11475 /* 29513 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11476 /* 29517 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11477 /* 29521 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11478 /* 29524 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11479 /* 29528 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11480 /* 29532 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11481 /* 29536 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11482 /* 29538 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11483 /* 29545 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11484 /* 29545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11485 /* 29548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11486 /* 29550 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11487 /* 29552 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11488 /* 29556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11489 /* 29561 */ GIR_RootConstrainSelectedInstOperands,
11490 /* 29562 */ // GIR_Coverage, 25292,
11491 /* 29562 */ GIR_EraseRootFromParent_Done,
11492 /* 29563 */ // Label 773: @29563
11493 /* 29563 */ GIM_Try, /*On fail goto*//*Label 774*/ GIMT_Encode4(29625), // Rule ID 25302 //
11494 /* 29568 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11495 /* 29571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11496 /* 29575 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11497 /* 29579 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11498 /* 29583 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11499 /* 29586 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11500 /* 29590 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11501 /* 29594 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11502 /* 29598 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11503 /* 29600 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11504 /* 29607 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11505 /* 29607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11506 /* 29610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11507 /* 29612 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11508 /* 29614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11509 /* 29618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11510 /* 29623 */ GIR_RootConstrainSelectedInstOperands,
11511 /* 29624 */ // GIR_Coverage, 25302,
11512 /* 29624 */ GIR_EraseRootFromParent_Done,
11513 /* 29625 */ // Label 774: @29625
11514 /* 29625 */ GIM_Try, /*On fail goto*//*Label 775*/ GIMT_Encode4(29687), // Rule ID 25499 //
11515 /* 29630 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11516 /* 29633 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11517 /* 29637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11518 /* 29641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11519 /* 29645 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11520 /* 29648 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11521 /* 29652 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11522 /* 29656 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11523 /* 29660 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11524 /* 29662 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11525 /* 29669 */ // (or:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11526 /* 29669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11527 /* 29672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11528 /* 29674 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11529 /* 29676 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11530 /* 29680 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11531 /* 29685 */ GIR_RootConstrainSelectedInstOperands,
11532 /* 29686 */ // GIR_Coverage, 25499,
11533 /* 29686 */ GIR_EraseRootFromParent_Done,
11534 /* 29687 */ // Label 775: @29687
11535 /* 29687 */ GIM_Try, /*On fail goto*//*Label 776*/ GIMT_Encode4(29749), // Rule ID 18072 //
11536 /* 29692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11537 /* 29695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11538 /* 29699 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11539 /* 29703 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11540 /* 29707 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11541 /* 29711 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11542 /* 29714 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11543 /* 29718 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11544 /* 29722 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11545 /* 29724 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11546 /* 29731 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11547 /* 29731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11548 /* 29734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11549 /* 29736 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11550 /* 29738 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11551 /* 29742 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11552 /* 29747 */ GIR_RootConstrainSelectedInstOperands,
11553 /* 29748 */ // GIR_Coverage, 18072,
11554 /* 29748 */ GIR_EraseRootFromParent_Done,
11555 /* 29749 */ // Label 776: @29749
11556 /* 29749 */ GIM_Try, /*On fail goto*//*Label 777*/ GIMT_Encode4(29811), // Rule ID 18101 //
11557 /* 29754 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11558 /* 29757 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11559 /* 29761 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11560 /* 29765 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11561 /* 29769 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11562 /* 29773 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11563 /* 29776 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11564 /* 29780 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11565 /* 29784 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11566 /* 29786 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11567 /* 29793 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11568 /* 29793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11569 /* 29796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11570 /* 29798 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11571 /* 29800 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11572 /* 29804 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11573 /* 29809 */ GIR_RootConstrainSelectedInstOperands,
11574 /* 29810 */ // GIR_Coverage, 18101,
11575 /* 29810 */ GIR_EraseRootFromParent_Done,
11576 /* 29811 */ // Label 777: @29811
11577 /* 29811 */ GIM_Try, /*On fail goto*//*Label 778*/ GIMT_Encode4(29873), // Rule ID 20028 //
11578 /* 29816 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11579 /* 29819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11580 /* 29823 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11581 /* 29827 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11582 /* 29831 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11583 /* 29835 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11584 /* 29838 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11585 /* 29842 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11586 /* 29846 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11587 /* 29848 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11588 /* 29855 */ // (or:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11589 /* 29855 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
11590 /* 29858 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11591 /* 29860 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11592 /* 29862 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11593 /* 29866 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11594 /* 29871 */ GIR_RootConstrainSelectedInstOperands,
11595 /* 29872 */ // GIR_Coverage, 20028,
11596 /* 29872 */ GIR_EraseRootFromParent_Done,
11597 /* 29873 */ // Label 778: @29873
11598 /* 29873 */ GIM_Try, /*On fail goto*//*Label 779*/ GIMT_Encode4(29900), // Rule ID 18060 //
11599 /* 29878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11600 /* 29881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11601 /* 29885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11602 /* 29889 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11603 /* 29893 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPORYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
11604 /* 29893 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
11605 /* 29898 */ GIR_RootConstrainSelectedInstOperands,
11606 /* 29899 */ // GIR_Coverage, 18060,
11607 /* 29899 */ GIR_Done,
11608 /* 29900 */ // Label 779: @29900
11609 /* 29900 */ GIM_Try, /*On fail goto*//*Label 780*/ GIMT_Encode4(29927), // Rule ID 18085 //
11610 /* 29905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11611 /* 29908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11612 /* 29912 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11613 /* 29916 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11614 /* 29920 */ // (or:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VORPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
11615 /* 29920 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
11616 /* 29925 */ GIR_RootConstrainSelectedInstOperands,
11617 /* 29926 */ // GIR_Coverage, 18085,
11618 /* 29926 */ GIR_Done,
11619 /* 29927 */ // Label 780: @29927
11620 /* 29927 */ GIM_Try, /*On fail goto*//*Label 781*/ GIMT_Encode4(29954), // Rule ID 20020 //
11621 /* 29932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
11622 /* 29935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11623 /* 29939 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11624 /* 29943 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11625 /* 29947 */ // (or:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPORQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
11626 /* 29947 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
11627 /* 29952 */ GIR_RootConstrainSelectedInstOperands,
11628 /* 29953 */ // GIR_Coverage, 20020,
11629 /* 29953 */ GIR_Done,
11630 /* 29954 */ // Label 781: @29954
11631 /* 29954 */ GIM_Reject,
11632 /* 29955 */ // Label 772: @29955
11633 /* 29955 */ GIM_Reject,
11634 /* 29956 */ // Label 651: @29956
11635 /* 29956 */ GIM_Try, /*On fail goto*//*Label 782*/ GIMT_Encode4(30111),
11636 /* 29961 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
11637 /* 29964 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
11638 /* 29967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11639 /* 29971 */ GIM_Try, /*On fail goto*//*Label 783*/ GIMT_Encode4(30029), // Rule ID 25505 //
11640 /* 29976 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
11641 /* 29979 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11642 /* 29983 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11643 /* 29987 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11644 /* 29990 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11645 /* 29994 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11646 /* 29998 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11647 /* 30002 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11648 /* 30004 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11649 /* 30011 */ // (or:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11650 /* 30011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
11651 /* 30014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11652 /* 30016 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11653 /* 30018 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11654 /* 30022 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11655 /* 30027 */ GIR_RootConstrainSelectedInstOperands,
11656 /* 30028 */ // GIR_Coverage, 25505,
11657 /* 30028 */ GIR_EraseRootFromParent_Done,
11658 /* 30029 */ // Label 783: @30029
11659 /* 30029 */ GIM_Try, /*On fail goto*//*Label 784*/ GIMT_Encode4(30087), // Rule ID 20044 //
11660 /* 30034 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
11661 /* 30037 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11662 /* 30041 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11663 /* 30045 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11664 /* 30049 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11665 /* 30052 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11666 /* 30056 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11667 /* 30060 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11668 /* 30062 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11669 /* 30069 */ // (or:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
11670 /* 30069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
11671 /* 30072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11672 /* 30074 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11673 /* 30076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11674 /* 30080 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11675 /* 30085 */ GIR_RootConstrainSelectedInstOperands,
11676 /* 30086 */ // GIR_Coverage, 20044,
11677 /* 30086 */ GIR_EraseRootFromParent_Done,
11678 /* 30087 */ // Label 784: @30087
11679 /* 30087 */ GIM_Try, /*On fail goto*//*Label 785*/ GIMT_Encode4(30110), // Rule ID 20036 //
11680 /* 30092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
11681 /* 30095 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11682 /* 30099 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11683 /* 30103 */ // (or:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPORQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
11684 /* 30103 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
11685 /* 30108 */ GIR_RootConstrainSelectedInstOperands,
11686 /* 30109 */ // GIR_Coverage, 20036,
11687 /* 30109 */ GIR_Done,
11688 /* 30110 */ // Label 785: @30110
11689 /* 30110 */ GIM_Reject,
11690 /* 30111 */ // Label 782: @30111
11691 /* 30111 */ GIM_Reject,
11692 /* 30112 */ // Label 652: @30112
11693 /* 30112 */ GIM_Try, /*On fail goto*//*Label 786*/ GIMT_Encode4(30453),
11694 /* 30117 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
11695 /* 30120 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
11696 /* 30123 */ GIM_Try, /*On fail goto*//*Label 787*/ GIMT_Encode4(30185), // Rule ID 24261 //
11697 /* 30128 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11698 /* 30131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11699 /* 30135 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11700 /* 30139 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11701 /* 30143 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11702 /* 30146 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11703 /* 30150 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11704 /* 30154 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11705 /* 30158 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11706 /* 30160 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11707 /* 30167 */ // (or:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11708 /* 30167 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rm),
11709 /* 30170 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11710 /* 30172 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11711 /* 30174 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11712 /* 30178 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11713 /* 30183 */ GIR_RootConstrainSelectedInstOperands,
11714 /* 30184 */ // GIR_Coverage, 24261,
11715 /* 30184 */ GIR_EraseRootFromParent_Done,
11716 /* 30185 */ // Label 787: @30185
11717 /* 30185 */ GIM_Try, /*On fail goto*//*Label 788*/ GIMT_Encode4(30247), // Rule ID 25314 //
11718 /* 30190 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11719 /* 30193 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11720 /* 30197 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11721 /* 30201 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11722 /* 30205 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11723 /* 30208 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11724 /* 30212 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11725 /* 30216 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11726 /* 30220 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11727 /* 30222 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11728 /* 30229 */ // (or:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11729 /* 30229 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11730 /* 30232 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11731 /* 30234 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11732 /* 30236 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11733 /* 30240 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11734 /* 30245 */ GIR_RootConstrainSelectedInstOperands,
11735 /* 30246 */ // GIR_Coverage, 25314,
11736 /* 30246 */ GIR_EraseRootFromParent_Done,
11737 /* 30247 */ // Label 788: @30247
11738 /* 30247 */ GIM_Try, /*On fail goto*//*Label 789*/ GIMT_Encode4(30309), // Rule ID 5768 //
11739 /* 30252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11740 /* 30255 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11741 /* 30259 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11742 /* 30263 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11743 /* 30267 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11744 /* 30271 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11745 /* 30274 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11746 /* 30278 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11747 /* 30282 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11748 /* 30284 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11749 /* 30291 */ // (or:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11750 /* 30291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rm),
11751 /* 30294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11752 /* 30296 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11753 /* 30298 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11754 /* 30302 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11755 /* 30307 */ GIR_RootConstrainSelectedInstOperands,
11756 /* 30308 */ // GIR_Coverage, 5768,
11757 /* 30308 */ GIR_EraseRootFromParent_Done,
11758 /* 30309 */ // Label 789: @30309
11759 /* 30309 */ GIM_Try, /*On fail goto*//*Label 790*/ GIMT_Encode4(30371), // Rule ID 18129 //
11760 /* 30314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11761 /* 30317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11762 /* 30321 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11763 /* 30325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11764 /* 30329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11765 /* 30333 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11766 /* 30336 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11767 /* 30340 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11768 /* 30344 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11769 /* 30346 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11770 /* 30353 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11771 /* 30353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
11772 /* 30356 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11773 /* 30358 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11774 /* 30360 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11775 /* 30364 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11776 /* 30369 */ GIR_RootConstrainSelectedInstOperands,
11777 /* 30370 */ // GIR_Coverage, 18129,
11778 /* 30370 */ GIR_EraseRootFromParent_Done,
11779 /* 30371 */ // Label 790: @30371
11780 /* 30371 */ GIM_Try, /*On fail goto*//*Label 791*/ GIMT_Encode4(30398), // Rule ID 5765 //
11781 /* 30376 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11782 /* 30379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11783 /* 30383 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11784 /* 30387 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
11785 /* 30391 */ // (or:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPORDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
11786 /* 30391 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZ128rr),
11787 /* 30396 */ GIR_RootConstrainSelectedInstOperands,
11788 /* 30397 */ // GIR_Coverage, 5765,
11789 /* 30397 */ GIR_Done,
11790 /* 30398 */ // Label 791: @30398
11791 /* 30398 */ GIM_Try, /*On fail goto*//*Label 792*/ GIMT_Encode4(30425), // Rule ID 18117 //
11792 /* 30403 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
11793 /* 30406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11794 /* 30410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11795 /* 30414 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11796 /* 30418 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
11797 /* 30418 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
11798 /* 30423 */ GIR_RootConstrainSelectedInstOperands,
11799 /* 30424 */ // GIR_Coverage, 18117,
11800 /* 30424 */ GIR_Done,
11801 /* 30425 */ // Label 792: @30425
11802 /* 30425 */ GIM_Try, /*On fail goto*//*Label 793*/ GIMT_Encode4(30452), // Rule ID 18141 //
11803 /* 30430 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
11804 /* 30433 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11805 /* 30437 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11806 /* 30441 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
11807 /* 30445 */ // (or:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
11808 /* 30445 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
11809 /* 30450 */ GIR_RootConstrainSelectedInstOperands,
11810 /* 30451 */ // GIR_Coverage, 18141,
11811 /* 30451 */ GIR_Done,
11812 /* 30452 */ // Label 793: @30452
11813 /* 30452 */ GIM_Reject,
11814 /* 30453 */ // Label 786: @30453
11815 /* 30453 */ GIM_Reject,
11816 /* 30454 */ // Label 653: @30454
11817 /* 30454 */ GIM_Try, /*On fail goto*//*Label 794*/ GIMT_Encode4(30919),
11818 /* 30459 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
11819 /* 30462 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
11820 /* 30465 */ GIM_Try, /*On fail goto*//*Label 795*/ GIMT_Encode4(30527), // Rule ID 24255 //
11821 /* 30470 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11822 /* 30473 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11823 /* 30477 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11824 /* 30481 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11825 /* 30485 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11826 /* 30488 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11827 /* 30492 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11828 /* 30496 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11829 /* 30500 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11830 /* 30502 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11831 /* 30509 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11832 /* 30509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rm),
11833 /* 30512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11834 /* 30514 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11835 /* 30516 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11836 /* 30520 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11837 /* 30525 */ GIR_RootConstrainSelectedInstOperands,
11838 /* 30526 */ // GIR_Coverage, 24255,
11839 /* 30526 */ GIR_EraseRootFromParent_Done,
11840 /* 30527 */ // Label 795: @30527
11841 /* 30527 */ GIM_Try, /*On fail goto*//*Label 796*/ GIMT_Encode4(30589), // Rule ID 25293 //
11842 /* 30532 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11843 /* 30535 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11844 /* 30539 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11845 /* 30543 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11846 /* 30547 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11847 /* 30550 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11848 /* 30554 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11849 /* 30558 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11850 /* 30562 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11851 /* 30564 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11852 /* 30571 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11853 /* 30571 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11854 /* 30574 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11855 /* 30576 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11856 /* 30578 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11857 /* 30582 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11858 /* 30587 */ GIR_RootConstrainSelectedInstOperands,
11859 /* 30588 */ // GIR_Coverage, 25293,
11860 /* 30588 */ GIR_EraseRootFromParent_Done,
11861 /* 30589 */ // Label 796: @30589
11862 /* 30589 */ GIM_Try, /*On fail goto*//*Label 797*/ GIMT_Encode4(30651), // Rule ID 25303 //
11863 /* 30594 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11864 /* 30597 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11865 /* 30601 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11866 /* 30605 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11867 /* 30609 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11868 /* 30612 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11869 /* 30616 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11870 /* 30620 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11871 /* 30624 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11872 /* 30626 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11873 /* 30633 */ // (or:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11874 /* 30633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11875 /* 30636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11876 /* 30638 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
11877 /* 30640 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11878 /* 30644 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11879 /* 30649 */ GIR_RootConstrainSelectedInstOperands,
11880 /* 30650 */ // GIR_Coverage, 25303,
11881 /* 30650 */ GIR_EraseRootFromParent_Done,
11882 /* 30651 */ // Label 797: @30651
11883 /* 30651 */ GIM_Try, /*On fail goto*//*Label 798*/ GIMT_Encode4(30713), // Rule ID 5759 //
11884 /* 30656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11885 /* 30659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11886 /* 30663 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11887 /* 30667 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11888 /* 30671 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11889 /* 30675 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11890 /* 30678 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11891 /* 30682 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11892 /* 30686 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11893 /* 30688 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11894 /* 30695 */ // (or:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11895 /* 30695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rm),
11896 /* 30698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11897 /* 30700 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11898 /* 30702 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11899 /* 30706 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11900 /* 30711 */ GIR_RootConstrainSelectedInstOperands,
11901 /* 30712 */ // GIR_Coverage, 5759,
11902 /* 30712 */ GIR_EraseRootFromParent_Done,
11903 /* 30713 */ // Label 798: @30713
11904 /* 30713 */ GIM_Try, /*On fail goto*//*Label 799*/ GIMT_Encode4(30775), // Rule ID 18073 //
11905 /* 30718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11906 /* 30721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11907 /* 30725 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11908 /* 30729 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11909 /* 30733 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11910 /* 30737 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11911 /* 30740 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11912 /* 30744 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11913 /* 30748 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11914 /* 30750 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11915 /* 30757 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11916 /* 30757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
11917 /* 30760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11918 /* 30762 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11919 /* 30764 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11920 /* 30768 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11921 /* 30773 */ GIR_RootConstrainSelectedInstOperands,
11922 /* 30774 */ // GIR_Coverage, 18073,
11923 /* 30774 */ GIR_EraseRootFromParent_Done,
11924 /* 30775 */ // Label 799: @30775
11925 /* 30775 */ GIM_Try, /*On fail goto*//*Label 800*/ GIMT_Encode4(30837), // Rule ID 18102 //
11926 /* 30780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11927 /* 30783 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11928 /* 30787 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11929 /* 30791 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
11930 /* 30795 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11931 /* 30799 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11932 /* 30802 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11933 /* 30806 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11934 /* 30810 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11935 /* 30812 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11936 /* 30819 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11937 /* 30819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
11938 /* 30822 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
11939 /* 30824 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
11940 /* 30826 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
11941 /* 30830 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
11942 /* 30835 */ GIR_RootConstrainSelectedInstOperands,
11943 /* 30836 */ // GIR_Coverage, 18102,
11944 /* 30836 */ GIR_EraseRootFromParent_Done,
11945 /* 30837 */ // Label 800: @30837
11946 /* 30837 */ GIM_Try, /*On fail goto*//*Label 801*/ GIMT_Encode4(30864), // Rule ID 5756 //
11947 /* 30842 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
11948 /* 30845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11949 /* 30849 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11950 /* 30853 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
11951 /* 30857 */ // (or:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPORDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
11952 /* 30857 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZ256rr),
11953 /* 30862 */ GIR_RootConstrainSelectedInstOperands,
11954 /* 30863 */ // GIR_Coverage, 5756,
11955 /* 30863 */ GIR_Done,
11956 /* 30864 */ // Label 801: @30864
11957 /* 30864 */ GIM_Try, /*On fail goto*//*Label 802*/ GIMT_Encode4(30891), // Rule ID 18061 //
11958 /* 30869 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
11959 /* 30872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11960 /* 30876 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11961 /* 30880 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11962 /* 30884 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPORYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
11963 /* 30884 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
11964 /* 30889 */ GIR_RootConstrainSelectedInstOperands,
11965 /* 30890 */ // GIR_Coverage, 18061,
11966 /* 30890 */ GIR_Done,
11967 /* 30891 */ // Label 802: @30891
11968 /* 30891 */ GIM_Try, /*On fail goto*//*Label 803*/ GIMT_Encode4(30918), // Rule ID 18086 //
11969 /* 30896 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
11970 /* 30899 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11971 /* 30903 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11972 /* 30907 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
11973 /* 30911 */ // (or:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VORPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
11974 /* 30911 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
11975 /* 30916 */ GIR_RootConstrainSelectedInstOperands,
11976 /* 30917 */ // GIR_Coverage, 18086,
11977 /* 30917 */ GIR_Done,
11978 /* 30918 */ // Label 803: @30918
11979 /* 30918 */ GIM_Reject,
11980 /* 30919 */ // Label 794: @30919
11981 /* 30919 */ GIM_Reject,
11982 /* 30920 */ // Label 654: @30920
11983 /* 30920 */ GIM_Try, /*On fail goto*//*Label 804*/ GIMT_Encode4(31075),
11984 /* 30925 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
11985 /* 30928 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
11986 /* 30931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11987 /* 30935 */ GIM_Try, /*On fail goto*//*Label 805*/ GIMT_Encode4(30993), // Rule ID 24249 //
11988 /* 30940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
11989 /* 30943 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
11990 /* 30947 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
11991 /* 30951 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
11992 /* 30954 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
11993 /* 30958 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
11994 /* 30962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
11995 /* 30966 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
11996 /* 30968 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
11997 /* 30975 */ // (or:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
11998 /* 30975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZrm),
11999 /* 30978 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12000 /* 30980 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12001 /* 30982 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12002 /* 30986 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12003 /* 30991 */ GIR_RootConstrainSelectedInstOperands,
12004 /* 30992 */ // GIR_Coverage, 24249,
12005 /* 30992 */ GIR_EraseRootFromParent_Done,
12006 /* 30993 */ // Label 805: @30993
12007 /* 30993 */ GIM_Try, /*On fail goto*//*Label 806*/ GIMT_Encode4(31051), // Rule ID 5750 //
12008 /* 30998 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12009 /* 31001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12010 /* 31005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12011 /* 31009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12012 /* 31013 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12013 /* 31016 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12014 /* 31020 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12015 /* 31024 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12016 /* 31026 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12017 /* 31033 */ // (or:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
12018 /* 31033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORDZrm),
12019 /* 31036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12020 /* 31038 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12021 /* 31040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12022 /* 31044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12023 /* 31049 */ GIR_RootConstrainSelectedInstOperands,
12024 /* 31050 */ // GIR_Coverage, 5750,
12025 /* 31050 */ GIR_EraseRootFromParent_Done,
12026 /* 31051 */ // Label 806: @31051
12027 /* 31051 */ GIM_Try, /*On fail goto*//*Label 807*/ GIMT_Encode4(31074), // Rule ID 5747 //
12028 /* 31056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12029 /* 31059 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12030 /* 31063 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12031 /* 31067 */ // (or:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPORDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
12032 /* 31067 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORDZrr),
12033 /* 31072 */ GIR_RootConstrainSelectedInstOperands,
12034 /* 31073 */ // GIR_Coverage, 5747,
12035 /* 31073 */ GIR_Done,
12036 /* 31074 */ // Label 807: @31074
12037 /* 31074 */ GIM_Reject,
12038 /* 31075 */ // Label 804: @31075
12039 /* 31075 */ GIM_Reject,
12040 /* 31076 */ // Label 655: @31076
12041 /* 31076 */ GIM_Try, /*On fail goto*//*Label 808*/ GIMT_Encode4(31417),
12042 /* 31081 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
12043 /* 31084 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
12044 /* 31087 */ GIM_Try, /*On fail goto*//*Label 809*/ GIMT_Encode4(31149), // Rule ID 23421 //
12045 /* 31092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
12046 /* 31095 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12047 /* 31099 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12048 /* 31103 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12049 /* 31107 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12050 /* 31110 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12051 /* 31114 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12052 /* 31118 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12053 /* 31122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12054 /* 31124 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12055 /* 31131 */ // (or:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
12056 /* 31131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
12057 /* 31134 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12058 /* 31136 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12059 /* 31138 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12060 /* 31142 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12061 /* 31147 */ GIR_RootConstrainSelectedInstOperands,
12062 /* 31148 */ // GIR_Coverage, 23421,
12063 /* 31148 */ GIR_EraseRootFromParent_Done,
12064 /* 31149 */ // Label 809: @31149
12065 /* 31149 */ GIM_Try, /*On fail goto*//*Label 810*/ GIMT_Encode4(31211), // Rule ID 24243 //
12066 /* 31154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
12067 /* 31157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12068 /* 31161 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12069 /* 31165 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12070 /* 31169 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12071 /* 31172 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12072 /* 31176 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12073 /* 31180 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12074 /* 31184 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12075 /* 31186 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12076 /* 31193 */ // (or:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
12077 /* 31193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
12078 /* 31196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12079 /* 31198 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12080 /* 31200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12081 /* 31204 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12082 /* 31209 */ GIR_RootConstrainSelectedInstOperands,
12083 /* 31210 */ // GIR_Coverage, 24243,
12084 /* 31210 */ GIR_EraseRootFromParent_Done,
12085 /* 31211 */ // Label 810: @31211
12086 /* 31211 */ GIM_Try, /*On fail goto*//*Label 811*/ GIMT_Encode4(31273), // Rule ID 2093 //
12087 /* 31216 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
12088 /* 31219 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12089 /* 31223 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12090 /* 31227 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12091 /* 31231 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12092 /* 31235 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12093 /* 31238 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12094 /* 31242 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12095 /* 31246 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12096 /* 31248 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12097 /* 31255 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
12098 /* 31255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORrm),
12099 /* 31258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12100 /* 31260 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12101 /* 31262 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12102 /* 31266 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12103 /* 31271 */ GIR_RootConstrainSelectedInstOperands,
12104 /* 31272 */ // GIR_Coverage, 2093,
12105 /* 31272 */ GIR_EraseRootFromParent_Done,
12106 /* 31273 */ // Label 811: @31273
12107 /* 31273 */ GIM_Try, /*On fail goto*//*Label 812*/ GIMT_Encode4(31335), // Rule ID 5741 //
12108 /* 31278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
12109 /* 31281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12110 /* 31285 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12111 /* 31289 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12112 /* 31293 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12113 /* 31297 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12114 /* 31300 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12115 /* 31304 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12116 /* 31308 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12117 /* 31310 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12118 /* 31317 */ // (or:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
12119 /* 31317 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rm),
12120 /* 31320 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12121 /* 31322 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12122 /* 31324 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12123 /* 31328 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12124 /* 31333 */ GIR_RootConstrainSelectedInstOperands,
12125 /* 31334 */ // GIR_Coverage, 5741,
12126 /* 31334 */ GIR_EraseRootFromParent_Done,
12127 /* 31335 */ // Label 812: @31335
12128 /* 31335 */ GIM_Try, /*On fail goto*//*Label 813*/ GIMT_Encode4(31362), // Rule ID 2092 //
12129 /* 31340 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
12130 /* 31343 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12131 /* 31347 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12132 /* 31351 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12133 /* 31355 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
12134 /* 31355 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORrr),
12135 /* 31360 */ GIR_RootConstrainSelectedInstOperands,
12136 /* 31361 */ // GIR_Coverage, 2092,
12137 /* 31361 */ GIR_Done,
12138 /* 31362 */ // Label 813: @31362
12139 /* 31362 */ GIM_Try, /*On fail goto*//*Label 814*/ GIMT_Encode4(31389), // Rule ID 2094 //
12140 /* 31367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
12141 /* 31370 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12142 /* 31374 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12143 /* 31378 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
12144 /* 31382 */ // (or:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
12145 /* 31382 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PORrr),
12146 /* 31387 */ GIR_RootConstrainSelectedInstOperands,
12147 /* 31388 */ // GIR_Coverage, 2094,
12148 /* 31388 */ GIR_Done,
12149 /* 31389 */ // Label 814: @31389
12150 /* 31389 */ GIM_Try, /*On fail goto*//*Label 815*/ GIMT_Encode4(31416), // Rule ID 5738 //
12151 /* 31394 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
12152 /* 31397 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12153 /* 31401 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12154 /* 31405 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
12155 /* 31409 */ // (or:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPORQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
12156 /* 31409 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ128rr),
12157 /* 31414 */ GIR_RootConstrainSelectedInstOperands,
12158 /* 31415 */ // GIR_Coverage, 5738,
12159 /* 31415 */ GIR_Done,
12160 /* 31416 */ // Label 815: @31416
12161 /* 31416 */ GIM_Reject,
12162 /* 31417 */ // Label 808: @31417
12163 /* 31417 */ GIM_Reject,
12164 /* 31418 */ // Label 656: @31418
12165 /* 31418 */ GIM_Try, /*On fail goto*//*Label 816*/ GIMT_Encode4(31883),
12166 /* 31423 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
12167 /* 31426 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
12168 /* 31429 */ GIM_Try, /*On fail goto*//*Label 817*/ GIMT_Encode4(31491), // Rule ID 23423 //
12169 /* 31434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12170 /* 31437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12171 /* 31441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12172 /* 31445 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12173 /* 31449 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12174 /* 31452 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12175 /* 31456 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12176 /* 31460 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12177 /* 31464 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12178 /* 31466 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12179 /* 31473 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
12180 /* 31473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
12181 /* 31476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12182 /* 31478 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12183 /* 31480 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12184 /* 31484 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12185 /* 31489 */ GIR_RootConstrainSelectedInstOperands,
12186 /* 31490 */ // GIR_Coverage, 23423,
12187 /* 31490 */ GIR_EraseRootFromParent_Done,
12188 /* 31491 */ // Label 817: @31491
12189 /* 31491 */ GIM_Try, /*On fail goto*//*Label 818*/ GIMT_Encode4(31553), // Rule ID 24237 //
12190 /* 31496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
12191 /* 31499 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12192 /* 31503 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12193 /* 31507 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12194 /* 31511 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12195 /* 31514 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12196 /* 31518 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12197 /* 31522 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12198 /* 31526 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12199 /* 31528 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12200 /* 31535 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
12201 /* 31535 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
12202 /* 31538 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12203 /* 31540 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12204 /* 31542 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12205 /* 31546 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12206 /* 31551 */ GIR_RootConstrainSelectedInstOperands,
12207 /* 31552 */ // GIR_Coverage, 24237,
12208 /* 31552 */ GIR_EraseRootFromParent_Done,
12209 /* 31553 */ // Label 818: @31553
12210 /* 31553 */ GIM_Try, /*On fail goto*//*Label 819*/ GIMT_Encode4(31615), // Rule ID 25304 //
12211 /* 31558 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12212 /* 31561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12213 /* 31565 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12214 /* 31569 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12215 /* 31573 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12216 /* 31576 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12217 /* 31580 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12218 /* 31584 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12219 /* 31588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12220 /* 31590 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12221 /* 31597 */ // (or:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
12222 /* 31597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
12223 /* 31600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12224 /* 31602 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12225 /* 31604 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12226 /* 31608 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12227 /* 31613 */ GIR_RootConstrainSelectedInstOperands,
12228 /* 31614 */ // GIR_Coverage, 25304,
12229 /* 31614 */ GIR_EraseRootFromParent_Done,
12230 /* 31615 */ // Label 819: @31615
12231 /* 31615 */ GIM_Try, /*On fail goto*//*Label 820*/ GIMT_Encode4(31677), // Rule ID 2097 //
12232 /* 31620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12233 /* 31623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12234 /* 31627 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12235 /* 31631 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12236 /* 31635 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12237 /* 31639 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12238 /* 31642 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12239 /* 31646 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12240 /* 31650 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12241 /* 31652 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12242 /* 31659 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
12243 /* 31659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORYrm),
12244 /* 31662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12245 /* 31664 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12246 /* 31666 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12247 /* 31670 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12248 /* 31675 */ GIR_RootConstrainSelectedInstOperands,
12249 /* 31676 */ // GIR_Coverage, 2097,
12250 /* 31676 */ GIR_EraseRootFromParent_Done,
12251 /* 31677 */ // Label 820: @31677
12252 /* 31677 */ GIM_Try, /*On fail goto*//*Label 821*/ GIMT_Encode4(31739), // Rule ID 5732 //
12253 /* 31682 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
12254 /* 31685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12255 /* 31689 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12256 /* 31693 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12257 /* 31697 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12258 /* 31701 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12259 /* 31704 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12260 /* 31708 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12261 /* 31712 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12262 /* 31714 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12263 /* 31721 */ // (or:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
12264 /* 31721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rm),
12265 /* 31724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12266 /* 31726 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12267 /* 31728 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12268 /* 31732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12269 /* 31737 */ GIR_RootConstrainSelectedInstOperands,
12270 /* 31738 */ // GIR_Coverage, 5732,
12271 /* 31738 */ GIR_EraseRootFromParent_Done,
12272 /* 31739 */ // Label 821: @31739
12273 /* 31739 */ GIM_Try, /*On fail goto*//*Label 822*/ GIMT_Encode4(31801), // Rule ID 18103 //
12274 /* 31744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12275 /* 31747 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12276 /* 31751 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12277 /* 31755 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12278 /* 31759 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12279 /* 31763 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12280 /* 31766 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12281 /* 31770 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12282 /* 31774 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12283 /* 31776 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12284 /* 31783 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
12285 /* 31783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VORPSYrm),
12286 /* 31786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12287 /* 31788 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12288 /* 31790 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12289 /* 31794 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12290 /* 31799 */ GIR_RootConstrainSelectedInstOperands,
12291 /* 31800 */ // GIR_Coverage, 18103,
12292 /* 31800 */ GIR_EraseRootFromParent_Done,
12293 /* 31801 */ // Label 822: @31801
12294 /* 31801 */ GIM_Try, /*On fail goto*//*Label 823*/ GIMT_Encode4(31828), // Rule ID 2096 //
12295 /* 31806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
12296 /* 31809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12297 /* 31813 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12298 /* 31817 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12299 /* 31821 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPORYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
12300 /* 31821 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORYrr),
12301 /* 31826 */ GIR_RootConstrainSelectedInstOperands,
12302 /* 31827 */ // GIR_Coverage, 2096,
12303 /* 31827 */ GIR_Done,
12304 /* 31828 */ // Label 823: @31828
12305 /* 31828 */ GIM_Try, /*On fail goto*//*Label 824*/ GIMT_Encode4(31855), // Rule ID 5729 //
12306 /* 31833 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
12307 /* 31836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12308 /* 31840 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12309 /* 31844 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
12310 /* 31848 */ // (or:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPORQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
12311 /* 31848 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZ256rr),
12312 /* 31853 */ GIR_RootConstrainSelectedInstOperands,
12313 /* 31854 */ // GIR_Coverage, 5729,
12314 /* 31854 */ GIR_Done,
12315 /* 31855 */ // Label 824: @31855
12316 /* 31855 */ GIM_Try, /*On fail goto*//*Label 825*/ GIMT_Encode4(31882), // Rule ID 18087 //
12317 /* 31860 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
12318 /* 31863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12319 /* 31867 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12320 /* 31871 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
12321 /* 31875 */ // (or:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VORPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
12322 /* 31875 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VORPSYrr),
12323 /* 31880 */ GIR_RootConstrainSelectedInstOperands,
12324 /* 31881 */ // GIR_Coverage, 18087,
12325 /* 31881 */ GIR_Done,
12326 /* 31882 */ // Label 825: @31882
12327 /* 31882 */ GIM_Reject,
12328 /* 31883 */ // Label 816: @31883
12329 /* 31883 */ GIM_Reject,
12330 /* 31884 */ // Label 657: @31884
12331 /* 31884 */ GIM_Try, /*On fail goto*//*Label 826*/ GIMT_Encode4(32039),
12332 /* 31889 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
12333 /* 31892 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
12334 /* 31895 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12335 /* 31899 */ GIM_Try, /*On fail goto*//*Label 827*/ GIMT_Encode4(31957), // Rule ID 24231 //
12336 /* 31904 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12337 /* 31907 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12338 /* 31911 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12339 /* 31915 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12340 /* 31918 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12341 /* 31922 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12342 /* 31926 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12343 /* 31930 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12344 /* 31932 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12345 /* 31939 */ // (or:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
12346 /* 31939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12347 /* 31942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12348 /* 31944 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12349 /* 31946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12350 /* 31950 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12351 /* 31955 */ GIR_RootConstrainSelectedInstOperands,
12352 /* 31956 */ // GIR_Coverage, 24231,
12353 /* 31956 */ GIR_EraseRootFromParent_Done,
12354 /* 31957 */ // Label 827: @31957
12355 /* 31957 */ GIM_Try, /*On fail goto*//*Label 828*/ GIMT_Encode4(32015), // Rule ID 5723 //
12356 /* 31962 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12357 /* 31965 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12358 /* 31969 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12359 /* 31973 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12360 /* 31977 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12361 /* 31980 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
12362 /* 31984 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12363 /* 31988 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12364 /* 31990 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12365 /* 31997 */ // (or:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
12366 /* 31997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPORQZrm),
12367 /* 32000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12368 /* 32002 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12369 /* 32004 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12370 /* 32008 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12371 /* 32013 */ GIR_RootConstrainSelectedInstOperands,
12372 /* 32014 */ // GIR_Coverage, 5723,
12373 /* 32014 */ GIR_EraseRootFromParent_Done,
12374 /* 32015 */ // Label 828: @32015
12375 /* 32015 */ GIM_Try, /*On fail goto*//*Label 829*/ GIMT_Encode4(32038), // Rule ID 5720 //
12376 /* 32020 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
12377 /* 32023 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12378 /* 32027 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
12379 /* 32031 */ // (or:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPORQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
12380 /* 32031 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPORQZrr),
12381 /* 32036 */ GIR_RootConstrainSelectedInstOperands,
12382 /* 32037 */ // GIR_Coverage, 5720,
12383 /* 32037 */ GIR_Done,
12384 /* 32038 */ // Label 829: @32038
12385 /* 32038 */ GIM_Reject,
12386 /* 32039 */ // Label 826: @32039
12387 /* 32039 */ GIM_Reject,
12388 /* 32040 */ // Label 658: @32040
12389 /* 32040 */ GIM_Reject,
12390 /* 32041 */ // Label 5: @32041
12391 /* 32041 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 853*/ GIMT_Encode4(43987),
12392 /* 32052 */ /*GILLT_s1*//*Label 830*/ GIMT_Encode4(32152),
12393 /* 32056 */ /*GILLT_s8*//*Label 831*/ GIMT_Encode4(32710),
12394 /* 32060 */ /*GILLT_s16*//*Label 832*/ GIMT_Encode4(33059),
12395 /* 32064 */ /*GILLT_s32*//*Label 833*/ GIMT_Encode4(33626),
12396 /* 32068 */ /*GILLT_s64*//*Label 834*/ GIMT_Encode4(34375), GIMT_Encode4(0), GIMT_Encode4(0),
12397 /* 32080 */ /*GILLT_v2s1*//*Label 835*/ GIMT_Encode4(35083),
12398 /* 32084 */ /*GILLT_v4s1*//*Label 836*/ GIMT_Encode4(35625),
12399 /* 32088 */ /*GILLT_v8s1*//*Label 837*/ GIMT_Encode4(36167),
12400 /* 32092 */ /*GILLT_v16s1*//*Label 838*/ GIMT_Encode4(36965),
12401 /* 32096 */ /*GILLT_v32s1*//*Label 839*/ GIMT_Encode4(37223),
12402 /* 32100 */ /*GILLT_v64s1*//*Label 840*/ GIMT_Encode4(37481),
12403 /* 32104 */ /*GILLT_v16s8*//*Label 841*/ GIMT_Encode4(37739),
12404 /* 32108 */ /*GILLT_v32s8*//*Label 842*/ GIMT_Encode4(38359),
12405 /* 32112 */ /*GILLT_v64s8*//*Label 843*/ GIMT_Encode4(39103),
12406 /* 32116 */ /*GILLT_v8s16*//*Label 844*/ GIMT_Encode4(39301),
12407 /* 32120 */ /*GILLT_v16s16*//*Label 845*/ GIMT_Encode4(39921),
12408 /* 32124 */ /*GILLT_v32s16*//*Label 846*/ GIMT_Encode4(40665),
12409 /* 32128 */ /*GILLT_v4s32*//*Label 847*/ GIMT_Encode4(40863),
12410 /* 32132 */ /*GILLT_v8s32*//*Label 848*/ GIMT_Encode4(41483),
12411 /* 32136 */ /*GILLT_v16s32*//*Label 849*/ GIMT_Encode4(42227),
12412 /* 32140 */ /*GILLT_v2s64*//*Label 850*/ GIMT_Encode4(42425),
12413 /* 32144 */ /*GILLT_v4s64*//*Label 851*/ GIMT_Encode4(43045),
12414 /* 32148 */ /*GILLT_v8s64*//*Label 852*/ GIMT_Encode4(43789),
12415 /* 32152 */ // Label 830: @32152
12416 /* 32152 */ GIM_Try, /*On fail goto*//*Label 854*/ GIMT_Encode4(32709),
12417 /* 32157 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s1,
12418 /* 32160 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s1,
12419 /* 32163 */ GIM_Try, /*On fail goto*//*Label 855*/ GIMT_Encode4(32287), // Rule ID 25430 //
12420 /* 32168 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12421 /* 32172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12422 /* 32176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
12423 /* 32180 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
12424 /* 32184 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
12425 /* 32188 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12426 /* 32193 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
12427 /* 32197 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
12428 /* 32203 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
12429 /* 32205 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12430 /* 32209 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12431 /* 32211 */ // (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] })
12432 /* 32211 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
12433 /* 32214 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12434 /* 32218 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12435 /* 32223 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
12436 /* 32227 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12437 /* 32232 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12438 /* 32235 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12439 /* 32239 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12440 /* 32244 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
12441 /* 32248 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12442 /* 32253 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12443 /* 32256 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
12444 /* 32260 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12445 /* 32265 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12446 /* 32268 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
12447 /* 32271 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12448 /* 32273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12449 /* 32276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12450 /* 32278 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12451 /* 32281 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
12452 /* 32286 */ // GIR_Coverage, 25430,
12453 /* 32286 */ GIR_EraseRootFromParent_Done,
12454 /* 32287 */ // Label 855: @32287
12455 /* 32287 */ GIM_Try, /*On fail goto*//*Label 856*/ GIMT_Encode4(32412), // Rule ID 19470 //
12456 /* 32292 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12457 /* 32296 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12458 /* 32300 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
12459 /* 32304 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
12460 /* 32308 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
12461 /* 32312 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12462 /* 32317 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12463 /* 32322 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
12464 /* 32326 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
12465 /* 32332 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
12466 /* 32334 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12467 /* 32336 */ // (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] })
12468 /* 32336 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
12469 /* 32339 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12470 /* 32343 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12471 /* 32348 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
12472 /* 32352 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12473 /* 32357 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12474 /* 32360 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12475 /* 32364 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12476 /* 32369 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
12477 /* 32373 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12478 /* 32378 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12479 /* 32381 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
12480 /* 32385 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12481 /* 32390 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12482 /* 32393 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
12483 /* 32396 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12484 /* 32398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12485 /* 32401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12486 /* 32403 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12487 /* 32406 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
12488 /* 32411 */ // GIR_Coverage, 19470,
12489 /* 32411 */ GIR_EraseRootFromParent_Done,
12490 /* 32412 */ // Label 856: @32412
12491 /* 32412 */ GIM_Try, /*On fail goto*//*Label 857*/ GIMT_Encode4(32536), // Rule ID 25431 //
12492 /* 32417 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12493 /* 32421 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12494 /* 32425 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12495 /* 32429 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
12496 /* 32433 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s1,
12497 /* 32437 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s1,
12498 /* 32441 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12499 /* 32446 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
12500 /* 32450 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
12501 /* 32456 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
12502 /* 32458 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
12503 /* 32460 */ // (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] })
12504 /* 32460 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
12505 /* 32463 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12506 /* 32467 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12507 /* 32472 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
12508 /* 32476 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12509 /* 32481 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12510 /* 32484 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12511 /* 32488 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12512 /* 32493 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
12513 /* 32497 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12514 /* 32502 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12515 /* 32505 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
12516 /* 32509 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12517 /* 32514 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12518 /* 32517 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
12519 /* 32520 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12520 /* 32522 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12521 /* 32525 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12522 /* 32527 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12523 /* 32530 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
12524 /* 32535 */ // GIR_Coverage, 25431,
12525 /* 32535 */ GIR_EraseRootFromParent_Done,
12526 /* 32536 */ // Label 857: @32536
12527 /* 32536 */ GIM_Try, /*On fail goto*//*Label 858*/ GIMT_Encode4(32615), // Rule ID 19456 //
12528 /* 32541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
12529 /* 32545 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12530 /* 32549 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12531 /* 32553 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
12532 /* 32559 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
12533 /* 32561 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12534 /* 32563 */ // (xor:{ *:[v1i1] } VK1:{ *:[v1i1] }:$src, immAllOnesV:{ *:[v1i1] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK1:{ *:[v1i1] }:$src, VK16:{ *:[i32] })), VK2:{ *:[i32] })
12535 /* 32563 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12536 /* 32566 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12537 /* 32570 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12538 /* 32575 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
12539 /* 32579 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12540 /* 32584 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12541 /* 32587 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
12542 /* 32591 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12543 /* 32596 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12544 /* 32599 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12545 /* 32601 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12546 /* 32604 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12547 /* 32606 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12548 /* 32609 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
12549 /* 32614 */ // GIR_Coverage, 19456,
12550 /* 32614 */ GIR_EraseRootFromParent_Done,
12551 /* 32615 */ // Label 858: @32615
12552 /* 32615 */ GIM_Try, /*On fail goto*//*Label 859*/ GIMT_Encode4(32708), // Rule ID 19474 //
12553 /* 32620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12554 /* 32624 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12555 /* 32628 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
12556 /* 32632 */ // (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] })
12557 /* 32632 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
12558 /* 32635 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12559 /* 32639 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12560 /* 32644 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
12561 /* 32648 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12562 /* 32653 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
12563 /* 32656 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12564 /* 32660 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12565 /* 32665 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
12566 /* 32669 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
12567 /* 32674 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
12568 /* 32677 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
12569 /* 32681 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12570 /* 32686 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12571 /* 32689 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
12572 /* 32692 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
12573 /* 32694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
12574 /* 32697 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12575 /* 32699 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12576 /* 32702 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
12577 /* 32707 */ // GIR_Coverage, 19474,
12578 /* 32707 */ GIR_EraseRootFromParent_Done,
12579 /* 32708 */ // Label 859: @32708
12580 /* 32708 */ GIM_Reject,
12581 /* 32709 */ // Label 854: @32709
12582 /* 32709 */ GIM_Reject,
12583 /* 32710 */ // Label 831: @32710
12584 /* 32710 */ GIM_Try, /*On fail goto*//*Label 860*/ GIMT_Encode4(33058),
12585 /* 32715 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
12586 /* 32718 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
12587 /* 32721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12588 /* 32725 */ GIM_Try, /*On fail goto*//*Label 861*/ GIMT_Encode4(32786), // Rule ID 26123 //
12589 /* 32730 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12590 /* 32733 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12591 /* 32737 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12592 /* 32741 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12593 /* 32744 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12594 /* 32748 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
12595 /* 32752 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12596 /* 32756 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12597 /* 32758 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12598 /* 32765 */ // (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)
12599 /* 32765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8rm),
12600 /* 32768 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12601 /* 32770 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12602 /* 32772 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12603 /* 32776 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12604 /* 32779 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12605 /* 32784 */ GIR_RootConstrainSelectedInstOperands,
12606 /* 32785 */ // GIR_Coverage, 26123,
12607 /* 32785 */ GIR_EraseRootFromParent_Done,
12608 /* 32786 */ // Label 861: @32786
12609 /* 32786 */ GIM_Try, /*On fail goto*//*Label 862*/ GIMT_Encode4(32847), // Rule ID 22898 //
12610 /* 32791 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12611 /* 32794 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12612 /* 32798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12613 /* 32802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12614 /* 32806 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12615 /* 32809 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12616 /* 32813 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
12617 /* 32817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12618 /* 32819 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12619 /* 32826 */ // (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)
12620 /* 32826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8rm),
12621 /* 32829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12622 /* 32831 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12623 /* 32833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12624 /* 32837 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12625 /* 32840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12626 /* 32845 */ GIR_RootConstrainSelectedInstOperands,
12627 /* 32846 */ // GIR_Coverage, 22898,
12628 /* 32846 */ GIR_EraseRootFromParent_Done,
12629 /* 32847 */ // Label 862: @32847
12630 /* 32847 */ GIM_Try, /*On fail goto*//*Label 863*/ GIMT_Encode4(32875), // Rule ID 22657 //
12631 /* 32852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12632 /* 32856 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 128,
12633 /* 32860 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -128:{ *:[i8] }) => (ADD8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, -128:{ *:[i8] })
12634 /* 32860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8ri),
12635 /* 32863 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12636 /* 32865 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12637 /* 32867 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
12638 /* 32870 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12639 /* 32873 */ GIR_RootConstrainSelectedInstOperands,
12640 /* 32874 */ // GIR_Coverage, 22657,
12641 /* 32874 */ GIR_EraseRootFromParent_Done,
12642 /* 32875 */ // Label 863: @32875
12643 /* 32875 */ GIM_Try, /*On fail goto*//*Label 864*/ GIMT_Encode4(32900), // Rule ID 243 //
12644 /* 32880 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12645 /* 32883 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12646 /* 32887 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12647 /* 32891 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -1:{ *:[i8] }) => (NOT8r:{ *:[i8] } GR8:{ *:[i8] }:$src1)
12648 /* 32891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8r),
12649 /* 32894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12650 /* 32896 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12651 /* 32898 */ GIR_RootConstrainSelectedInstOperands,
12652 /* 32899 */ // GIR_Coverage, 243,
12653 /* 32899 */ GIR_EraseRootFromParent_Done,
12654 /* 32900 */ // Label 864: @32900
12655 /* 32900 */ GIM_Try, /*On fail goto*//*Label 865*/ GIMT_Encode4(32925), // Rule ID 251 //
12656 /* 32905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
12657 /* 32908 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12658 /* 32912 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12659 /* 32916 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, -1:{ *:[i8] }) => (NOT8r_ND:{ *:[i8] } GR8:{ *:[i8] }:$src1)
12660 /* 32916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8r_ND),
12661 /* 32919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12662 /* 32921 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12663 /* 32923 */ GIR_RootConstrainSelectedInstOperands,
12664 /* 32924 */ // GIR_Coverage, 251,
12665 /* 32924 */ GIR_EraseRootFromParent_Done,
12666 /* 32925 */ // Label 865: @32925
12667 /* 32925 */ GIM_Try, /*On fail goto*//*Label 866*/ GIMT_Encode4(32962), // Rule ID 22902 //
12668 /* 32930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12669 /* 32933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12670 /* 32937 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12671 /* 32941 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12672 /* 32945 */ // MIs[1] Operand 1
12673 /* 32945 */ // No operand predicates
12674 /* 32945 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12675 /* 32947 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (XOR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
12676 /* 32947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8ri),
12677 /* 32950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12678 /* 32952 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12679 /* 32954 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12680 /* 32957 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12681 /* 32960 */ GIR_RootConstrainSelectedInstOperands,
12682 /* 32961 */ // GIR_Coverage, 22902,
12683 /* 32961 */ GIR_EraseRootFromParent_Done,
12684 /* 32962 */ // Label 866: @32962
12685 /* 32962 */ GIM_Try, /*On fail goto*//*Label 867*/ GIMT_Encode4(32999), // Rule ID 22992 //
12686 /* 32967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
12687 /* 32970 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12688 /* 32974 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12689 /* 32978 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12690 /* 32982 */ // MIs[1] Operand 1
12691 /* 32982 */ // No operand predicates
12692 /* 32982 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12693 /* 32984 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (XOR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
12694 /* 32984 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8ri_ND),
12695 /* 32987 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12696 /* 32989 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12697 /* 32991 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12698 /* 32994 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12699 /* 32997 */ GIR_RootConstrainSelectedInstOperands,
12700 /* 32998 */ // GIR_Coverage, 22992,
12701 /* 32998 */ GIR_EraseRootFromParent_Done,
12702 /* 32999 */ // Label 867: @32999
12703 /* 32999 */ GIM_Try, /*On fail goto*//*Label 868*/ GIMT_Encode4(33028), // Rule ID 22894 //
12704 /* 33004 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12705 /* 33007 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12706 /* 33011 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12707 /* 33015 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (XOR8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
12708 /* 33015 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR8rr),
12709 /* 33020 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12710 /* 33026 */ GIR_RootConstrainSelectedInstOperands,
12711 /* 33027 */ // GIR_Coverage, 22894,
12712 /* 33027 */ GIR_Done,
12713 /* 33028 */ // Label 868: @33028
12714 /* 33028 */ GIM_Try, /*On fail goto*//*Label 869*/ GIMT_Encode4(33057), // Rule ID 22984 //
12715 /* 33033 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
12716 /* 33036 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12717 /* 33040 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12718 /* 33044 */ // (xor:{ *:[i8] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2) => (XOR8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src2)
12719 /* 33044 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR8rr_ND),
12720 /* 33049 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12721 /* 33055 */ GIR_RootConstrainSelectedInstOperands,
12722 /* 33056 */ // GIR_Coverage, 22984,
12723 /* 33056 */ GIR_Done,
12724 /* 33057 */ // Label 869: @33057
12725 /* 33057 */ GIM_Reject,
12726 /* 33058 */ // Label 860: @33058
12727 /* 33058 */ GIM_Reject,
12728 /* 33059 */ // Label 832: @33059
12729 /* 33059 */ GIM_Try, /*On fail goto*//*Label 870*/ GIMT_Encode4(33625),
12730 /* 33064 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
12731 /* 33067 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
12732 /* 33070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12733 /* 33074 */ GIM_Try, /*On fail goto*//*Label 871*/ GIMT_Encode4(33135), // Rule ID 26124 //
12734 /* 33079 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12735 /* 33082 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12736 /* 33086 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12737 /* 33090 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12738 /* 33093 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12739 /* 33097 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
12740 /* 33101 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12741 /* 33105 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12742 /* 33107 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12743 /* 33114 */ // (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)
12744 /* 33114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16rm),
12745 /* 33117 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12746 /* 33119 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12747 /* 33121 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12748 /* 33125 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12749 /* 33128 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12750 /* 33133 */ GIR_RootConstrainSelectedInstOperands,
12751 /* 33134 */ // GIR_Coverage, 26124,
12752 /* 33134 */ GIR_EraseRootFromParent_Done,
12753 /* 33135 */ // Label 871: @33135
12754 /* 33135 */ GIM_Try, /*On fail goto*//*Label 872*/ GIMT_Encode4(33196), // Rule ID 22899 //
12755 /* 33140 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12756 /* 33143 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12757 /* 33147 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12758 /* 33151 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12759 /* 33155 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12760 /* 33158 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12761 /* 33162 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
12762 /* 33166 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12763 /* 33168 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12764 /* 33175 */ // (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)
12765 /* 33175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16rm),
12766 /* 33178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12767 /* 33180 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12768 /* 33182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12769 /* 33186 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12770 /* 33189 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12771 /* 33194 */ GIR_RootConstrainSelectedInstOperands,
12772 /* 33195 */ // GIR_Coverage, 22899,
12773 /* 33195 */ GIR_EraseRootFromParent_Done,
12774 /* 33196 */ // Label 872: @33196
12775 /* 33196 */ GIM_Try, /*On fail goto*//*Label 873*/ GIMT_Encode4(33238), // Rule ID 22658 //
12776 /* 33201 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12777 /* 33205 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(18446744073709518848u),
12778 /* 33216 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -32768:{ *:[i16] }) => (ADD16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, -32768:{ *:[i16] })
12779 /* 33216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16ri),
12780 /* 33219 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12781 /* 33221 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12782 /* 33223 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744073709518848u),
12783 /* 33233 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12784 /* 33236 */ GIR_RootConstrainSelectedInstOperands,
12785 /* 33237 */ // GIR_Coverage, 22658,
12786 /* 33237 */ GIR_EraseRootFromParent_Done,
12787 /* 33238 */ // Label 873: @33238
12788 /* 33238 */ GIM_Try, /*On fail goto*//*Label 874*/ GIMT_Encode4(33340), // Rule ID 26096 //
12789 /* 33243 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12790 /* 33247 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12791 /* 33251 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
12792 /* 33255 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12793 /* 33259 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12794 /* 33263 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12795 /* 33268 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12796 /* 33272 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12797 /* 33274 */ // (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] }))
12798 /* 33274 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
12799 /* 33277 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12800 /* 33281 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12801 /* 33286 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12802 /* 33288 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
12803 /* 33291 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12804 /* 33295 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12805 /* 33300 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12806 /* 33303 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12807 /* 33307 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12808 /* 33310 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
12809 /* 33315 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
12810 /* 33320 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12811 /* 33325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC16rr),
12812 /* 33328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12813 /* 33330 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12814 /* 33332 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12815 /* 33335 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12816 /* 33338 */ GIR_RootConstrainSelectedInstOperands,
12817 /* 33339 */ // GIR_Coverage, 26096,
12818 /* 33339 */ GIR_EraseRootFromParent_Done,
12819 /* 33340 */ // Label 874: @33340
12820 /* 33340 */ GIM_Try, /*On fail goto*//*Label 875*/ GIMT_Encode4(33442), // Rule ID 22834 //
12821 /* 33345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12822 /* 33349 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12823 /* 33353 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
12824 /* 33357 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
12825 /* 33361 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
12826 /* 33365 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
12827 /* 33369 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
12828 /* 33374 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12829 /* 33376 */ // (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] }))
12830 /* 33376 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s16,
12831 /* 33379 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
12832 /* 33383 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12833 /* 33388 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
12834 /* 33390 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
12835 /* 33393 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
12836 /* 33397 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
12837 /* 33402 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
12838 /* 33405 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
12839 /* 33409 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
12840 /* 33412 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
12841 /* 33417 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
12842 /* 33422 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
12843 /* 33427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC16rr),
12844 /* 33430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12845 /* 33432 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12846 /* 33434 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
12847 /* 33437 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12848 /* 33440 */ GIR_RootConstrainSelectedInstOperands,
12849 /* 33441 */ // GIR_Coverage, 22834,
12850 /* 33441 */ GIR_EraseRootFromParent_Done,
12851 /* 33442 */ // Label 875: @33442
12852 /* 33442 */ GIM_Try, /*On fail goto*//*Label 876*/ GIMT_Encode4(33467), // Rule ID 244 //
12853 /* 33447 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12854 /* 33450 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12855 /* 33454 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12856 /* 33458 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -1:{ *:[i16] }) => (NOT16r:{ *:[i16] } GR16:{ *:[i16] }:$src1)
12857 /* 33458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16r),
12858 /* 33461 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12859 /* 33463 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12860 /* 33465 */ GIR_RootConstrainSelectedInstOperands,
12861 /* 33466 */ // GIR_Coverage, 244,
12862 /* 33466 */ GIR_EraseRootFromParent_Done,
12863 /* 33467 */ // Label 876: @33467
12864 /* 33467 */ GIM_Try, /*On fail goto*//*Label 877*/ GIMT_Encode4(33492), // Rule ID 252 //
12865 /* 33472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
12866 /* 33475 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12867 /* 33479 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
12868 /* 33483 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, -1:{ *:[i16] }) => (NOT16r_ND:{ *:[i16] } GR16:{ *:[i16] }:$src1)
12869 /* 33483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16r_ND),
12870 /* 33486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12871 /* 33488 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12872 /* 33490 */ GIR_RootConstrainSelectedInstOperands,
12873 /* 33491 */ // GIR_Coverage, 252,
12874 /* 33491 */ GIR_EraseRootFromParent_Done,
12875 /* 33492 */ // Label 877: @33492
12876 /* 33492 */ GIM_Try, /*On fail goto*//*Label 878*/ GIMT_Encode4(33529), // Rule ID 22903 //
12877 /* 33497 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12878 /* 33500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12879 /* 33504 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12880 /* 33508 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12881 /* 33512 */ // MIs[1] Operand 1
12882 /* 33512 */ // No operand predicates
12883 /* 33512 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12884 /* 33514 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (XOR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
12885 /* 33514 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16ri),
12886 /* 33517 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12887 /* 33519 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12888 /* 33521 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12889 /* 33524 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12890 /* 33527 */ GIR_RootConstrainSelectedInstOperands,
12891 /* 33528 */ // GIR_Coverage, 22903,
12892 /* 33528 */ GIR_EraseRootFromParent_Done,
12893 /* 33529 */ // Label 878: @33529
12894 /* 33529 */ GIM_Try, /*On fail goto*//*Label 879*/ GIMT_Encode4(33566), // Rule ID 22993 //
12895 /* 33534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
12896 /* 33537 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12897 /* 33541 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12898 /* 33545 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
12899 /* 33549 */ // MIs[1] Operand 1
12900 /* 33549 */ // No operand predicates
12901 /* 33549 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12902 /* 33551 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2) => (XOR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i16] }):$src2)
12903 /* 33551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16ri_ND),
12904 /* 33554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12905 /* 33556 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12906 /* 33558 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
12907 /* 33561 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12908 /* 33564 */ GIR_RootConstrainSelectedInstOperands,
12909 /* 33565 */ // GIR_Coverage, 22993,
12910 /* 33565 */ GIR_EraseRootFromParent_Done,
12911 /* 33566 */ // Label 879: @33566
12912 /* 33566 */ GIM_Try, /*On fail goto*//*Label 880*/ GIMT_Encode4(33595), // Rule ID 22895 //
12913 /* 33571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12914 /* 33574 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12915 /* 33578 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12916 /* 33582 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (XOR16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
12917 /* 33582 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR16rr),
12918 /* 33587 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12919 /* 33593 */ GIR_RootConstrainSelectedInstOperands,
12920 /* 33594 */ // GIR_Coverage, 22895,
12921 /* 33594 */ GIR_Done,
12922 /* 33595 */ // Label 880: @33595
12923 /* 33595 */ GIM_Try, /*On fail goto*//*Label 881*/ GIMT_Encode4(33624), // Rule ID 22985 //
12924 /* 33600 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
12925 /* 33603 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12926 /* 33607 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
12927 /* 33611 */ // (xor:{ *:[i16] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2) => (XOR16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src2)
12928 /* 33611 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR16rr_ND),
12929 /* 33616 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
12930 /* 33622 */ GIR_RootConstrainSelectedInstOperands,
12931 /* 33623 */ // GIR_Coverage, 22985,
12932 /* 33623 */ GIR_Done,
12933 /* 33624 */ // Label 881: @33624
12934 /* 33624 */ GIM_Reject,
12935 /* 33625 */ // Label 870: @33625
12936 /* 33625 */ GIM_Reject,
12937 /* 33626 */ // Label 833: @33626
12938 /* 33626 */ GIM_Try, /*On fail goto*//*Label 882*/ GIMT_Encode4(34374),
12939 /* 33631 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
12940 /* 33634 */ GIM_Try, /*On fail goto*//*Label 883*/ GIMT_Encode4(33702), // Rule ID 26125 //
12941 /* 33639 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12942 /* 33642 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12943 /* 33645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12944 /* 33649 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
12945 /* 33653 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12946 /* 33657 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12947 /* 33660 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12948 /* 33664 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
12949 /* 33668 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12950 /* 33672 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12951 /* 33674 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12952 /* 33681 */ // (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)
12953 /* 33681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32rm),
12954 /* 33684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12955 /* 33686 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
12956 /* 33688 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12957 /* 33692 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12958 /* 33695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12959 /* 33700 */ GIR_RootConstrainSelectedInstOperands,
12960 /* 33701 */ // GIR_Coverage, 26125,
12961 /* 33701 */ GIR_EraseRootFromParent_Done,
12962 /* 33702 */ // Label 883: @33702
12963 /* 33702 */ GIM_Try, /*On fail goto*//*Label 884*/ GIMT_Encode4(33770), // Rule ID 22900 //
12964 /* 33707 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
12965 /* 33710 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12966 /* 33713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12967 /* 33717 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12968 /* 33721 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
12969 /* 33725 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
12970 /* 33729 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
12971 /* 33732 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
12972 /* 33736 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
12973 /* 33740 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
12974 /* 33742 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
12975 /* 33749 */ // (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)
12976 /* 33749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32rm),
12977 /* 33752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12978 /* 33754 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12979 /* 33756 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
12980 /* 33760 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12981 /* 33763 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
12982 /* 33768 */ GIR_RootConstrainSelectedInstOperands,
12983 /* 33769 */ // GIR_Coverage, 22900,
12984 /* 33769 */ GIR_EraseRootFromParent_Done,
12985 /* 33770 */ // Label 884: @33770
12986 /* 33770 */ GIM_Try, /*On fail goto*//*Label 885*/ GIMT_Encode4(33819), // Rule ID 22659 //
12987 /* 33775 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
12988 /* 33778 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12989 /* 33782 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
12990 /* 33786 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/2, GIMT_Encode8(18446744071562067968u),
12991 /* 33797 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -2147483648:{ *:[i32] }) => (ADD32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, -2147483648:{ *:[i32] })
12992 /* 33797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32ri),
12993 /* 33800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
12994 /* 33802 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
12995 /* 33804 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
12996 /* 33814 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
12997 /* 33817 */ GIR_RootConstrainSelectedInstOperands,
12998 /* 33818 */ // GIR_Coverage, 22659,
12999 /* 33818 */ GIR_EraseRootFromParent_Done,
13000 /* 33819 */ // Label 885: @33819
13001 /* 33819 */ GIM_Try, /*On fail goto*//*Label 886*/ GIMT_Encode4(33877), // Rule ID 25055 //
13002 /* 33824 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
13003 /* 33827 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13004 /* 33831 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13005 /* 33835 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
13006 /* 33839 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
13007 /* 33843 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
13008 /* 33847 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13009 /* 33852 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
13010 /* 33856 */ // MIs[0] src
13011 /* 33856 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
13012 /* 33861 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13013 /* 33863 */ // (xor:{ *:[i32] } (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] }), GR32:{ *:[i32] }:$src) => (BLCMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
13014 /* 33863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK32rr),
13015 /* 33866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13016 /* 33868 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
13017 /* 33872 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13018 /* 33875 */ GIR_RootConstrainSelectedInstOperands,
13019 /* 33876 */ // GIR_Coverage, 25055,
13020 /* 33876 */ GIR_EraseRootFromParent_Done,
13021 /* 33877 */ // Label 886: @33877
13022 /* 33877 */ GIM_Try, /*On fail goto*//*Label 887*/ GIMT_Encode4(33986), // Rule ID 26102 //
13023 /* 33882 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13024 /* 33885 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13025 /* 33889 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13026 /* 33893 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
13027 /* 33897 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
13028 /* 33901 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
13029 /* 33905 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
13030 /* 33909 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13031 /* 33914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13032 /* 33918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13033 /* 33920 */ // (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] }))
13034 /* 33920 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
13035 /* 33923 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13036 /* 33927 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13037 /* 33932 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
13038 /* 33934 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
13039 /* 33937 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13040 /* 33941 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13041 /* 33946 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13042 /* 33949 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
13043 /* 33953 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
13044 /* 33956 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
13045 /* 33961 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
13046 /* 33966 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
13047 /* 33971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC32rr),
13048 /* 33974 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13049 /* 33976 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13050 /* 33978 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13051 /* 33981 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13052 /* 33984 */ GIR_RootConstrainSelectedInstOperands,
13053 /* 33985 */ // GIR_Coverage, 26102,
13054 /* 33985 */ GIR_EraseRootFromParent_Done,
13055 /* 33986 */ // Label 887: @33986
13056 /* 33986 */ GIM_Try, /*On fail goto*//*Label 888*/ GIMT_Encode4(34040), // Rule ID 17322 //
13057 /* 33991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
13058 /* 33994 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13059 /* 33997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13060 /* 34001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13061 /* 34005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13062 /* 34009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
13063 /* 34013 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
13064 /* 34017 */ // MIs[1] src
13065 /* 34017 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
13066 /* 34022 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
13067 /* 34026 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13068 /* 34028 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, (add:{ *:[i32] } GR32:{ *:[i32] }:$src, 1:{ *:[i32] })) => (BLCMSK32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src)
13069 /* 34028 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK32rr),
13070 /* 34031 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13071 /* 34033 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13072 /* 34035 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13073 /* 34038 */ GIR_RootConstrainSelectedInstOperands,
13074 /* 34039 */ // GIR_Coverage, 17322,
13075 /* 34039 */ GIR_EraseRootFromParent_Done,
13076 /* 34040 */ // Label 888: @34040
13077 /* 34040 */ GIM_Try, /*On fail goto*//*Label 889*/ GIMT_Encode4(34149), // Rule ID 22840 //
13078 /* 34045 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13079 /* 34048 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13080 /* 34052 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13081 /* 34056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13082 /* 34060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
13083 /* 34064 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
13084 /* 34068 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
13085 /* 34072 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
13086 /* 34076 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13087 /* 34081 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13088 /* 34083 */ // (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] }))
13089 /* 34083 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
13090 /* 34086 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13091 /* 34090 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13092 /* 34095 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
13093 /* 34097 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
13094 /* 34100 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13095 /* 34104 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13096 /* 34109 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13097 /* 34112 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
13098 /* 34116 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
13099 /* 34119 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
13100 /* 34124 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
13101 /* 34129 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
13102 /* 34134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC32rr),
13103 /* 34137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13104 /* 34139 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13105 /* 34141 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13106 /* 34144 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13107 /* 34147 */ GIR_RootConstrainSelectedInstOperands,
13108 /* 34148 */ // GIR_Coverage, 22840,
13109 /* 34148 */ GIR_EraseRootFromParent_Done,
13110 /* 34149 */ // Label 889: @34149
13111 /* 34149 */ GIM_Try, /*On fail goto*//*Label 890*/ GIMT_Encode4(34181), // Rule ID 245 //
13112 /* 34154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13113 /* 34157 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13114 /* 34160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13115 /* 34164 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13116 /* 34168 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
13117 /* 34172 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }) => (NOT32r:{ *:[i32] } GR32:{ *:[i32] }:$src1)
13118 /* 34172 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32r),
13119 /* 34175 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13120 /* 34177 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13121 /* 34179 */ GIR_RootConstrainSelectedInstOperands,
13122 /* 34180 */ // GIR_Coverage, 245,
13123 /* 34180 */ GIR_EraseRootFromParent_Done,
13124 /* 34181 */ // Label 890: @34181
13125 /* 34181 */ GIM_Try, /*On fail goto*//*Label 891*/ GIMT_Encode4(34213), // Rule ID 253 //
13126 /* 34186 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
13127 /* 34189 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13128 /* 34192 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13129 /* 34196 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13130 /* 34200 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
13131 /* 34204 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, -1:{ *:[i32] }) => (NOT32r_ND:{ *:[i32] } GR32:{ *:[i32] }:$src1)
13132 /* 34204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32r_ND),
13133 /* 34207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13134 /* 34209 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13135 /* 34211 */ GIR_RootConstrainSelectedInstOperands,
13136 /* 34212 */ // GIR_Coverage, 253,
13137 /* 34212 */ GIR_EraseRootFromParent_Done,
13138 /* 34213 */ // Label 891: @34213
13139 /* 34213 */ GIM_Try, /*On fail goto*//*Label 892*/ GIMT_Encode4(34257), // Rule ID 22904 //
13140 /* 34218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13141 /* 34221 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13142 /* 34224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13143 /* 34228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13144 /* 34232 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13145 /* 34236 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13146 /* 34240 */ // MIs[1] Operand 1
13147 /* 34240 */ // No operand predicates
13148 /* 34240 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13149 /* 34242 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (XOR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
13150 /* 34242 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32ri),
13151 /* 34245 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13152 /* 34247 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13153 /* 34249 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13154 /* 34252 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13155 /* 34255 */ GIR_RootConstrainSelectedInstOperands,
13156 /* 34256 */ // GIR_Coverage, 22904,
13157 /* 34256 */ GIR_EraseRootFromParent_Done,
13158 /* 34257 */ // Label 892: @34257
13159 /* 34257 */ GIM_Try, /*On fail goto*//*Label 893*/ GIMT_Encode4(34301), // Rule ID 22994 //
13160 /* 34262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13161 /* 34265 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13162 /* 34268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13163 /* 34272 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13164 /* 34276 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13165 /* 34280 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13166 /* 34284 */ // MIs[1] Operand 1
13167 /* 34284 */ // No operand predicates
13168 /* 34284 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13169 /* 34286 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2) => (XOR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
13170 /* 34286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32ri_ND),
13171 /* 34289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13172 /* 34291 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13173 /* 34293 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13174 /* 34296 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13175 /* 34299 */ GIR_RootConstrainSelectedInstOperands,
13176 /* 34300 */ // GIR_Coverage, 22994,
13177 /* 34300 */ GIR_EraseRootFromParent_Done,
13178 /* 34301 */ // Label 893: @34301
13179 /* 34301 */ GIM_Try, /*On fail goto*//*Label 894*/ GIMT_Encode4(34337), // Rule ID 22896 //
13180 /* 34306 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13181 /* 34309 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13182 /* 34312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13183 /* 34316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13184 /* 34320 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13185 /* 34324 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (XOR32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
13186 /* 34324 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR32rr),
13187 /* 34329 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
13188 /* 34335 */ GIR_RootConstrainSelectedInstOperands,
13189 /* 34336 */ // GIR_Coverage, 22896,
13190 /* 34336 */ GIR_Done,
13191 /* 34337 */ // Label 894: @34337
13192 /* 34337 */ GIM_Try, /*On fail goto*//*Label 895*/ GIMT_Encode4(34373), // Rule ID 22986 //
13193 /* 34342 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13194 /* 34345 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
13195 /* 34348 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13196 /* 34352 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13197 /* 34356 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
13198 /* 34360 */ // (xor:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (XOR32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
13199 /* 34360 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR32rr_ND),
13200 /* 34365 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
13201 /* 34371 */ GIR_RootConstrainSelectedInstOperands,
13202 /* 34372 */ // GIR_Coverage, 22986,
13203 /* 34372 */ GIR_Done,
13204 /* 34373 */ // Label 895: @34373
13205 /* 34373 */ GIM_Reject,
13206 /* 34374 */ // Label 882: @34374
13207 /* 34374 */ GIM_Reject,
13208 /* 34375 */ // Label 834: @34375
13209 /* 34375 */ GIM_Try, /*On fail goto*//*Label 896*/ GIMT_Encode4(35082),
13210 /* 34380 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
13211 /* 34383 */ GIM_Try, /*On fail goto*//*Label 897*/ GIMT_Encode4(34451), // Rule ID 26126 //
13212 /* 34388 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13213 /* 34391 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13214 /* 34394 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13215 /* 34398 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13216 /* 34402 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13217 /* 34406 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13218 /* 34409 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13219 /* 34413 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13220 /* 34417 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13221 /* 34421 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13222 /* 34423 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13223 /* 34430 */ // (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)
13224 /* 34430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64rm),
13225 /* 34433 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13226 /* 34435 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13227 /* 34437 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13228 /* 34441 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13229 /* 34444 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13230 /* 34449 */ GIR_RootConstrainSelectedInstOperands,
13231 /* 34450 */ // GIR_Coverage, 26126,
13232 /* 34450 */ GIR_EraseRootFromParent_Done,
13233 /* 34451 */ // Label 897: @34451
13234 /* 34451 */ GIM_Try, /*On fail goto*//*Label 898*/ GIMT_Encode4(34519), // Rule ID 22901 //
13235 /* 34456 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13236 /* 34459 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13237 /* 34462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13238 /* 34466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13239 /* 34470 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13240 /* 34474 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
13241 /* 34478 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
13242 /* 34481 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
13243 /* 34485 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
13244 /* 34489 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13245 /* 34491 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
13246 /* 34498 */ // (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)
13247 /* 34498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64rm),
13248 /* 34501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13249 /* 34503 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13250 /* 34505 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
13251 /* 34509 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13252 /* 34512 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
13253 /* 34517 */ GIR_RootConstrainSelectedInstOperands,
13254 /* 34518 */ // GIR_Coverage, 22901,
13255 /* 34518 */ GIR_EraseRootFromParent_Done,
13256 /* 34519 */ // Label 898: @34519
13257 /* 34519 */ GIM_Try, /*On fail goto*//*Label 899*/ GIMT_Encode4(34577), // Rule ID 25056 //
13258 /* 34524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
13259 /* 34527 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13260 /* 34531 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13261 /* 34535 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
13262 /* 34539 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
13263 /* 34543 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
13264 /* 34547 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13265 /* 34552 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
13266 /* 34556 */ // MIs[0] src
13267 /* 34556 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/1,
13268 /* 34561 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13269 /* 34563 */ // (xor:{ *:[i64] } (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] }), GR64:{ *:[i64] }:$src) => (BLCMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
13270 /* 34563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK64rr),
13271 /* 34566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13272 /* 34568 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
13273 /* 34572 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13274 /* 34575 */ GIR_RootConstrainSelectedInstOperands,
13275 /* 34576 */ // GIR_Coverage, 25056,
13276 /* 34576 */ GIR_EraseRootFromParent_Done,
13277 /* 34577 */ // Label 899: @34577
13278 /* 34577 */ GIM_Try, /*On fail goto*//*Label 900*/ GIMT_Encode4(34686), // Rule ID 26108 //
13279 /* 34582 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13280 /* 34585 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13281 /* 34589 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13282 /* 34593 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
13283 /* 34597 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
13284 /* 34601 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
13285 /* 34605 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
13286 /* 34609 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13287 /* 34614 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13288 /* 34618 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13289 /* 34620 */ // (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] }))
13290 /* 34620 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
13291 /* 34623 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13292 /* 34627 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13293 /* 34632 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
13294 /* 34634 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
13295 /* 34637 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13296 /* 34641 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13297 /* 34646 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13298 /* 34649 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
13299 /* 34653 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
13300 /* 34656 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
13301 /* 34661 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
13302 /* 34666 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
13303 /* 34671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC64rr),
13304 /* 34674 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13305 /* 34676 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
13306 /* 34678 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13307 /* 34681 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13308 /* 34684 */ GIR_RootConstrainSelectedInstOperands,
13309 /* 34685 */ // GIR_Coverage, 26108,
13310 /* 34685 */ GIR_EraseRootFromParent_Done,
13311 /* 34686 */ // Label 900: @34686
13312 /* 34686 */ GIM_Try, /*On fail goto*//*Label 901*/ GIMT_Encode4(34740), // Rule ID 17323 //
13313 /* 34691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTBM),
13314 /* 34694 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13315 /* 34697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13316 /* 34701 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13317 /* 34705 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13318 /* 34709 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
13319 /* 34713 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
13320 /* 34717 */ // MIs[1] src
13321 /* 34717 */ GIM_CheckIsSameOperand, /*MI*/1, /*OpIdx*/1, /*OtherMI*/0, /*OtherOpIdx*/1,
13322 /* 34722 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
13323 /* 34726 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13324 /* 34728 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, (add:{ *:[i64] } GR64:{ *:[i64] }:$src, 1:{ *:[i64] })) => (BLCMSK64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src)
13325 /* 34728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BLCMSK64rr),
13326 /* 34731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13327 /* 34733 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13328 /* 34735 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13329 /* 34738 */ GIR_RootConstrainSelectedInstOperands,
13330 /* 34739 */ // GIR_Coverage, 17323,
13331 /* 34739 */ GIR_EraseRootFromParent_Done,
13332 /* 34740 */ // Label 901: @34740
13333 /* 34740 */ GIM_Try, /*On fail goto*//*Label 902*/ GIMT_Encode4(34849), // Rule ID 22846 //
13334 /* 34745 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13335 /* 34748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13336 /* 34752 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13337 /* 34756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13338 /* 34760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
13339 /* 34764 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
13340 /* 34768 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
13341 /* 34772 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 1,
13342 /* 34776 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
13343 /* 34781 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13344 /* 34783 */ // (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] }))
13345 /* 34783 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
13346 /* 34786 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
13347 /* 34790 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13348 /* 34795 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
13349 /* 34797 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
13350 /* 34800 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
13351 /* 34804 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13352 /* 34809 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13353 /* 34812 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // src2
13354 /* 34816 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
13355 /* 34819 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
13356 /* 34824 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
13357 /* 34829 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
13358 /* 34834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BTC64rr),
13359 /* 34837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13360 /* 34839 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13361 /* 34841 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13362 /* 34844 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13363 /* 34847 */ GIR_RootConstrainSelectedInstOperands,
13364 /* 34848 */ // GIR_Coverage, 22846,
13365 /* 34848 */ GIR_EraseRootFromParent_Done,
13366 /* 34849 */ // Label 902: @34849
13367 /* 34849 */ GIM_Try, /*On fail goto*//*Label 903*/ GIMT_Encode4(34881), // Rule ID 246 //
13368 /* 34854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13369 /* 34857 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13370 /* 34860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13371 /* 34864 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13372 /* 34868 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
13373 /* 34872 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }) => (NOT64r:{ *:[i64] } GR64:{ *:[i64] }:$src1)
13374 /* 34872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64r),
13375 /* 34875 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13376 /* 34877 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13377 /* 34879 */ GIR_RootConstrainSelectedInstOperands,
13378 /* 34880 */ // GIR_Coverage, 246,
13379 /* 34880 */ GIR_EraseRootFromParent_Done,
13380 /* 34881 */ // Label 903: @34881
13381 /* 34881 */ GIM_Try, /*On fail goto*//*Label 904*/ GIMT_Encode4(34913), // Rule ID 254 //
13382 /* 34886 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
13383 /* 34889 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13384 /* 34892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13385 /* 34896 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13386 /* 34900 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 255,
13387 /* 34904 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, -1:{ *:[i64] }) => (NOT64r_ND:{ *:[i64] } GR64:{ *:[i64] }:$src1)
13388 /* 34904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64r_ND),
13389 /* 34907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13390 /* 34909 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13391 /* 34911 */ GIR_RootConstrainSelectedInstOperands,
13392 /* 34912 */ // GIR_Coverage, 254,
13393 /* 34912 */ GIR_EraseRootFromParent_Done,
13394 /* 34913 */ // Label 904: @34913
13395 /* 34913 */ GIM_Try, /*On fail goto*//*Label 905*/ GIMT_Encode4(34961), // Rule ID 22905 //
13396 /* 34918 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13397 /* 34921 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13398 /* 34924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13399 /* 34928 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13400 /* 34932 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13401 /* 34936 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13402 /* 34940 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
13403 /* 34944 */ // MIs[1] Operand 1
13404 /* 34944 */ // No operand predicates
13405 /* 34944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13406 /* 34946 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (XOR64ri32:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
13407 /* 34946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64ri32),
13408 /* 34949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13409 /* 34951 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13410 /* 34953 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13411 /* 34956 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13412 /* 34959 */ GIR_RootConstrainSelectedInstOperands,
13413 /* 34960 */ // GIR_Coverage, 22905,
13414 /* 34960 */ GIR_EraseRootFromParent_Done,
13415 /* 34961 */ // Label 905: @34961
13416 /* 34961 */ GIM_Try, /*On fail goto*//*Label 906*/ GIMT_Encode4(35009), // Rule ID 22995 //
13417 /* 34966 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13418 /* 34969 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13419 /* 34972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13420 /* 34976 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13421 /* 34980 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13422 /* 34984 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
13423 /* 34988 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
13424 /* 34992 */ // MIs[1] Operand 1
13425 /* 34992 */ // No operand predicates
13426 /* 34992 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13427 /* 34994 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2) => (XOR64ri32_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src2)
13428 /* 34994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64ri32_ND),
13429 /* 34997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13430 /* 34999 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
13431 /* 35001 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
13432 /* 35004 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
13433 /* 35007 */ GIR_RootConstrainSelectedInstOperands,
13434 /* 35008 */ // GIR_Coverage, 22995,
13435 /* 35008 */ GIR_EraseRootFromParent_Done,
13436 /* 35009 */ // Label 906: @35009
13437 /* 35009 */ GIM_Try, /*On fail goto*//*Label 907*/ GIMT_Encode4(35045), // Rule ID 22897 //
13438 /* 35014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
13439 /* 35017 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13440 /* 35020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13441 /* 35024 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13442 /* 35028 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13443 /* 35032 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (XOR64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
13444 /* 35032 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR64rr),
13445 /* 35037 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
13446 /* 35043 */ GIR_RootConstrainSelectedInstOperands,
13447 /* 35044 */ // GIR_Coverage, 22897,
13448 /* 35044 */ GIR_Done,
13449 /* 35045 */ // Label 907: @35045
13450 /* 35045 */ GIM_Try, /*On fail goto*//*Label 908*/ GIMT_Encode4(35081), // Rule ID 22987 //
13451 /* 35050 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
13452 /* 35053 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
13453 /* 35056 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13454 /* 35060 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13455 /* 35064 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
13456 /* 35068 */ // (xor:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (XOR64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
13457 /* 35068 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::XOR64rr_ND),
13458 /* 35073 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
13459 /* 35079 */ GIR_RootConstrainSelectedInstOperands,
13460 /* 35080 */ // GIR_Coverage, 22987,
13461 /* 35080 */ GIR_Done,
13462 /* 35081 */ // Label 908: @35081
13463 /* 35081 */ GIM_Reject,
13464 /* 35082 */ // Label 896: @35082
13465 /* 35082 */ GIM_Reject,
13466 /* 35083 */ // Label 835: @35083
13467 /* 35083 */ GIM_Try, /*On fail goto*//*Label 909*/ GIMT_Encode4(35624),
13468 /* 35088 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
13469 /* 35091 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
13470 /* 35094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13471 /* 35098 */ GIM_Try, /*On fail goto*//*Label 910*/ GIMT_Encode4(35218), // Rule ID 25432 //
13472 /* 35103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13473 /* 35107 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13474 /* 35111 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
13475 /* 35115 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
13476 /* 35119 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13477 /* 35124 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13478 /* 35128 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13479 /* 35134 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13480 /* 35136 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13481 /* 35140 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13482 /* 35142 */ // (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] })
13483 /* 35142 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13484 /* 35145 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13485 /* 35149 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13486 /* 35154 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13487 /* 35158 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13488 /* 35163 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13489 /* 35166 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13490 /* 35170 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13491 /* 35175 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13492 /* 35179 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13493 /* 35184 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13494 /* 35187 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13495 /* 35191 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13496 /* 35196 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13497 /* 35199 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13498 /* 35202 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13499 /* 35204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13500 /* 35207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13501 /* 35209 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13502 /* 35212 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13503 /* 35217 */ // GIR_Coverage, 25432,
13504 /* 35217 */ GIR_EraseRootFromParent_Done,
13505 /* 35218 */ // Label 910: @35218
13506 /* 35218 */ GIM_Try, /*On fail goto*//*Label 911*/ GIMT_Encode4(35339), // Rule ID 19471 //
13507 /* 35223 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13508 /* 35227 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13509 /* 35231 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
13510 /* 35235 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
13511 /* 35239 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13512 /* 35244 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13513 /* 35249 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13514 /* 35253 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13515 /* 35259 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13516 /* 35261 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13517 /* 35263 */ // (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] })
13518 /* 35263 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13519 /* 35266 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13520 /* 35270 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13521 /* 35275 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
13522 /* 35279 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13523 /* 35284 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13524 /* 35287 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13525 /* 35291 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13526 /* 35296 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13527 /* 35300 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13528 /* 35305 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13529 /* 35308 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13530 /* 35312 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13531 /* 35317 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13532 /* 35320 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13533 /* 35323 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13534 /* 35325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13535 /* 35328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13536 /* 35330 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13537 /* 35333 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13538 /* 35338 */ // GIR_Coverage, 19471,
13539 /* 35338 */ GIR_EraseRootFromParent_Done,
13540 /* 35339 */ // Label 911: @35339
13541 /* 35339 */ GIM_Try, /*On fail goto*//*Label 912*/ GIMT_Encode4(35459), // Rule ID 25433 //
13542 /* 35344 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13543 /* 35348 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13544 /* 35352 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13545 /* 35356 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v2s1,
13546 /* 35360 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v2s1,
13547 /* 35364 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13548 /* 35369 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13549 /* 35373 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13550 /* 35379 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13551 /* 35381 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13552 /* 35383 */ // (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] })
13553 /* 35383 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13554 /* 35386 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13555 /* 35390 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13556 /* 35395 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
13557 /* 35399 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13558 /* 35404 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13559 /* 35407 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13560 /* 35411 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13561 /* 35416 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13562 /* 35420 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13563 /* 35425 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13564 /* 35428 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13565 /* 35432 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13566 /* 35437 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13567 /* 35440 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13568 /* 35443 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13569 /* 35445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13570 /* 35448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13571 /* 35450 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13572 /* 35453 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13573 /* 35458 */ // GIR_Coverage, 25433,
13574 /* 35458 */ GIR_EraseRootFromParent_Done,
13575 /* 35459 */ // Label 912: @35459
13576 /* 35459 */ GIM_Try, /*On fail goto*//*Label 913*/ GIMT_Encode4(35534), // Rule ID 19455 //
13577 /* 35464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13578 /* 35468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13579 /* 35472 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13580 /* 35478 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13581 /* 35480 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13582 /* 35482 */ // (xor:{ *:[v2i1] } VK2:{ *:[v2i1] }:$src, immAllOnesV:{ *:[v2i1] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK2:{ *:[v2i1] }:$src, VK16:{ *:[i32] })), VK2:{ *:[i32] })
13583 /* 35482 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13584 /* 35485 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13585 /* 35489 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13586 /* 35494 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
13587 /* 35498 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13588 /* 35503 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13589 /* 35506 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
13590 /* 35510 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13591 /* 35515 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13592 /* 35518 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13593 /* 35520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13594 /* 35523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13595 /* 35525 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13596 /* 35528 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13597 /* 35533 */ // GIR_Coverage, 19455,
13598 /* 35533 */ GIR_EraseRootFromParent_Done,
13599 /* 35534 */ // Label 913: @35534
13600 /* 35534 */ GIM_Try, /*On fail goto*//*Label 914*/ GIMT_Encode4(35623), // Rule ID 19475 //
13601 /* 35539 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13602 /* 35543 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
13603 /* 35547 */ // (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] })
13604 /* 35547 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13605 /* 35550 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13606 /* 35554 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13607 /* 35559 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13608 /* 35563 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13609 /* 35568 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13610 /* 35571 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13611 /* 35575 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13612 /* 35580 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
13613 /* 35584 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13614 /* 35589 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13615 /* 35592 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
13616 /* 35596 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13617 /* 35601 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13618 /* 35604 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13619 /* 35607 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13620 /* 35609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13621 /* 35612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13622 /* 35614 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13623 /* 35617 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
13624 /* 35622 */ // GIR_Coverage, 19475,
13625 /* 35622 */ GIR_EraseRootFromParent_Done,
13626 /* 35623 */ // Label 914: @35623
13627 /* 35623 */ GIM_Reject,
13628 /* 35624 */ // Label 909: @35624
13629 /* 35624 */ GIM_Reject,
13630 /* 35625 */ // Label 836: @35625
13631 /* 35625 */ GIM_Try, /*On fail goto*//*Label 915*/ GIMT_Encode4(36166),
13632 /* 35630 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
13633 /* 35633 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
13634 /* 35636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13635 /* 35640 */ GIM_Try, /*On fail goto*//*Label 916*/ GIMT_Encode4(35760), // Rule ID 25434 //
13636 /* 35645 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13637 /* 35649 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13638 /* 35653 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
13639 /* 35657 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
13640 /* 35661 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13641 /* 35666 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13642 /* 35670 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13643 /* 35676 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13644 /* 35678 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13645 /* 35682 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13646 /* 35684 */ // (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] })
13647 /* 35684 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13648 /* 35687 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13649 /* 35691 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13650 /* 35696 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13651 /* 35700 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13652 /* 35705 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13653 /* 35708 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13654 /* 35712 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13655 /* 35717 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13656 /* 35721 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13657 /* 35726 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13658 /* 35729 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13659 /* 35733 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13660 /* 35738 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13661 /* 35741 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13662 /* 35744 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13663 /* 35746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13664 /* 35749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13665 /* 35751 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13666 /* 35754 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13667 /* 35759 */ // GIR_Coverage, 25434,
13668 /* 35759 */ GIR_EraseRootFromParent_Done,
13669 /* 35760 */ // Label 916: @35760
13670 /* 35760 */ GIM_Try, /*On fail goto*//*Label 917*/ GIMT_Encode4(35881), // Rule ID 19472 //
13671 /* 35765 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13672 /* 35769 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13673 /* 35773 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
13674 /* 35777 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
13675 /* 35781 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13676 /* 35786 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13677 /* 35791 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13678 /* 35795 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13679 /* 35801 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13680 /* 35803 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13681 /* 35805 */ // (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] })
13682 /* 35805 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13683 /* 35808 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13684 /* 35812 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13685 /* 35817 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
13686 /* 35821 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13687 /* 35826 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13688 /* 35829 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13689 /* 35833 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13690 /* 35838 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13691 /* 35842 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13692 /* 35847 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13693 /* 35850 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13694 /* 35854 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13695 /* 35859 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13696 /* 35862 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13697 /* 35865 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13698 /* 35867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13699 /* 35870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13700 /* 35872 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13701 /* 35875 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13702 /* 35880 */ // GIR_Coverage, 19472,
13703 /* 35880 */ GIR_EraseRootFromParent_Done,
13704 /* 35881 */ // Label 917: @35881
13705 /* 35881 */ GIM_Try, /*On fail goto*//*Label 918*/ GIMT_Encode4(36001), // Rule ID 25435 //
13706 /* 35886 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13707 /* 35890 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13708 /* 35894 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13709 /* 35898 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v4s1,
13710 /* 35902 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v4s1,
13711 /* 35906 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13712 /* 35911 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13713 /* 35915 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13714 /* 35921 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13715 /* 35923 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13716 /* 35925 */ // (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] })
13717 /* 35925 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13718 /* 35928 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13719 /* 35932 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13720 /* 35937 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
13721 /* 35941 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13722 /* 35946 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13723 /* 35949 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13724 /* 35953 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13725 /* 35958 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13726 /* 35962 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13727 /* 35967 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13728 /* 35970 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13729 /* 35974 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13730 /* 35979 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13731 /* 35982 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13732 /* 35985 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13733 /* 35987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13734 /* 35990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13735 /* 35992 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13736 /* 35995 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13737 /* 36000 */ // GIR_Coverage, 25435,
13738 /* 36000 */ GIR_EraseRootFromParent_Done,
13739 /* 36001 */ // Label 918: @36001
13740 /* 36001 */ GIM_Try, /*On fail goto*//*Label 919*/ GIMT_Encode4(36076), // Rule ID 19454 //
13741 /* 36006 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13742 /* 36010 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13743 /* 36014 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13744 /* 36020 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13745 /* 36022 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13746 /* 36024 */ // (xor:{ *:[v4i1] } VK4:{ *:[v4i1] }:$src, immAllOnesV:{ *:[v4i1] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK4:{ *:[v4i1] }:$src, VK16:{ *:[i32] })), VK4:{ *:[i32] })
13747 /* 36024 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13748 /* 36027 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13749 /* 36031 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13750 /* 36036 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
13751 /* 36040 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13752 /* 36045 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13753 /* 36048 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
13754 /* 36052 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13755 /* 36057 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13756 /* 36060 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13757 /* 36062 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13758 /* 36065 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13759 /* 36067 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13760 /* 36070 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13761 /* 36075 */ // GIR_Coverage, 19454,
13762 /* 36075 */ GIR_EraseRootFromParent_Done,
13763 /* 36076 */ // Label 919: @36076
13764 /* 36076 */ GIM_Try, /*On fail goto*//*Label 920*/ GIMT_Encode4(36165), // Rule ID 19476 //
13765 /* 36081 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13766 /* 36085 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
13767 /* 36089 */ // (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] })
13768 /* 36089 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13769 /* 36092 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13770 /* 36096 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13771 /* 36101 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13772 /* 36105 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13773 /* 36110 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13774 /* 36113 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13775 /* 36117 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13776 /* 36122 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
13777 /* 36126 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13778 /* 36131 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13779 /* 36134 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
13780 /* 36138 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13781 /* 36143 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13782 /* 36146 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13783 /* 36149 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13784 /* 36151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13785 /* 36154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13786 /* 36156 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13787 /* 36159 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
13788 /* 36164 */ // GIR_Coverage, 19476,
13789 /* 36164 */ GIR_EraseRootFromParent_Done,
13790 /* 36165 */ // Label 920: @36165
13791 /* 36165 */ GIM_Reject,
13792 /* 36166 */ // Label 915: @36166
13793 /* 36166 */ GIM_Reject,
13794 /* 36167 */ // Label 837: @36167
13795 /* 36167 */ GIM_Try, /*On fail goto*//*Label 921*/ GIMT_Encode4(36964),
13796 /* 36172 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
13797 /* 36175 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
13798 /* 36178 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13799 /* 36182 */ GIM_Try, /*On fail goto*//*Label 922*/ GIMT_Encode4(36242), // Rule ID 23742 //
13800 /* 36187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
13801 /* 36190 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13802 /* 36194 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13803 /* 36198 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13804 /* 36202 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13805 /* 36206 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13806 /* 36211 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13807 /* 36215 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13808 /* 36221 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13809 /* 36223 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13810 /* 36227 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13811 /* 36229 */ // (xor:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] }), VK8:{ *:[v8i1] }:$src2) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
13812 /* 36229 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
13813 /* 36232 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13814 /* 36234 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13815 /* 36238 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
13816 /* 36240 */ GIR_RootConstrainSelectedInstOperands,
13817 /* 36241 */ // GIR_Coverage, 23742,
13818 /* 36241 */ GIR_EraseRootFromParent_Done,
13819 /* 36242 */ // Label 922: @36242
13820 /* 36242 */ GIM_Try, /*On fail goto*//*Label 923*/ GIMT_Encode4(36365), // Rule ID 25428 //
13821 /* 36247 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
13822 /* 36250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13823 /* 36254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13824 /* 36258 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13825 /* 36262 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13826 /* 36266 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13827 /* 36271 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13828 /* 36275 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13829 /* 36281 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13830 /* 36283 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13831 /* 36287 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13832 /* 36289 */ // (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] })
13833 /* 36289 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13834 /* 36292 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13835 /* 36296 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13836 /* 36301 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
13837 /* 36305 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13838 /* 36310 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13839 /* 36313 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13840 /* 36317 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13841 /* 36322 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13842 /* 36326 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13843 /* 36331 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13844 /* 36334 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13845 /* 36338 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13846 /* 36343 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13847 /* 36346 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13848 /* 36349 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13849 /* 36351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13850 /* 36354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13851 /* 36356 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13852 /* 36359 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
13853 /* 36364 */ // GIR_Coverage, 25428,
13854 /* 36364 */ GIR_EraseRootFromParent_Done,
13855 /* 36365 */ // Label 923: @36365
13856 /* 36365 */ GIM_Try, /*On fail goto*//*Label 924*/ GIMT_Encode4(36428), // Rule ID 4401 //
13857 /* 36370 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
13858 /* 36373 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13859 /* 36377 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13860 /* 36381 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13861 /* 36385 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13862 /* 36389 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13863 /* 36394 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13864 /* 36399 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13865 /* 36403 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13866 /* 36409 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13867 /* 36411 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13868 /* 36413 */ // (xor:{ *:[v8i1] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2), immAllOnesV:{ *:[v8i1] }) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
13869 /* 36413 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
13870 /* 36416 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13871 /* 36418 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13872 /* 36422 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
13873 /* 36426 */ GIR_RootConstrainSelectedInstOperands,
13874 /* 36427 */ // GIR_Coverage, 4401,
13875 /* 36427 */ GIR_EraseRootFromParent_Done,
13876 /* 36428 */ // Label 924: @36428
13877 /* 36428 */ GIM_Try, /*On fail goto*//*Label 925*/ GIMT_Encode4(36552), // Rule ID 19469 //
13878 /* 36433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
13879 /* 36436 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
13880 /* 36440 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13881 /* 36444 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13882 /* 36448 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13883 /* 36452 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13884 /* 36457 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13885 /* 36462 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
13886 /* 36466 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13887 /* 36472 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13888 /* 36474 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13889 /* 36476 */ // (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] })
13890 /* 36476 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13891 /* 36479 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13892 /* 36483 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13893 /* 36488 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/1, /*OpIdx*/2, // src2
13894 /* 36492 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13895 /* 36497 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13896 /* 36500 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13897 /* 36504 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13898 /* 36509 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13899 /* 36513 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13900 /* 36518 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13901 /* 36521 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13902 /* 36525 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13903 /* 36530 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13904 /* 36533 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13905 /* 36536 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13906 /* 36538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13907 /* 36541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13908 /* 36543 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13909 /* 36546 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
13910 /* 36551 */ // GIR_Coverage, 19469,
13911 /* 36551 */ GIR_EraseRootFromParent_Done,
13912 /* 36552 */ // Label 925: @36552
13913 /* 36552 */ GIM_Try, /*On fail goto*//*Label 926*/ GIMT_Encode4(36612), // Rule ID 23743 //
13914 /* 36557 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
13915 /* 36560 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13916 /* 36564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13917 /* 36568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13918 /* 36572 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13919 /* 36576 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13920 /* 36580 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13921 /* 36585 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13922 /* 36589 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13923 /* 36595 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13924 /* 36597 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13925 /* 36599 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src2, (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, immAllOnesV:{ *:[v8i1] })) => (KXNORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
13926 /* 36599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORBkk),
13927 /* 36602 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13928 /* 36604 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
13929 /* 36608 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
13930 /* 36610 */ GIR_RootConstrainSelectedInstOperands,
13931 /* 36611 */ // GIR_Coverage, 23743,
13932 /* 36611 */ GIR_EraseRootFromParent_Done,
13933 /* 36612 */ // Label 926: @36612
13934 /* 36612 */ GIM_Try, /*On fail goto*//*Label 927*/ GIMT_Encode4(36735), // Rule ID 25429 //
13935 /* 36617 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
13936 /* 36620 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13937 /* 36624 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13938 /* 36628 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
13939 /* 36632 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
13940 /* 36636 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
13941 /* 36640 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13942 /* 36645 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
13943 /* 36649 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13944 /* 36655 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
13945 /* 36657 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
13946 /* 36659 */ // (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] })
13947 /* 36659 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
13948 /* 36662 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13949 /* 36666 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13950 /* 36671 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src2
13951 /* 36675 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13952 /* 36680 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13953 /* 36683 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13954 /* 36687 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13955 /* 36692 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/1, /*OpIdx*/1, // src1
13956 /* 36696 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13957 /* 36701 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13958 /* 36704 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
13959 /* 36708 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13960 /* 36713 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
13961 /* 36716 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
13962 /* 36719 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
13963 /* 36721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13964 /* 36724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13965 /* 36726 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
13966 /* 36729 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
13967 /* 36734 */ // GIR_Coverage, 25429,
13968 /* 36734 */ GIR_EraseRootFromParent_Done,
13969 /* 36735 */ // Label 927: @36735
13970 /* 36735 */ GIM_Try, /*On fail goto*//*Label 928*/ GIMT_Encode4(36770), // Rule ID 4389 //
13971 /* 36740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
13972 /* 36743 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13973 /* 36747 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13974 /* 36751 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13975 /* 36757 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13976 /* 36759 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13977 /* 36761 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src, immAllOnesV:{ *:[v8i1] }) => (KNOTBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src)
13978 /* 36761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTBkk),
13979 /* 36764 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
13980 /* 36766 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
13981 /* 36768 */ GIR_RootConstrainSelectedInstOperands,
13982 /* 36769 */ // GIR_Coverage, 4389,
13983 /* 36769 */ GIR_EraseRootFromParent_Done,
13984 /* 36770 */ // Label 928: @36770
13985 /* 36770 */ GIM_Try, /*On fail goto*//*Label 929*/ GIMT_Encode4(36848), // Rule ID 19453 //
13986 /* 36775 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoDQI),
13987 /* 36778 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
13988 /* 36782 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
13989 /* 36786 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
13990 /* 36792 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
13991 /* 36794 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
13992 /* 36796 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src, immAllOnesV:{ *:[v8i1] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } (KNOTWkk:{ *:[v16i1] } (COPY_TO_REGCLASS:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src, VK16:{ *:[i32] })), VK8:{ *:[i32] })
13993 /* 36796 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
13994 /* 36799 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
13995 /* 36803 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
13996 /* 36808 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
13997 /* 36812 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
13998 /* 36817 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
13999 /* 36820 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
14000 /* 36824 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14001 /* 36829 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14002 /* 36832 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14003 /* 36834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14004 /* 36837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14005 /* 36839 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14006 /* 36842 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
14007 /* 36847 */ // GIR_Coverage, 19453,
14008 /* 36847 */ GIR_EraseRootFromParent_Done,
14009 /* 36848 */ // Label 929: @36848
14010 /* 36848 */ GIM_Try, /*On fail goto*//*Label 930*/ GIMT_Encode4(36871), // Rule ID 4405 //
14011 /* 36853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
14012 /* 36856 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14013 /* 36860 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14014 /* 36864 */ // (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KXORBkk:{ *:[v8i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2)
14015 /* 36864 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORBkk),
14016 /* 36869 */ GIR_RootConstrainSelectedInstOperands,
14017 /* 36870 */ // GIR_Coverage, 4405,
14018 /* 36870 */ GIR_Done,
14019 /* 36871 */ // Label 930: @36871
14020 /* 36871 */ GIM_Try, /*On fail goto*//*Label 931*/ GIMT_Encode4(36963), // Rule ID 19473 //
14021 /* 36876 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoDQI),
14022 /* 36879 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14023 /* 36883 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
14024 /* 36887 */ // (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] })
14025 /* 36887 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
14026 /* 36890 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14027 /* 36894 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14028 /* 36899 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src2
14029 /* 36903 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14030 /* 36908 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
14031 /* 36911 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14032 /* 36915 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14033 /* 36920 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
14034 /* 36924 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
14035 /* 36929 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
14036 /* 36932 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
14037 /* 36936 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14038 /* 36941 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14039 /* 36944 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
14040 /* 36947 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14041 /* 36949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14042 /* 36952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14043 /* 36954 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
14044 /* 36957 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
14045 /* 36962 */ // GIR_Coverage, 19473,
14046 /* 36962 */ GIR_EraseRootFromParent_Done,
14047 /* 36963 */ // Label 931: @36963
14048 /* 36963 */ GIM_Reject,
14049 /* 36964 */ // Label 921: @36964
14050 /* 36964 */ GIM_Reject,
14051 /* 36965 */ // Label 838: @36965
14052 /* 36965 */ GIM_Try, /*On fail goto*//*Label 932*/ GIMT_Encode4(37222),
14053 /* 36970 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
14054 /* 36973 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
14055 /* 36976 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
14056 /* 36980 */ GIM_Try, /*On fail goto*//*Label 933*/ GIMT_Encode4(37040), // Rule ID 23744 //
14057 /* 36985 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
14058 /* 36988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14059 /* 36992 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14060 /* 36996 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
14061 /* 37000 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
14062 /* 37004 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
14063 /* 37009 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14064 /* 37013 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14065 /* 37019 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14066 /* 37021 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
14067 /* 37025 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14068 /* 37027 */ // (xor:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] }), VK16:{ *:[v16i1] }:$src2) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
14069 /* 37027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14070 /* 37030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14071 /* 37032 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
14072 /* 37036 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
14073 /* 37038 */ GIR_RootConstrainSelectedInstOperands,
14074 /* 37039 */ // GIR_Coverage, 23744,
14075 /* 37039 */ GIR_EraseRootFromParent_Done,
14076 /* 37040 */ // Label 933: @37040
14077 /* 37040 */ GIM_Try, /*On fail goto*//*Label 934*/ GIMT_Encode4(37103), // Rule ID 4402 //
14078 /* 37045 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
14079 /* 37048 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14080 /* 37052 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14081 /* 37056 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
14082 /* 37060 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
14083 /* 37064 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
14084 /* 37069 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
14085 /* 37074 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
14086 /* 37078 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14087 /* 37084 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14088 /* 37086 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14089 /* 37088 */ // (xor:{ *:[v16i1] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2), immAllOnesV:{ *:[v16i1] }) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
14090 /* 37088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14091 /* 37091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14092 /* 37093 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
14093 /* 37097 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
14094 /* 37101 */ GIR_RootConstrainSelectedInstOperands,
14095 /* 37102 */ // GIR_Coverage, 4402,
14096 /* 37102 */ GIR_EraseRootFromParent_Done,
14097 /* 37103 */ // Label 934: @37103
14098 /* 37103 */ GIM_Try, /*On fail goto*//*Label 935*/ GIMT_Encode4(37163), // Rule ID 23745 //
14099 /* 37108 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
14100 /* 37111 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
14101 /* 37115 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14102 /* 37119 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14103 /* 37123 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
14104 /* 37127 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
14105 /* 37131 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
14106 /* 37136 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14107 /* 37140 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14108 /* 37146 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14109 /* 37148 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14110 /* 37150 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src2, (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, immAllOnesV:{ *:[v16i1] })) => (KXNORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
14111 /* 37150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORWkk),
14112 /* 37153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14113 /* 37155 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
14114 /* 37159 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
14115 /* 37161 */ GIR_RootConstrainSelectedInstOperands,
14116 /* 37162 */ // GIR_Coverage, 23745,
14117 /* 37162 */ GIR_EraseRootFromParent_Done,
14118 /* 37163 */ // Label 935: @37163
14119 /* 37163 */ GIM_Try, /*On fail goto*//*Label 936*/ GIMT_Encode4(37198), // Rule ID 4390 //
14120 /* 37168 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
14121 /* 37171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
14122 /* 37175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14123 /* 37179 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14124 /* 37185 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14125 /* 37187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14126 /* 37189 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src, immAllOnesV:{ *:[v16i1] }) => (KNOTWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src)
14127 /* 37189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
14128 /* 37192 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14129 /* 37194 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14130 /* 37196 */ GIR_RootConstrainSelectedInstOperands,
14131 /* 37197 */ // GIR_Coverage, 4390,
14132 /* 37197 */ GIR_EraseRootFromParent_Done,
14133 /* 37198 */ // Label 936: @37198
14134 /* 37198 */ GIM_Try, /*On fail goto*//*Label 937*/ GIMT_Encode4(37221), // Rule ID 4406 //
14135 /* 37203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
14136 /* 37206 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
14137 /* 37210 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
14138 /* 37214 */ // (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KXORWkk:{ *:[v16i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2)
14139 /* 37214 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORWkk),
14140 /* 37219 */ GIR_RootConstrainSelectedInstOperands,
14141 /* 37220 */ // GIR_Coverage, 4406,
14142 /* 37220 */ GIR_Done,
14143 /* 37221 */ // Label 937: @37221
14144 /* 37221 */ GIM_Reject,
14145 /* 37222 */ // Label 932: @37222
14146 /* 37222 */ GIM_Reject,
14147 /* 37223 */ // Label 839: @37223
14148 /* 37223 */ GIM_Try, /*On fail goto*//*Label 938*/ GIMT_Encode4(37480),
14149 /* 37228 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
14150 /* 37231 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
14151 /* 37234 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
14152 /* 37238 */ GIM_Try, /*On fail goto*//*Label 939*/ GIMT_Encode4(37298), // Rule ID 23746 //
14153 /* 37243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
14154 /* 37246 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14155 /* 37250 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14156 /* 37254 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
14157 /* 37258 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
14158 /* 37262 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
14159 /* 37267 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14160 /* 37271 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14161 /* 37277 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14162 /* 37279 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
14163 /* 37283 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14164 /* 37285 */ // (xor:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] }), VK32:{ *:[v32i1] }:$src2) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
14165 /* 37285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
14166 /* 37288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14167 /* 37290 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
14168 /* 37294 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
14169 /* 37296 */ GIR_RootConstrainSelectedInstOperands,
14170 /* 37297 */ // GIR_Coverage, 23746,
14171 /* 37297 */ GIR_EraseRootFromParent_Done,
14172 /* 37298 */ // Label 939: @37298
14173 /* 37298 */ GIM_Try, /*On fail goto*//*Label 940*/ GIMT_Encode4(37361), // Rule ID 4403 //
14174 /* 37303 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
14175 /* 37306 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14176 /* 37310 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14177 /* 37314 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
14178 /* 37318 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
14179 /* 37322 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
14180 /* 37327 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
14181 /* 37332 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
14182 /* 37336 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14183 /* 37342 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14184 /* 37344 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14185 /* 37346 */ // (xor:{ *:[v32i1] } (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2), immAllOnesV:{ *:[v32i1] }) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
14186 /* 37346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
14187 /* 37349 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14188 /* 37351 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
14189 /* 37355 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
14190 /* 37359 */ GIR_RootConstrainSelectedInstOperands,
14191 /* 37360 */ // GIR_Coverage, 4403,
14192 /* 37360 */ GIR_EraseRootFromParent_Done,
14193 /* 37361 */ // Label 940: @37361
14194 /* 37361 */ GIM_Try, /*On fail goto*//*Label 941*/ GIMT_Encode4(37421), // Rule ID 23747 //
14195 /* 37366 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
14196 /* 37369 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
14197 /* 37373 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14198 /* 37377 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14199 /* 37381 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v32s1,
14200 /* 37385 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v32s1,
14201 /* 37389 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
14202 /* 37394 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14203 /* 37398 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14204 /* 37404 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14205 /* 37406 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14206 /* 37408 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src2, (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, immAllOnesV:{ *:[v32i1] })) => (KXNORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
14207 /* 37408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORDkk),
14208 /* 37411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14209 /* 37413 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
14210 /* 37417 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
14211 /* 37419 */ GIR_RootConstrainSelectedInstOperands,
14212 /* 37420 */ // GIR_Coverage, 23747,
14213 /* 37420 */ GIR_EraseRootFromParent_Done,
14214 /* 37421 */ // Label 941: @37421
14215 /* 37421 */ GIM_Try, /*On fail goto*//*Label 942*/ GIMT_Encode4(37456), // Rule ID 4391 //
14216 /* 37426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
14217 /* 37429 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
14218 /* 37433 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14219 /* 37437 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14220 /* 37443 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14221 /* 37445 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14222 /* 37447 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src, immAllOnesV:{ *:[v32i1] }) => (KNOTDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src)
14223 /* 37447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTDkk),
14224 /* 37450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14225 /* 37452 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14226 /* 37454 */ GIR_RootConstrainSelectedInstOperands,
14227 /* 37455 */ // GIR_Coverage, 4391,
14228 /* 37455 */ GIR_EraseRootFromParent_Done,
14229 /* 37456 */ // Label 942: @37456
14230 /* 37456 */ GIM_Try, /*On fail goto*//*Label 943*/ GIMT_Encode4(37479), // Rule ID 4407 //
14231 /* 37461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
14232 /* 37464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
14233 /* 37468 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
14234 /* 37472 */ // (xor:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KXORDkk:{ *:[v32i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2)
14235 /* 37472 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORDkk),
14236 /* 37477 */ GIR_RootConstrainSelectedInstOperands,
14237 /* 37478 */ // GIR_Coverage, 4407,
14238 /* 37478 */ GIR_Done,
14239 /* 37479 */ // Label 943: @37479
14240 /* 37479 */ GIM_Reject,
14241 /* 37480 */ // Label 938: @37480
14242 /* 37480 */ GIM_Reject,
14243 /* 37481 */ // Label 840: @37481
14244 /* 37481 */ GIM_Try, /*On fail goto*//*Label 944*/ GIMT_Encode4(37738),
14245 /* 37486 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
14246 /* 37489 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
14247 /* 37492 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
14248 /* 37496 */ GIM_Try, /*On fail goto*//*Label 945*/ GIMT_Encode4(37556), // Rule ID 23748 //
14249 /* 37501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
14250 /* 37504 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14251 /* 37508 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14252 /* 37512 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
14253 /* 37516 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
14254 /* 37520 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
14255 /* 37525 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14256 /* 37529 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14257 /* 37535 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14258 /* 37537 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
14259 /* 37541 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14260 /* 37543 */ // (xor:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] }), VK64:{ *:[v64i1] }:$src2) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
14261 /* 37543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
14262 /* 37546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14263 /* 37548 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
14264 /* 37552 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
14265 /* 37554 */ GIR_RootConstrainSelectedInstOperands,
14266 /* 37555 */ // GIR_Coverage, 23748,
14267 /* 37555 */ GIR_EraseRootFromParent_Done,
14268 /* 37556 */ // Label 945: @37556
14269 /* 37556 */ GIM_Try, /*On fail goto*//*Label 946*/ GIMT_Encode4(37619), // Rule ID 4404 //
14270 /* 37561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
14271 /* 37564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14272 /* 37568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14273 /* 37572 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
14274 /* 37576 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
14275 /* 37580 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
14276 /* 37585 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
14277 /* 37590 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
14278 /* 37594 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14279 /* 37600 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14280 /* 37602 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14281 /* 37604 */ // (xor:{ *:[v64i1] } (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2), immAllOnesV:{ *:[v64i1] }) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
14282 /* 37604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
14283 /* 37607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14284 /* 37609 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
14285 /* 37613 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
14286 /* 37617 */ GIR_RootConstrainSelectedInstOperands,
14287 /* 37618 */ // GIR_Coverage, 4404,
14288 /* 37618 */ GIR_EraseRootFromParent_Done,
14289 /* 37619 */ // Label 946: @37619
14290 /* 37619 */ GIM_Try, /*On fail goto*//*Label 947*/ GIMT_Encode4(37679), // Rule ID 23749 //
14291 /* 37624 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
14292 /* 37627 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
14293 /* 37631 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14294 /* 37635 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
14295 /* 37639 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v64s1,
14296 /* 37643 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v64s1,
14297 /* 37647 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
14298 /* 37652 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
14299 /* 37656 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14300 /* 37662 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
14301 /* 37664 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
14302 /* 37666 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src2, (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, immAllOnesV:{ *:[v64i1] })) => (KXNORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
14303 /* 37666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KXNORQkk),
14304 /* 37669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14305 /* 37671 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
14306 /* 37675 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
14307 /* 37677 */ GIR_RootConstrainSelectedInstOperands,
14308 /* 37678 */ // GIR_Coverage, 23749,
14309 /* 37678 */ GIR_EraseRootFromParent_Done,
14310 /* 37679 */ // Label 947: @37679
14311 /* 37679 */ GIM_Try, /*On fail goto*//*Label 948*/ GIMT_Encode4(37714), // Rule ID 4392 //
14312 /* 37684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
14313 /* 37687 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
14314 /* 37691 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14315 /* 37695 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14316 /* 37701 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14317 /* 37703 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14318 /* 37705 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src, immAllOnesV:{ *:[v64i1] }) => (KNOTQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src)
14319 /* 37705 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KNOTQkk),
14320 /* 37708 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14321 /* 37710 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14322 /* 37712 */ GIR_RootConstrainSelectedInstOperands,
14323 /* 37713 */ // GIR_Coverage, 4392,
14324 /* 37713 */ GIR_EraseRootFromParent_Done,
14325 /* 37714 */ // Label 948: @37714
14326 /* 37714 */ GIM_Try, /*On fail goto*//*Label 949*/ GIMT_Encode4(37737), // Rule ID 4408 //
14327 /* 37719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
14328 /* 37722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
14329 /* 37726 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
14330 /* 37730 */ // (xor:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2) => (KXORQkk:{ *:[v64i1] } VK64:{ *:[v64i1] }:$src1, VK64:{ *:[v64i1] }:$src2)
14331 /* 37730 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::KXORQkk),
14332 /* 37735 */ GIR_RootConstrainSelectedInstOperands,
14333 /* 37736 */ // GIR_Coverage, 4408,
14334 /* 37736 */ GIR_Done,
14335 /* 37737 */ // Label 949: @37737
14336 /* 37737 */ GIM_Reject,
14337 /* 37738 */ // Label 944: @37738
14338 /* 37738 */ GIM_Reject,
14339 /* 37739 */ // Label 841: @37739
14340 /* 37739 */ GIM_Try, /*On fail goto*//*Label 950*/ GIMT_Encode4(38358),
14341 /* 37744 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
14342 /* 37747 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
14343 /* 37750 */ GIM_Try, /*On fail goto*//*Label 951*/ GIMT_Encode4(37812), // Rule ID 25315 //
14344 /* 37755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14345 /* 37758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14346 /* 37762 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14347 /* 37766 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14348 /* 37770 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14349 /* 37773 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14350 /* 37777 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14351 /* 37781 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14352 /* 37785 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14353 /* 37787 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14354 /* 37794 */ // (xor:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPXORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14355 /* 37794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14356 /* 37797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14357 /* 37799 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14358 /* 37801 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14359 /* 37805 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14360 /* 37810 */ GIR_RootConstrainSelectedInstOperands,
14361 /* 37811 */ // GIR_Coverage, 25315,
14362 /* 37811 */ GIR_EraseRootFromParent_Done,
14363 /* 37812 */ // Label 951: @37812
14364 /* 37812 */ GIM_Try, /*On fail goto*//*Label 952*/ GIMT_Encode4(37874), // Rule ID 25494 //
14365 /* 37817 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14366 /* 37820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14367 /* 37824 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14368 /* 37828 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14369 /* 37832 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14370 /* 37835 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14371 /* 37839 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14372 /* 37843 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14373 /* 37847 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14374 /* 37849 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14375 /* 37856 */ // (xor:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPXORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14376 /* 37856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
14377 /* 37859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14378 /* 37861 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14379 /* 37863 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14380 /* 37867 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14381 /* 37872 */ GIR_RootConstrainSelectedInstOperands,
14382 /* 37873 */ // GIR_Coverage, 25494,
14383 /* 37873 */ GIR_EraseRootFromParent_Done,
14384 /* 37874 */ // Label 952: @37874
14385 /* 37874 */ GIM_Try, /*On fail goto*//*Label 953*/ GIMT_Encode4(37936), // Rule ID 18130 //
14386 /* 37879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14387 /* 37882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14388 /* 37886 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14389 /* 37890 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14390 /* 37894 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14391 /* 37898 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14392 /* 37901 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14393 /* 37905 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14394 /* 37909 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14395 /* 37911 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14396 /* 37918 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14397 /* 37918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14398 /* 37921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14399 /* 37923 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14400 /* 37925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14401 /* 37929 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14402 /* 37934 */ GIR_RootConstrainSelectedInstOperands,
14403 /* 37935 */ // GIR_Coverage, 18130,
14404 /* 37935 */ GIR_EraseRootFromParent_Done,
14405 /* 37936 */ // Label 953: @37936
14406 /* 37936 */ GIM_Try, /*On fail goto*//*Label 954*/ GIMT_Encode4(37998), // Rule ID 20013 //
14407 /* 37941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14408 /* 37944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14409 /* 37948 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14410 /* 37952 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14411 /* 37956 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14412 /* 37960 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14413 /* 37963 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14414 /* 37967 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14415 /* 37971 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14416 /* 37973 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14417 /* 37980 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14418 /* 37980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
14419 /* 37983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14420 /* 37985 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14421 /* 37987 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14422 /* 37991 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14423 /* 37996 */ GIR_RootConstrainSelectedInstOperands,
14424 /* 37997 */ // GIR_Coverage, 20013,
14425 /* 37997 */ GIR_EraseRootFromParent_Done,
14426 /* 37998 */ // Label 954: @37998
14427 /* 37998 */ GIM_Try, /*On fail goto*//*Label 955*/ GIMT_Encode4(38230), // Rule ID 21930 //
14428 /* 38003 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
14429 /* 38006 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
14430 /* 38010 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14431 /* 38014 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14432 /* 38018 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14433 /* 38024 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14434 /* 38026 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14435 /* 38028 */ // (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] })
14436 /* 38028 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14437 /* 38031 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14438 /* 38035 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14439 /* 38040 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14440 /* 38042 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14441 /* 38045 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14442 /* 38049 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14443 /* 38054 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14444 /* 38057 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14445 /* 38061 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
14446 /* 38064 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14447 /* 38069 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14448 /* 38074 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14449 /* 38079 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14450 /* 38082 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14451 /* 38086 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14452 /* 38091 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14453 /* 38093 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14454 /* 38096 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14455 /* 38100 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14456 /* 38105 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14457 /* 38108 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14458 /* 38112 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
14459 /* 38115 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14460 /* 38120 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14461 /* 38125 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14462 /* 38130 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14463 /* 38133 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14464 /* 38137 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14465 /* 38142 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14466 /* 38144 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14467 /* 38147 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14468 /* 38151 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14469 /* 38156 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
14470 /* 38159 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14471 /* 38163 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
14472 /* 38166 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14473 /* 38171 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14474 /* 38176 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14475 /* 38181 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
14476 /* 38184 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14477 /* 38188 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14478 /* 38193 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14479 /* 38196 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
14480 /* 38199 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
14481 /* 38202 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
14482 /* 38205 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14483 /* 38207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14484 /* 38210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14485 /* 38212 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
14486 /* 38219 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
14487 /* 38224 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14488 /* 38229 */ // GIR_Coverage, 21930,
14489 /* 38229 */ GIR_EraseRootFromParent_Done,
14490 /* 38230 */ // Label 955: @38230
14491 /* 38230 */ GIM_Try, /*On fail goto*//*Label 956*/ GIMT_Encode4(38276), // Rule ID 21938 //
14492 /* 38235 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14493 /* 38238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14494 /* 38242 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14495 /* 38246 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14496 /* 38250 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14497 /* 38256 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14498 /* 38258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14499 /* 38260 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, immAllOnesV:{ *:[v16i8] }) => (VPTERNLOGQZ128rri:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VR128X:{ *:[v16i8] }:$src, VR128X:{ *:[v16i8] }:$src, 15:{ *:[i8] })
14500 /* 38260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
14501 /* 38263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14502 /* 38265 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14503 /* 38267 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14504 /* 38269 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14505 /* 38271 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14506 /* 38274 */ GIR_RootConstrainSelectedInstOperands,
14507 /* 38275 */ // GIR_Coverage, 21938,
14508 /* 38275 */ GIR_EraseRootFromParent_Done,
14509 /* 38276 */ // Label 956: @38276
14510 /* 38276 */ GIM_Try, /*On fail goto*//*Label 957*/ GIMT_Encode4(38303), // Rule ID 18118 //
14511 /* 38281 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14512 /* 38284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14513 /* 38288 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14514 /* 38292 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14515 /* 38296 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPXORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
14516 /* 38296 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
14517 /* 38301 */ GIR_RootConstrainSelectedInstOperands,
14518 /* 38302 */ // GIR_Coverage, 18118,
14519 /* 38302 */ GIR_Done,
14520 /* 38303 */ // Label 957: @38303
14521 /* 38303 */ GIM_Try, /*On fail goto*//*Label 958*/ GIMT_Encode4(38330), // Rule ID 18142 //
14522 /* 38308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
14523 /* 38311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14524 /* 38315 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14525 /* 38319 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14526 /* 38323 */ // (xor:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PXORrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
14527 /* 38323 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
14528 /* 38328 */ GIR_RootConstrainSelectedInstOperands,
14529 /* 38329 */ // GIR_Coverage, 18142,
14530 /* 38329 */ GIR_Done,
14531 /* 38330 */ // Label 958: @38330
14532 /* 38330 */ GIM_Try, /*On fail goto*//*Label 959*/ GIMT_Encode4(38357), // Rule ID 20005 //
14533 /* 38335 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14534 /* 38338 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14535 /* 38342 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14536 /* 38346 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14537 /* 38350 */ // (xor:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPXORQZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
14538 /* 38350 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
14539 /* 38355 */ GIR_RootConstrainSelectedInstOperands,
14540 /* 38356 */ // GIR_Coverage, 20005,
14541 /* 38356 */ GIR_Done,
14542 /* 38357 */ // Label 959: @38357
14543 /* 38357 */ GIM_Reject,
14544 /* 38358 */ // Label 950: @38358
14545 /* 38358 */ GIM_Reject,
14546 /* 38359 */ // Label 842: @38359
14547 /* 38359 */ GIM_Try, /*On fail goto*//*Label 960*/ GIMT_Encode4(39102),
14548 /* 38364 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
14549 /* 38367 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
14550 /* 38370 */ GIM_Try, /*On fail goto*//*Label 961*/ GIMT_Encode4(38432), // Rule ID 25294 //
14551 /* 38375 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
14552 /* 38378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14553 /* 38382 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14554 /* 38386 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14555 /* 38390 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14556 /* 38393 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14557 /* 38397 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14558 /* 38401 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14559 /* 38405 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14560 /* 38407 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14561 /* 38414 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPXORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14562 /* 38414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
14563 /* 38417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14564 /* 38419 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14565 /* 38421 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14566 /* 38425 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14567 /* 38430 */ GIR_RootConstrainSelectedInstOperands,
14568 /* 38431 */ // GIR_Coverage, 25294,
14569 /* 38431 */ GIR_EraseRootFromParent_Done,
14570 /* 38432 */ // Label 961: @38432
14571 /* 38432 */ GIM_Try, /*On fail goto*//*Label 962*/ GIMT_Encode4(38494), // Rule ID 25305 //
14572 /* 38437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
14573 /* 38440 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14574 /* 38444 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14575 /* 38448 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14576 /* 38452 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14577 /* 38455 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14578 /* 38459 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14579 /* 38463 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14580 /* 38467 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14581 /* 38469 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14582 /* 38476 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VXORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14583 /* 38476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
14584 /* 38479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14585 /* 38481 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14586 /* 38483 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14587 /* 38487 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14588 /* 38492 */ GIR_RootConstrainSelectedInstOperands,
14589 /* 38493 */ // GIR_Coverage, 25305,
14590 /* 38493 */ GIR_EraseRootFromParent_Done,
14591 /* 38494 */ // Label 962: @38494
14592 /* 38494 */ GIM_Try, /*On fail goto*//*Label 963*/ GIMT_Encode4(38556), // Rule ID 25500 //
14593 /* 38499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14594 /* 38502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14595 /* 38506 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14596 /* 38510 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14597 /* 38514 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14598 /* 38517 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14599 /* 38521 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14600 /* 38525 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14601 /* 38529 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14602 /* 38531 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14603 /* 38538 */ // (xor:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPXORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14604 /* 38538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
14605 /* 38541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14606 /* 38543 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14607 /* 38545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14608 /* 38549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14609 /* 38554 */ GIR_RootConstrainSelectedInstOperands,
14610 /* 38555 */ // GIR_Coverage, 25500,
14611 /* 38555 */ GIR_EraseRootFromParent_Done,
14612 /* 38556 */ // Label 963: @38556
14613 /* 38556 */ GIM_Try, /*On fail goto*//*Label 964*/ GIMT_Encode4(38618), // Rule ID 18074 //
14614 /* 38561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
14615 /* 38564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14616 /* 38568 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14617 /* 38572 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14618 /* 38576 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14619 /* 38580 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14620 /* 38583 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14621 /* 38587 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14622 /* 38591 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14623 /* 38593 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14624 /* 38600 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14625 /* 38600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
14626 /* 38603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14627 /* 38605 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14628 /* 38607 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14629 /* 38611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14630 /* 38616 */ GIR_RootConstrainSelectedInstOperands,
14631 /* 38617 */ // GIR_Coverage, 18074,
14632 /* 38617 */ GIR_EraseRootFromParent_Done,
14633 /* 38618 */ // Label 964: @38618
14634 /* 38618 */ GIM_Try, /*On fail goto*//*Label 965*/ GIMT_Encode4(38680), // Rule ID 18104 //
14635 /* 38623 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
14636 /* 38626 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14637 /* 38630 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14638 /* 38634 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14639 /* 38638 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14640 /* 38642 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14641 /* 38645 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14642 /* 38649 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14643 /* 38653 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14644 /* 38655 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14645 /* 38662 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14646 /* 38662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
14647 /* 38665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14648 /* 38667 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14649 /* 38669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14650 /* 38673 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14651 /* 38678 */ GIR_RootConstrainSelectedInstOperands,
14652 /* 38679 */ // GIR_Coverage, 18104,
14653 /* 38679 */ GIR_EraseRootFromParent_Done,
14654 /* 38680 */ // Label 965: @38680
14655 /* 38680 */ GIM_Try, /*On fail goto*//*Label 966*/ GIMT_Encode4(38742), // Rule ID 20029 //
14656 /* 38685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14657 /* 38688 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14658 /* 38692 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14659 /* 38696 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14660 /* 38700 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14661 /* 38704 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14662 /* 38707 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14663 /* 38711 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14664 /* 38715 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14665 /* 38717 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14666 /* 38724 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14667 /* 38724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
14668 /* 38727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14669 /* 38729 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14670 /* 38731 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14671 /* 38735 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14672 /* 38740 */ GIR_RootConstrainSelectedInstOperands,
14673 /* 38741 */ // GIR_Coverage, 20029,
14674 /* 38741 */ GIR_EraseRootFromParent_Done,
14675 /* 38742 */ // Label 966: @38742
14676 /* 38742 */ GIM_Try, /*On fail goto*//*Label 967*/ GIMT_Encode4(38974), // Rule ID 21934 //
14677 /* 38747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
14678 /* 38750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14679 /* 38754 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14680 /* 38758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14681 /* 38762 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14682 /* 38768 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14683 /* 38770 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14684 /* 38772 */ // (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] })
14685 /* 38772 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14686 /* 38775 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14687 /* 38779 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14688 /* 38784 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14689 /* 38786 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14690 /* 38789 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14691 /* 38793 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14692 /* 38798 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14693 /* 38801 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14694 /* 38805 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
14695 /* 38808 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14696 /* 38813 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14697 /* 38818 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14698 /* 38823 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14699 /* 38826 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14700 /* 38830 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14701 /* 38835 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14702 /* 38837 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14703 /* 38840 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14704 /* 38844 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14705 /* 38849 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14706 /* 38852 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14707 /* 38856 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
14708 /* 38859 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14709 /* 38864 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14710 /* 38869 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14711 /* 38874 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14712 /* 38877 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14713 /* 38881 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14714 /* 38886 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14715 /* 38888 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14716 /* 38891 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14717 /* 38895 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14718 /* 38900 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
14719 /* 38903 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
14720 /* 38907 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
14721 /* 38910 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14722 /* 38915 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14723 /* 38920 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
14724 /* 38925 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
14725 /* 38928 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14726 /* 38932 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14727 /* 38937 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
14728 /* 38940 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
14729 /* 38943 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
14730 /* 38946 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
14731 /* 38949 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
14732 /* 38951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
14733 /* 38954 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14734 /* 38956 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
14735 /* 38963 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
14736 /* 38968 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14737 /* 38973 */ // GIR_Coverage, 21934,
14738 /* 38973 */ GIR_EraseRootFromParent_Done,
14739 /* 38974 */ // Label 967: @38974
14740 /* 38974 */ GIM_Try, /*On fail goto*//*Label 968*/ GIMT_Encode4(39020), // Rule ID 21942 //
14741 /* 38979 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14742 /* 38982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14743 /* 38986 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14744 /* 38990 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14745 /* 38994 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14746 /* 39000 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14747 /* 39002 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14748 /* 39004 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, immAllOnesV:{ *:[v32i8] }) => (VPTERNLOGQZ256rri:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VR256X:{ *:[v32i8] }:$src, VR256X:{ *:[v32i8] }:$src, 15:{ *:[i8] })
14749 /* 39004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
14750 /* 39007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14751 /* 39009 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14752 /* 39011 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14753 /* 39013 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14754 /* 39015 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14755 /* 39018 */ GIR_RootConstrainSelectedInstOperands,
14756 /* 39019 */ // GIR_Coverage, 21942,
14757 /* 39019 */ GIR_EraseRootFromParent_Done,
14758 /* 39020 */ // Label 968: @39020
14759 /* 39020 */ GIM_Try, /*On fail goto*//*Label 969*/ GIMT_Encode4(39047), // Rule ID 18062 //
14760 /* 39025 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
14761 /* 39028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14762 /* 39032 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14763 /* 39036 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14764 /* 39040 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPXORYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
14765 /* 39040 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
14766 /* 39045 */ GIR_RootConstrainSelectedInstOperands,
14767 /* 39046 */ // GIR_Coverage, 18062,
14768 /* 39046 */ GIR_Done,
14769 /* 39047 */ // Label 969: @39047
14770 /* 39047 */ GIM_Try, /*On fail goto*//*Label 970*/ GIMT_Encode4(39074), // Rule ID 18088 //
14771 /* 39052 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
14772 /* 39055 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14773 /* 39059 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14774 /* 39063 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
14775 /* 39067 */ // (xor:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VXORPSYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
14776 /* 39067 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
14777 /* 39072 */ GIR_RootConstrainSelectedInstOperands,
14778 /* 39073 */ // GIR_Coverage, 18088,
14779 /* 39073 */ GIR_Done,
14780 /* 39074 */ // Label 970: @39074
14781 /* 39074 */ GIM_Try, /*On fail goto*//*Label 971*/ GIMT_Encode4(39101), // Rule ID 20021 //
14782 /* 39079 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14783 /* 39082 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14784 /* 39086 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14785 /* 39090 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
14786 /* 39094 */ // (xor:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPXORQZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
14787 /* 39094 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
14788 /* 39099 */ GIR_RootConstrainSelectedInstOperands,
14789 /* 39100 */ // GIR_Coverage, 20021,
14790 /* 39100 */ GIR_Done,
14791 /* 39101 */ // Label 971: @39101
14792 /* 39101 */ GIM_Reject,
14793 /* 39102 */ // Label 960: @39102
14794 /* 39102 */ GIM_Reject,
14795 /* 39103 */ // Label 843: @39103
14796 /* 39103 */ GIM_Try, /*On fail goto*//*Label 972*/ GIMT_Encode4(39300),
14797 /* 39108 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
14798 /* 39111 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
14799 /* 39114 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14800 /* 39118 */ GIM_Try, /*On fail goto*//*Label 973*/ GIMT_Encode4(39176), // Rule ID 25506 //
14801 /* 39123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
14802 /* 39126 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14803 /* 39130 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14804 /* 39134 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14805 /* 39137 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14806 /* 39141 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14807 /* 39145 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14808 /* 39149 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14809 /* 39151 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14810 /* 39158 */ // (xor:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPXORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14811 /* 39158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
14812 /* 39161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14813 /* 39163 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14814 /* 39165 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14815 /* 39169 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14816 /* 39174 */ GIR_RootConstrainSelectedInstOperands,
14817 /* 39175 */ // GIR_Coverage, 25506,
14818 /* 39175 */ GIR_EraseRootFromParent_Done,
14819 /* 39176 */ // Label 973: @39176
14820 /* 39176 */ GIM_Try, /*On fail goto*//*Label 974*/ GIMT_Encode4(39234), // Rule ID 20045 //
14821 /* 39181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
14822 /* 39184 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14823 /* 39188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14824 /* 39192 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14825 /* 39196 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14826 /* 39199 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14827 /* 39203 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14828 /* 39207 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14829 /* 39209 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14830 /* 39216 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
14831 /* 39216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
14832 /* 39219 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14833 /* 39221 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14834 /* 39223 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14835 /* 39227 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14836 /* 39232 */ GIR_RootConstrainSelectedInstOperands,
14837 /* 39233 */ // GIR_Coverage, 20045,
14838 /* 39233 */ GIR_EraseRootFromParent_Done,
14839 /* 39234 */ // Label 974: @39234
14840 /* 39234 */ GIM_Try, /*On fail goto*//*Label 975*/ GIMT_Encode4(39276), // Rule ID 21926 //
14841 /* 39239 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
14842 /* 39242 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14843 /* 39246 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14844 /* 39250 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14845 /* 39256 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14846 /* 39258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14847 /* 39260 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, immAllOnesV:{ *:[v64i8] }) => (VPTERNLOGQZrri:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VR512:{ *:[v64i8] }:$src, VR512:{ *:[v64i8] }:$src, 15:{ *:[i8] })
14848 /* 39260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
14849 /* 39263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14850 /* 39265 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14851 /* 39267 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14852 /* 39269 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
14853 /* 39271 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
14854 /* 39274 */ GIR_RootConstrainSelectedInstOperands,
14855 /* 39275 */ // GIR_Coverage, 21926,
14856 /* 39275 */ GIR_EraseRootFromParent_Done,
14857 /* 39276 */ // Label 975: @39276
14858 /* 39276 */ GIM_Try, /*On fail goto*//*Label 976*/ GIMT_Encode4(39299), // Rule ID 20037 //
14859 /* 39281 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
14860 /* 39284 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14861 /* 39288 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
14862 /* 39292 */ // (xor:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPXORQZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
14863 /* 39292 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
14864 /* 39297 */ GIR_RootConstrainSelectedInstOperands,
14865 /* 39298 */ // GIR_Coverage, 20037,
14866 /* 39298 */ GIR_Done,
14867 /* 39299 */ // Label 976: @39299
14868 /* 39299 */ GIM_Reject,
14869 /* 39300 */ // Label 972: @39300
14870 /* 39300 */ GIM_Reject,
14871 /* 39301 */ // Label 844: @39301
14872 /* 39301 */ GIM_Try, /*On fail goto*//*Label 977*/ GIMT_Encode4(39920),
14873 /* 39306 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
14874 /* 39309 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
14875 /* 39312 */ GIM_Try, /*On fail goto*//*Label 978*/ GIMT_Encode4(39374), // Rule ID 25316 //
14876 /* 39317 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14877 /* 39320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14878 /* 39324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14879 /* 39328 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14880 /* 39332 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14881 /* 39335 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14882 /* 39339 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14883 /* 39343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14884 /* 39347 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14885 /* 39349 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14886 /* 39356 */ // (xor:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPXORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14887 /* 39356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14888 /* 39359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14889 /* 39361 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14890 /* 39363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14891 /* 39367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14892 /* 39372 */ GIR_RootConstrainSelectedInstOperands,
14893 /* 39373 */ // GIR_Coverage, 25316,
14894 /* 39373 */ GIR_EraseRootFromParent_Done,
14895 /* 39374 */ // Label 978: @39374
14896 /* 39374 */ GIM_Try, /*On fail goto*//*Label 979*/ GIMT_Encode4(39436), // Rule ID 25495 //
14897 /* 39379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14898 /* 39382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14899 /* 39386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
14900 /* 39390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14901 /* 39394 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14902 /* 39397 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14903 /* 39401 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14904 /* 39405 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14905 /* 39409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14906 /* 39411 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14907 /* 39418 */ // (xor:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPXORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14908 /* 39418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
14909 /* 39421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14910 /* 39423 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
14911 /* 39425 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14912 /* 39429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14913 /* 39434 */ GIR_RootConstrainSelectedInstOperands,
14914 /* 39435 */ // GIR_Coverage, 25495,
14915 /* 39435 */ GIR_EraseRootFromParent_Done,
14916 /* 39436 */ // Label 979: @39436
14917 /* 39436 */ GIM_Try, /*On fail goto*//*Label 980*/ GIMT_Encode4(39498), // Rule ID 18131 //
14918 /* 39441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
14919 /* 39444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14920 /* 39448 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
14921 /* 39452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14922 /* 39456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14923 /* 39460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14924 /* 39463 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14925 /* 39467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14926 /* 39471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14927 /* 39473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14928 /* 39480 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14929 /* 39480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
14930 /* 39483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14931 /* 39485 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14932 /* 39487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14933 /* 39491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14934 /* 39496 */ GIR_RootConstrainSelectedInstOperands,
14935 /* 39497 */ // GIR_Coverage, 18131,
14936 /* 39497 */ GIR_EraseRootFromParent_Done,
14937 /* 39498 */ // Label 980: @39498
14938 /* 39498 */ GIM_Try, /*On fail goto*//*Label 981*/ GIMT_Encode4(39560), // Rule ID 20014 //
14939 /* 39503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
14940 /* 39506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14941 /* 39510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14942 /* 39514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14943 /* 39518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
14944 /* 39522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
14945 /* 39525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
14946 /* 39529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
14947 /* 39533 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14948 /* 39535 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
14949 /* 39542 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
14950 /* 39542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
14951 /* 39545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
14952 /* 39547 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
14953 /* 39549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
14954 /* 39553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
14955 /* 39558 */ GIR_RootConstrainSelectedInstOperands,
14956 /* 39559 */ // GIR_Coverage, 20014,
14957 /* 39559 */ GIR_EraseRootFromParent_Done,
14958 /* 39560 */ // Label 981: @39560
14959 /* 39560 */ GIM_Try, /*On fail goto*//*Label 982*/ GIMT_Encode4(39792), // Rule ID 21931 //
14960 /* 39565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
14961 /* 39568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
14962 /* 39572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
14963 /* 39576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
14964 /* 39580 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
14965 /* 39586 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
14966 /* 39588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
14967 /* 39590 */ // (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] })
14968 /* 39590 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
14969 /* 39593 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14970 /* 39597 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14971 /* 39602 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
14972 /* 39604 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
14973 /* 39607 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14974 /* 39611 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14975 /* 39616 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
14976 /* 39619 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
14977 /* 39623 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
14978 /* 39626 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14979 /* 39631 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14980 /* 39636 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14981 /* 39641 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
14982 /* 39644 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14983 /* 39648 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14984 /* 39653 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
14985 /* 39655 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
14986 /* 39658 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
14987 /* 39662 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14988 /* 39667 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
14989 /* 39670 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
14990 /* 39674 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
14991 /* 39677 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
14992 /* 39682 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
14993 /* 39687 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
14994 /* 39692 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
14995 /* 39695 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
14996 /* 39699 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
14997 /* 39704 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
14998 /* 39706 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
14999 /* 39709 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15000 /* 39713 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15001 /* 39718 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15002 /* 39721 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15003 /* 39725 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
15004 /* 39728 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15005 /* 39733 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15006 /* 39738 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15007 /* 39743 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15008 /* 39746 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15009 /* 39750 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15010 /* 39755 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15011 /* 39758 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15012 /* 39761 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15013 /* 39764 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15014 /* 39767 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15015 /* 39769 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15016 /* 39772 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15017 /* 39774 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
15018 /* 39781 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
15019 /* 39786 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15020 /* 39791 */ // GIR_Coverage, 21931,
15021 /* 39791 */ GIR_EraseRootFromParent_Done,
15022 /* 39792 */ // Label 982: @39792
15023 /* 39792 */ GIM_Try, /*On fail goto*//*Label 983*/ GIMT_Encode4(39838), // Rule ID 21939 //
15024 /* 39797 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15025 /* 39800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15026 /* 39804 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15027 /* 39808 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15028 /* 39812 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15029 /* 39818 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15030 /* 39820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15031 /* 39822 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, immAllOnesV:{ *:[v8i16] }) => (VPTERNLOGQZ128rri:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VR128X:{ *:[v8i16] }:$src, VR128X:{ *:[v8i16] }:$src, 15:{ *:[i8] })
15032 /* 39822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
15033 /* 39825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15034 /* 39827 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15035 /* 39829 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15036 /* 39831 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15037 /* 39833 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15038 /* 39836 */ GIR_RootConstrainSelectedInstOperands,
15039 /* 39837 */ // GIR_Coverage, 21939,
15040 /* 39837 */ GIR_EraseRootFromParent_Done,
15041 /* 39838 */ // Label 983: @39838
15042 /* 39838 */ GIM_Try, /*On fail goto*//*Label 984*/ GIMT_Encode4(39865), // Rule ID 18119 //
15043 /* 39843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
15044 /* 39846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15045 /* 39850 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15046 /* 39854 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15047 /* 39858 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPXORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
15048 /* 39858 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
15049 /* 39863 */ GIR_RootConstrainSelectedInstOperands,
15050 /* 39864 */ // GIR_Coverage, 18119,
15051 /* 39864 */ GIR_Done,
15052 /* 39865 */ // Label 984: @39865
15053 /* 39865 */ GIM_Try, /*On fail goto*//*Label 985*/ GIMT_Encode4(39892), // Rule ID 18143 //
15054 /* 39870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
15055 /* 39873 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15056 /* 39877 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15057 /* 39881 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15058 /* 39885 */ // (xor:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PXORrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
15059 /* 39885 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
15060 /* 39890 */ GIR_RootConstrainSelectedInstOperands,
15061 /* 39891 */ // GIR_Coverage, 18143,
15062 /* 39891 */ GIR_Done,
15063 /* 39892 */ // Label 985: @39892
15064 /* 39892 */ GIM_Try, /*On fail goto*//*Label 986*/ GIMT_Encode4(39919), // Rule ID 20006 //
15065 /* 39897 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15066 /* 39900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15067 /* 39904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15068 /* 39908 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15069 /* 39912 */ // (xor:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPXORQZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
15070 /* 39912 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
15071 /* 39917 */ GIR_RootConstrainSelectedInstOperands,
15072 /* 39918 */ // GIR_Coverage, 20006,
15073 /* 39918 */ GIR_Done,
15074 /* 39919 */ // Label 986: @39919
15075 /* 39919 */ GIM_Reject,
15076 /* 39920 */ // Label 977: @39920
15077 /* 39920 */ GIM_Reject,
15078 /* 39921 */ // Label 845: @39921
15079 /* 39921 */ GIM_Try, /*On fail goto*//*Label 987*/ GIMT_Encode4(40664),
15080 /* 39926 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
15081 /* 39929 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
15082 /* 39932 */ GIM_Try, /*On fail goto*//*Label 988*/ GIMT_Encode4(39994), // Rule ID 25295 //
15083 /* 39937 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15084 /* 39940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15085 /* 39944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15086 /* 39948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15087 /* 39952 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15088 /* 39955 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15089 /* 39959 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15090 /* 39963 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15091 /* 39967 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15092 /* 39969 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15093 /* 39976 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPXORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15094 /* 39976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15095 /* 39979 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15096 /* 39981 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15097 /* 39983 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15098 /* 39987 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15099 /* 39992 */ GIR_RootConstrainSelectedInstOperands,
15100 /* 39993 */ // GIR_Coverage, 25295,
15101 /* 39993 */ GIR_EraseRootFromParent_Done,
15102 /* 39994 */ // Label 988: @39994
15103 /* 39994 */ GIM_Try, /*On fail goto*//*Label 989*/ GIMT_Encode4(40056), // Rule ID 25306 //
15104 /* 39999 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15105 /* 40002 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15106 /* 40006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15107 /* 40010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15108 /* 40014 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15109 /* 40017 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15110 /* 40021 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15111 /* 40025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15112 /* 40029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15113 /* 40031 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15114 /* 40038 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VXORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15115 /* 40038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15116 /* 40041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15117 /* 40043 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15118 /* 40045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15119 /* 40049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15120 /* 40054 */ GIR_RootConstrainSelectedInstOperands,
15121 /* 40055 */ // GIR_Coverage, 25306,
15122 /* 40055 */ GIR_EraseRootFromParent_Done,
15123 /* 40056 */ // Label 989: @40056
15124 /* 40056 */ GIM_Try, /*On fail goto*//*Label 990*/ GIMT_Encode4(40118), // Rule ID 25501 //
15125 /* 40061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15126 /* 40064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15127 /* 40068 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15128 /* 40072 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15129 /* 40076 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15130 /* 40079 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15131 /* 40083 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15132 /* 40087 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15133 /* 40091 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15134 /* 40093 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15135 /* 40100 */ // (xor:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPXORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15136 /* 40100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
15137 /* 40103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15138 /* 40105 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15139 /* 40107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15140 /* 40111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15141 /* 40116 */ GIR_RootConstrainSelectedInstOperands,
15142 /* 40117 */ // GIR_Coverage, 25501,
15143 /* 40117 */ GIR_EraseRootFromParent_Done,
15144 /* 40118 */ // Label 990: @40118
15145 /* 40118 */ GIM_Try, /*On fail goto*//*Label 991*/ GIMT_Encode4(40180), // Rule ID 18075 //
15146 /* 40123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15147 /* 40126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15148 /* 40130 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15149 /* 40134 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15150 /* 40138 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15151 /* 40142 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15152 /* 40145 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15153 /* 40149 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15154 /* 40153 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15155 /* 40155 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15156 /* 40162 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15157 /* 40162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15158 /* 40165 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15159 /* 40167 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15160 /* 40169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15161 /* 40173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15162 /* 40178 */ GIR_RootConstrainSelectedInstOperands,
15163 /* 40179 */ // GIR_Coverage, 18075,
15164 /* 40179 */ GIR_EraseRootFromParent_Done,
15165 /* 40180 */ // Label 991: @40180
15166 /* 40180 */ GIM_Try, /*On fail goto*//*Label 992*/ GIMT_Encode4(40242), // Rule ID 18105 //
15167 /* 40185 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15168 /* 40188 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15169 /* 40192 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15170 /* 40196 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15171 /* 40200 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15172 /* 40204 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15173 /* 40207 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15174 /* 40211 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15175 /* 40215 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15176 /* 40217 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15177 /* 40224 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15178 /* 40224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15179 /* 40227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15180 /* 40229 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15181 /* 40231 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15182 /* 40235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15183 /* 40240 */ GIR_RootConstrainSelectedInstOperands,
15184 /* 40241 */ // GIR_Coverage, 18105,
15185 /* 40241 */ GIR_EraseRootFromParent_Done,
15186 /* 40242 */ // Label 992: @40242
15187 /* 40242 */ GIM_Try, /*On fail goto*//*Label 993*/ GIMT_Encode4(40304), // Rule ID 20030 //
15188 /* 40247 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15189 /* 40250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15190 /* 40254 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15191 /* 40258 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15192 /* 40262 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15193 /* 40266 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15194 /* 40269 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15195 /* 40273 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15196 /* 40277 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15197 /* 40279 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15198 /* 40286 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15199 /* 40286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
15200 /* 40289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15201 /* 40291 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15202 /* 40293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15203 /* 40297 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15204 /* 40302 */ GIR_RootConstrainSelectedInstOperands,
15205 /* 40303 */ // GIR_Coverage, 20030,
15206 /* 40303 */ GIR_EraseRootFromParent_Done,
15207 /* 40304 */ // Label 993: @40304
15208 /* 40304 */ GIM_Try, /*On fail goto*//*Label 994*/ GIMT_Encode4(40536), // Rule ID 21935 //
15209 /* 40309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
15210 /* 40312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15211 /* 40316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15212 /* 40320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15213 /* 40324 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15214 /* 40330 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15215 /* 40332 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15216 /* 40334 */ // (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] })
15217 /* 40334 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15218 /* 40337 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15219 /* 40341 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15220 /* 40346 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15221 /* 40348 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15222 /* 40351 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15223 /* 40355 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15224 /* 40360 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15225 /* 40363 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15226 /* 40367 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
15227 /* 40370 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15228 /* 40375 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15229 /* 40380 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15230 /* 40385 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15231 /* 40388 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15232 /* 40392 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15233 /* 40397 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15234 /* 40399 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15235 /* 40402 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15236 /* 40406 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15237 /* 40411 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15238 /* 40414 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15239 /* 40418 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
15240 /* 40421 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15241 /* 40426 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15242 /* 40431 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15243 /* 40436 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15244 /* 40439 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15245 /* 40443 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15246 /* 40448 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15247 /* 40450 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15248 /* 40453 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15249 /* 40457 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15250 /* 40462 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15251 /* 40465 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15252 /* 40469 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
15253 /* 40472 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15254 /* 40477 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15255 /* 40482 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15256 /* 40487 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15257 /* 40490 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15258 /* 40494 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15259 /* 40499 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15260 /* 40502 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15261 /* 40505 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15262 /* 40508 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15263 /* 40511 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15264 /* 40513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15265 /* 40516 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15266 /* 40518 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
15267 /* 40525 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
15268 /* 40530 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15269 /* 40535 */ // GIR_Coverage, 21935,
15270 /* 40535 */ GIR_EraseRootFromParent_Done,
15271 /* 40536 */ // Label 994: @40536
15272 /* 40536 */ GIM_Try, /*On fail goto*//*Label 995*/ GIMT_Encode4(40582), // Rule ID 21943 //
15273 /* 40541 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15274 /* 40544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15275 /* 40548 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15276 /* 40552 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15277 /* 40556 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15278 /* 40562 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15279 /* 40564 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15280 /* 40566 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, immAllOnesV:{ *:[v16i16] }) => (VPTERNLOGQZ256rri:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VR256X:{ *:[v16i16] }:$src, VR256X:{ *:[v16i16] }:$src, 15:{ *:[i8] })
15281 /* 40566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
15282 /* 40569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15283 /* 40571 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15284 /* 40573 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15285 /* 40575 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15286 /* 40577 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15287 /* 40580 */ GIR_RootConstrainSelectedInstOperands,
15288 /* 40581 */ // GIR_Coverage, 21943,
15289 /* 40581 */ GIR_EraseRootFromParent_Done,
15290 /* 40582 */ // Label 995: @40582
15291 /* 40582 */ GIM_Try, /*On fail goto*//*Label 996*/ GIMT_Encode4(40609), // Rule ID 18063 //
15292 /* 40587 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15293 /* 40590 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15294 /* 40594 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15295 /* 40598 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15296 /* 40602 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPXORYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
15297 /* 40602 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
15298 /* 40607 */ GIR_RootConstrainSelectedInstOperands,
15299 /* 40608 */ // GIR_Coverage, 18063,
15300 /* 40608 */ GIR_Done,
15301 /* 40609 */ // Label 996: @40609
15302 /* 40609 */ GIM_Try, /*On fail goto*//*Label 997*/ GIMT_Encode4(40636), // Rule ID 18089 //
15303 /* 40614 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15304 /* 40617 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15305 /* 40621 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15306 /* 40625 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15307 /* 40629 */ // (xor:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VXORPSYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
15308 /* 40629 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
15309 /* 40634 */ GIR_RootConstrainSelectedInstOperands,
15310 /* 40635 */ // GIR_Coverage, 18089,
15311 /* 40635 */ GIR_Done,
15312 /* 40636 */ // Label 997: @40636
15313 /* 40636 */ GIM_Try, /*On fail goto*//*Label 998*/ GIMT_Encode4(40663), // Rule ID 20022 //
15314 /* 40641 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15315 /* 40644 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15316 /* 40648 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15317 /* 40652 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15318 /* 40656 */ // (xor:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPXORQZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
15319 /* 40656 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
15320 /* 40661 */ GIR_RootConstrainSelectedInstOperands,
15321 /* 40662 */ // GIR_Coverage, 20022,
15322 /* 40662 */ GIR_Done,
15323 /* 40663 */ // Label 998: @40663
15324 /* 40663 */ GIM_Reject,
15325 /* 40664 */ // Label 987: @40664
15326 /* 40664 */ GIM_Reject,
15327 /* 40665 */ // Label 846: @40665
15328 /* 40665 */ GIM_Try, /*On fail goto*//*Label 999*/ GIMT_Encode4(40862),
15329 /* 40670 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
15330 /* 40673 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
15331 /* 40676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15332 /* 40680 */ GIM_Try, /*On fail goto*//*Label 1000*/ GIMT_Encode4(40738), // Rule ID 25507 //
15333 /* 40685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15334 /* 40688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15335 /* 40692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15336 /* 40696 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15337 /* 40699 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15338 /* 40703 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15339 /* 40707 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15340 /* 40711 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15341 /* 40713 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15342 /* 40720 */ // (xor:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPXORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15343 /* 40720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
15344 /* 40723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15345 /* 40725 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15346 /* 40727 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15347 /* 40731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15348 /* 40736 */ GIR_RootConstrainSelectedInstOperands,
15349 /* 40737 */ // GIR_Coverage, 25507,
15350 /* 40737 */ GIR_EraseRootFromParent_Done,
15351 /* 40738 */ // Label 1000: @40738
15352 /* 40738 */ GIM_Try, /*On fail goto*//*Label 1001*/ GIMT_Encode4(40796), // Rule ID 20046 //
15353 /* 40743 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15354 /* 40746 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15355 /* 40750 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15356 /* 40754 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15357 /* 40758 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15358 /* 40761 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15359 /* 40765 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15360 /* 40769 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15361 /* 40771 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15362 /* 40778 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
15363 /* 40778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
15364 /* 40781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15365 /* 40783 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15366 /* 40785 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15367 /* 40789 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15368 /* 40794 */ GIR_RootConstrainSelectedInstOperands,
15369 /* 40795 */ // GIR_Coverage, 20046,
15370 /* 40795 */ GIR_EraseRootFromParent_Done,
15371 /* 40796 */ // Label 1001: @40796
15372 /* 40796 */ GIM_Try, /*On fail goto*//*Label 1002*/ GIMT_Encode4(40838), // Rule ID 21927 //
15373 /* 40801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15374 /* 40804 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15375 /* 40808 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15376 /* 40812 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15377 /* 40818 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15378 /* 40820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15379 /* 40822 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, immAllOnesV:{ *:[v32i16] }) => (VPTERNLOGQZrri:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VR512:{ *:[v32i16] }:$src, VR512:{ *:[v32i16] }:$src, 15:{ *:[i8] })
15380 /* 40822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15381 /* 40825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15382 /* 40827 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15383 /* 40829 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15384 /* 40831 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15385 /* 40833 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15386 /* 40836 */ GIR_RootConstrainSelectedInstOperands,
15387 /* 40837 */ // GIR_Coverage, 21927,
15388 /* 40837 */ GIR_EraseRootFromParent_Done,
15389 /* 40838 */ // Label 1002: @40838
15390 /* 40838 */ GIM_Try, /*On fail goto*//*Label 1003*/ GIMT_Encode4(40861), // Rule ID 20038 //
15391 /* 40843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15392 /* 40846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15393 /* 40850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15394 /* 40854 */ // (xor:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPXORQZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
15395 /* 40854 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
15396 /* 40859 */ GIR_RootConstrainSelectedInstOperands,
15397 /* 40860 */ // GIR_Coverage, 20038,
15398 /* 40860 */ GIR_Done,
15399 /* 40861 */ // Label 1003: @40861
15400 /* 40861 */ GIM_Reject,
15401 /* 40862 */ // Label 999: @40862
15402 /* 40862 */ GIM_Reject,
15403 /* 40863 */ // Label 847: @40863
15404 /* 40863 */ GIM_Try, /*On fail goto*//*Label 1004*/ GIMT_Encode4(41482),
15405 /* 40868 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
15406 /* 40871 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
15407 /* 40874 */ GIM_Try, /*On fail goto*//*Label 1005*/ GIMT_Encode4(40936), // Rule ID 24297 //
15408 /* 40879 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15409 /* 40882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15410 /* 40886 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15411 /* 40890 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15412 /* 40894 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15413 /* 40897 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15414 /* 40901 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15415 /* 40905 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15416 /* 40909 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15417 /* 40911 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15418 /* 40918 */ // (xor:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPXORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15419 /* 40918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rm),
15420 /* 40921 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15421 /* 40923 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15422 /* 40925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15423 /* 40929 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15424 /* 40934 */ GIR_RootConstrainSelectedInstOperands,
15425 /* 40935 */ // GIR_Coverage, 24297,
15426 /* 40935 */ GIR_EraseRootFromParent_Done,
15427 /* 40936 */ // Label 1005: @40936
15428 /* 40936 */ GIM_Try, /*On fail goto*//*Label 1006*/ GIMT_Encode4(40998), // Rule ID 25317 //
15429 /* 40941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
15430 /* 40944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15431 /* 40948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15432 /* 40952 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15433 /* 40956 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15434 /* 40959 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15435 /* 40963 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15436 /* 40967 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15437 /* 40971 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15438 /* 40973 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15439 /* 40980 */ // (xor:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPXORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15440 /* 40980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
15441 /* 40983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15442 /* 40985 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15443 /* 40987 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15444 /* 40991 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15445 /* 40996 */ GIR_RootConstrainSelectedInstOperands,
15446 /* 40997 */ // GIR_Coverage, 25317,
15447 /* 40997 */ GIR_EraseRootFromParent_Done,
15448 /* 40998 */ // Label 1006: @40998
15449 /* 40998 */ GIM_Try, /*On fail goto*//*Label 1007*/ GIMT_Encode4(41060), // Rule ID 5822 //
15450 /* 41003 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15451 /* 41006 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15452 /* 41010 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15453 /* 41014 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15454 /* 41018 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15455 /* 41022 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15456 /* 41025 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15457 /* 41029 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15458 /* 41033 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15459 /* 41035 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15460 /* 41042 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15461 /* 41042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rm),
15462 /* 41045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15463 /* 41047 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15464 /* 41049 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15465 /* 41053 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15466 /* 41058 */ GIR_RootConstrainSelectedInstOperands,
15467 /* 41059 */ // GIR_Coverage, 5822,
15468 /* 41059 */ GIR_EraseRootFromParent_Done,
15469 /* 41060 */ // Label 1007: @41060
15470 /* 41060 */ GIM_Try, /*On fail goto*//*Label 1008*/ GIMT_Encode4(41122), // Rule ID 18132 //
15471 /* 41065 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
15472 /* 41068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15473 /* 41072 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15474 /* 41076 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15475 /* 41080 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15476 /* 41084 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15477 /* 41087 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15478 /* 41091 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15479 /* 41095 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15480 /* 41097 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15481 /* 41104 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15482 /* 41104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
15483 /* 41107 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15484 /* 41109 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15485 /* 41111 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15486 /* 41115 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15487 /* 41120 */ GIR_RootConstrainSelectedInstOperands,
15488 /* 41121 */ // GIR_Coverage, 18132,
15489 /* 41121 */ GIR_EraseRootFromParent_Done,
15490 /* 41122 */ // Label 1008: @41122
15491 /* 41122 */ GIM_Try, /*On fail goto*//*Label 1009*/ GIMT_Encode4(41354), // Rule ID 21932 //
15492 /* 41127 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
15493 /* 41130 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
15494 /* 41134 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15495 /* 41138 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15496 /* 41142 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15497 /* 41148 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15498 /* 41150 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15499 /* 41152 */ // (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] })
15500 /* 41152 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15501 /* 41155 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15502 /* 41159 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15503 /* 41164 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15504 /* 41166 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15505 /* 41169 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15506 /* 41173 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15507 /* 41178 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15508 /* 41181 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15509 /* 41185 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
15510 /* 41188 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15511 /* 41193 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15512 /* 41198 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15513 /* 41203 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15514 /* 41206 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15515 /* 41210 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15516 /* 41215 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15517 /* 41217 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15518 /* 41220 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15519 /* 41224 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15520 /* 41229 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15521 /* 41232 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15522 /* 41236 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
15523 /* 41239 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15524 /* 41244 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15525 /* 41249 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15526 /* 41254 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15527 /* 41257 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15528 /* 41261 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15529 /* 41266 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15530 /* 41268 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15531 /* 41271 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15532 /* 41275 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15533 /* 41280 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15534 /* 41283 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15535 /* 41287 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
15536 /* 41290 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15537 /* 41295 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15538 /* 41300 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
15539 /* 41305 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15540 /* 41308 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15541 /* 41312 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15542 /* 41317 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15543 /* 41320 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15544 /* 41323 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15545 /* 41326 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15546 /* 41329 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15547 /* 41331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15548 /* 41334 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15549 /* 41336 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
15550 /* 41343 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
15551 /* 41348 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15552 /* 41353 */ // GIR_Coverage, 21932,
15553 /* 41353 */ GIR_EraseRootFromParent_Done,
15554 /* 41354 */ // Label 1009: @41354
15555 /* 41354 */ GIM_Try, /*On fail goto*//*Label 1010*/ GIMT_Encode4(41400), // Rule ID 21940 //
15556 /* 41359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15557 /* 41362 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15558 /* 41366 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15559 /* 41370 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15560 /* 41374 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15561 /* 41380 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15562 /* 41382 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15563 /* 41384 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, immAllOnesV:{ *:[v4i32] }) => (VPTERNLOGQZ128rri:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VR128X:{ *:[v4i32] }:$src, VR128X:{ *:[v4i32] }:$src, 15:{ *:[i8] })
15564 /* 41384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
15565 /* 41387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15566 /* 41389 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15567 /* 41391 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15568 /* 41393 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15569 /* 41395 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15570 /* 41398 */ GIR_RootConstrainSelectedInstOperands,
15571 /* 41399 */ // GIR_Coverage, 21940,
15572 /* 41399 */ GIR_EraseRootFromParent_Done,
15573 /* 41400 */ // Label 1010: @41400
15574 /* 41400 */ GIM_Try, /*On fail goto*//*Label 1011*/ GIMT_Encode4(41427), // Rule ID 5819 //
15575 /* 41405 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15576 /* 41408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15577 /* 41412 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15578 /* 41416 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15579 /* 41420 */ // (xor:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPXORDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
15580 /* 41420 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZ128rr),
15581 /* 41425 */ GIR_RootConstrainSelectedInstOperands,
15582 /* 41426 */ // GIR_Coverage, 5819,
15583 /* 41426 */ GIR_Done,
15584 /* 41427 */ // Label 1011: @41427
15585 /* 41427 */ GIM_Try, /*On fail goto*//*Label 1012*/ GIMT_Encode4(41454), // Rule ID 18120 //
15586 /* 41432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
15587 /* 41435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15588 /* 41439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15589 /* 41443 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15590 /* 41447 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPXORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
15591 /* 41447 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
15592 /* 41452 */ GIR_RootConstrainSelectedInstOperands,
15593 /* 41453 */ // GIR_Coverage, 18120,
15594 /* 41453 */ GIR_Done,
15595 /* 41454 */ // Label 1012: @41454
15596 /* 41454 */ GIM_Try, /*On fail goto*//*Label 1013*/ GIMT_Encode4(41481), // Rule ID 18144 //
15597 /* 41459 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
15598 /* 41462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15599 /* 41466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15600 /* 41470 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15601 /* 41474 */ // (xor:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PXORrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
15602 /* 41474 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
15603 /* 41479 */ GIR_RootConstrainSelectedInstOperands,
15604 /* 41480 */ // GIR_Coverage, 18144,
15605 /* 41480 */ GIR_Done,
15606 /* 41481 */ // Label 1013: @41481
15607 /* 41481 */ GIM_Reject,
15608 /* 41482 */ // Label 1004: @41482
15609 /* 41482 */ GIM_Reject,
15610 /* 41483 */ // Label 848: @41483
15611 /* 41483 */ GIM_Try, /*On fail goto*//*Label 1014*/ GIMT_Encode4(42226),
15612 /* 41488 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
15613 /* 41491 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
15614 /* 41494 */ GIM_Try, /*On fail goto*//*Label 1015*/ GIMT_Encode4(41556), // Rule ID 24291 //
15615 /* 41499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15616 /* 41502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15617 /* 41506 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15618 /* 41510 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15619 /* 41514 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15620 /* 41517 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15621 /* 41521 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15622 /* 41525 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15623 /* 41529 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15624 /* 41531 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15625 /* 41538 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPXORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15626 /* 41538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rm),
15627 /* 41541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15628 /* 41543 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15629 /* 41545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15630 /* 41549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15631 /* 41554 */ GIR_RootConstrainSelectedInstOperands,
15632 /* 41555 */ // GIR_Coverage, 24291,
15633 /* 41555 */ GIR_EraseRootFromParent_Done,
15634 /* 41556 */ // Label 1015: @41556
15635 /* 41556 */ GIM_Try, /*On fail goto*//*Label 1016*/ GIMT_Encode4(41618), // Rule ID 25296 //
15636 /* 41561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15637 /* 41564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15638 /* 41568 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15639 /* 41572 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15640 /* 41576 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15641 /* 41579 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15642 /* 41583 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15643 /* 41587 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15644 /* 41591 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15645 /* 41593 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15646 /* 41600 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPXORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15647 /* 41600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15648 /* 41603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15649 /* 41605 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15650 /* 41607 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15651 /* 41611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15652 /* 41616 */ GIR_RootConstrainSelectedInstOperands,
15653 /* 41617 */ // GIR_Coverage, 25296,
15654 /* 41617 */ GIR_EraseRootFromParent_Done,
15655 /* 41618 */ // Label 1016: @41618
15656 /* 41618 */ GIM_Try, /*On fail goto*//*Label 1017*/ GIMT_Encode4(41680), // Rule ID 25307 //
15657 /* 41623 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15658 /* 41626 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15659 /* 41630 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15660 /* 41634 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15661 /* 41638 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15662 /* 41641 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15663 /* 41645 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15664 /* 41649 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15665 /* 41653 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15666 /* 41655 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15667 /* 41662 */ // (xor:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VXORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15668 /* 41662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15669 /* 41665 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15670 /* 41667 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15671 /* 41669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15672 /* 41673 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15673 /* 41678 */ GIR_RootConstrainSelectedInstOperands,
15674 /* 41679 */ // GIR_Coverage, 25307,
15675 /* 41679 */ GIR_EraseRootFromParent_Done,
15676 /* 41680 */ // Label 1017: @41680
15677 /* 41680 */ GIM_Try, /*On fail goto*//*Label 1018*/ GIMT_Encode4(41742), // Rule ID 5813 //
15678 /* 41685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15679 /* 41688 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15680 /* 41692 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15681 /* 41696 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15682 /* 41700 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15683 /* 41704 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15684 /* 41707 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15685 /* 41711 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15686 /* 41715 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15687 /* 41717 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15688 /* 41724 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15689 /* 41724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rm),
15690 /* 41727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15691 /* 41729 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15692 /* 41731 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15693 /* 41735 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15694 /* 41740 */ GIR_RootConstrainSelectedInstOperands,
15695 /* 41741 */ // GIR_Coverage, 5813,
15696 /* 41741 */ GIR_EraseRootFromParent_Done,
15697 /* 41742 */ // Label 1018: @41742
15698 /* 41742 */ GIM_Try, /*On fail goto*//*Label 1019*/ GIMT_Encode4(41804), // Rule ID 18076 //
15699 /* 41747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15700 /* 41750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15701 /* 41754 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15702 /* 41758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15703 /* 41762 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15704 /* 41766 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15705 /* 41769 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15706 /* 41773 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15707 /* 41777 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15708 /* 41779 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15709 /* 41786 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15710 /* 41786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
15711 /* 41789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15712 /* 41791 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15713 /* 41793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15714 /* 41797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15715 /* 41802 */ GIR_RootConstrainSelectedInstOperands,
15716 /* 41803 */ // GIR_Coverage, 18076,
15717 /* 41803 */ GIR_EraseRootFromParent_Done,
15718 /* 41804 */ // Label 1019: @41804
15719 /* 41804 */ GIM_Try, /*On fail goto*//*Label 1020*/ GIMT_Encode4(41866), // Rule ID 18106 //
15720 /* 41809 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15721 /* 41812 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15722 /* 41816 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15723 /* 41820 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15724 /* 41824 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15725 /* 41828 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15726 /* 41831 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15727 /* 41835 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15728 /* 41839 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15729 /* 41841 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15730 /* 41848 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15731 /* 41848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
15732 /* 41851 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15733 /* 41853 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15734 /* 41855 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15735 /* 41859 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15736 /* 41864 */ GIR_RootConstrainSelectedInstOperands,
15737 /* 41865 */ // GIR_Coverage, 18106,
15738 /* 41865 */ GIR_EraseRootFromParent_Done,
15739 /* 41866 */ // Label 1020: @41866
15740 /* 41866 */ GIM_Try, /*On fail goto*//*Label 1021*/ GIMT_Encode4(42098), // Rule ID 21936 //
15741 /* 41871 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
15742 /* 41874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15743 /* 41878 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15744 /* 41882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15745 /* 41886 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15746 /* 41892 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15747 /* 41894 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15748 /* 41896 */ // (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] })
15749 /* 41896 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
15750 /* 41899 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15751 /* 41903 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15752 /* 41908 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
15753 /* 41910 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
15754 /* 41913 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15755 /* 41917 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15756 /* 41922 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
15757 /* 41925 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
15758 /* 41929 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
15759 /* 41932 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15760 /* 41937 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15761 /* 41942 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15762 /* 41947 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
15763 /* 41950 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15764 /* 41954 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15765 /* 41959 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
15766 /* 41961 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
15767 /* 41964 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15768 /* 41968 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15769 /* 41973 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
15770 /* 41976 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
15771 /* 41980 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
15772 /* 41983 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15773 /* 41988 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15774 /* 41993 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15775 /* 41998 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
15776 /* 42001 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
15777 /* 42005 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15778 /* 42010 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
15779 /* 42012 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
15780 /* 42015 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
15781 /* 42019 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15782 /* 42024 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
15783 /* 42027 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
15784 /* 42031 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
15785 /* 42034 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
15786 /* 42039 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15787 /* 42044 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
15788 /* 42049 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
15789 /* 42052 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15790 /* 42056 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
15791 /* 42061 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
15792 /* 42064 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
15793 /* 42067 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
15794 /* 42070 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
15795 /* 42073 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
15796 /* 42075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
15797 /* 42078 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15798 /* 42080 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
15799 /* 42087 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
15800 /* 42092 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
15801 /* 42097 */ // GIR_Coverage, 21936,
15802 /* 42097 */ GIR_EraseRootFromParent_Done,
15803 /* 42098 */ // Label 1021: @42098
15804 /* 42098 */ GIM_Try, /*On fail goto*//*Label 1022*/ GIMT_Encode4(42144), // Rule ID 21944 //
15805 /* 42103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
15806 /* 42106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15807 /* 42110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15808 /* 42114 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15809 /* 42118 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15810 /* 42124 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15811 /* 42126 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15812 /* 42128 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, immAllOnesV:{ *:[v8i32] }) => (VPTERNLOGQZ256rri:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VR256X:{ *:[v8i32] }:$src, VR256X:{ *:[v8i32] }:$src, 15:{ *:[i8] })
15813 /* 42128 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
15814 /* 42131 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15815 /* 42133 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15816 /* 42135 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15817 /* 42137 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15818 /* 42139 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15819 /* 42142 */ GIR_RootConstrainSelectedInstOperands,
15820 /* 42143 */ // GIR_Coverage, 21944,
15821 /* 42143 */ GIR_EraseRootFromParent_Done,
15822 /* 42144 */ // Label 1022: @42144
15823 /* 42144 */ GIM_Try, /*On fail goto*//*Label 1023*/ GIMT_Encode4(42171), // Rule ID 5810 //
15824 /* 42149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15825 /* 42152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15826 /* 42156 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15827 /* 42160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
15828 /* 42164 */ // (xor:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPXORDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
15829 /* 42164 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZ256rr),
15830 /* 42169 */ GIR_RootConstrainSelectedInstOperands,
15831 /* 42170 */ // GIR_Coverage, 5810,
15832 /* 42170 */ GIR_Done,
15833 /* 42171 */ // Label 1023: @42171
15834 /* 42171 */ GIM_Try, /*On fail goto*//*Label 1024*/ GIMT_Encode4(42198), // Rule ID 18064 //
15835 /* 42176 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
15836 /* 42179 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15837 /* 42183 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15838 /* 42187 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15839 /* 42191 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPXORYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
15840 /* 42191 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
15841 /* 42196 */ GIR_RootConstrainSelectedInstOperands,
15842 /* 42197 */ // GIR_Coverage, 18064,
15843 /* 42197 */ GIR_Done,
15844 /* 42198 */ // Label 1024: @42198
15845 /* 42198 */ GIM_Try, /*On fail goto*//*Label 1025*/ GIMT_Encode4(42225), // Rule ID 18090 //
15846 /* 42203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
15847 /* 42206 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15848 /* 42210 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15849 /* 42214 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
15850 /* 42218 */ // (xor:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VXORPSYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
15851 /* 42218 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
15852 /* 42223 */ GIR_RootConstrainSelectedInstOperands,
15853 /* 42224 */ // GIR_Coverage, 18090,
15854 /* 42224 */ GIR_Done,
15855 /* 42225 */ // Label 1025: @42225
15856 /* 42225 */ GIM_Reject,
15857 /* 42226 */ // Label 1014: @42226
15858 /* 42226 */ GIM_Reject,
15859 /* 42227 */ // Label 849: @42227
15860 /* 42227 */ GIM_Try, /*On fail goto*//*Label 1026*/ GIMT_Encode4(42424),
15861 /* 42232 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
15862 /* 42235 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
15863 /* 42238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15864 /* 42242 */ GIM_Try, /*On fail goto*//*Label 1027*/ GIMT_Encode4(42300), // Rule ID 24285 //
15865 /* 42247 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15866 /* 42250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15867 /* 42254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15868 /* 42258 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15869 /* 42261 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15870 /* 42265 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15871 /* 42269 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15872 /* 42273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15873 /* 42275 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15874 /* 42282 */ // (xor:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPXORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15875 /* 42282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZrm),
15876 /* 42285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15877 /* 42287 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15878 /* 42289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15879 /* 42293 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15880 /* 42298 */ GIR_RootConstrainSelectedInstOperands,
15881 /* 42299 */ // GIR_Coverage, 24285,
15882 /* 42299 */ GIR_EraseRootFromParent_Done,
15883 /* 42300 */ // Label 1027: @42300
15884 /* 42300 */ GIM_Try, /*On fail goto*//*Label 1028*/ GIMT_Encode4(42358), // Rule ID 5804 //
15885 /* 42305 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15886 /* 42308 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15887 /* 42312 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15888 /* 42316 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15889 /* 42320 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15890 /* 42323 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15891 /* 42327 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15892 /* 42331 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15893 /* 42333 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15894 /* 42340 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
15895 /* 42340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORDZrm),
15896 /* 42343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15897 /* 42345 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15898 /* 42347 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15899 /* 42351 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15900 /* 42356 */ GIR_RootConstrainSelectedInstOperands,
15901 /* 42357 */ // GIR_Coverage, 5804,
15902 /* 42357 */ GIR_EraseRootFromParent_Done,
15903 /* 42358 */ // Label 1028: @42358
15904 /* 42358 */ GIM_Try, /*On fail goto*//*Label 1029*/ GIMT_Encode4(42400), // Rule ID 21928 //
15905 /* 42363 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15906 /* 42366 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15907 /* 42370 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15908 /* 42374 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
15909 /* 42380 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
15910 /* 42382 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15911 /* 42384 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, immAllOnesV:{ *:[v16i32] }) => (VPTERNLOGQZrri:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VR512:{ *:[v16i32] }:$src, VR512:{ *:[v16i32] }:$src, 15:{ *:[i8] })
15912 /* 42384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
15913 /* 42387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15914 /* 42389 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15915 /* 42391 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15916 /* 42393 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
15917 /* 42395 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
15918 /* 42398 */ GIR_RootConstrainSelectedInstOperands,
15919 /* 42399 */ // GIR_Coverage, 21928,
15920 /* 42399 */ GIR_EraseRootFromParent_Done,
15921 /* 42400 */ // Label 1029: @42400
15922 /* 42400 */ GIM_Try, /*On fail goto*//*Label 1030*/ GIMT_Encode4(42423), // Rule ID 5801 //
15923 /* 42405 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
15924 /* 42408 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15925 /* 42412 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
15926 /* 42416 */ // (xor:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPXORDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
15927 /* 42416 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORDZrr),
15928 /* 42421 */ GIR_RootConstrainSelectedInstOperands,
15929 /* 42422 */ // GIR_Coverage, 5801,
15930 /* 42422 */ GIR_Done,
15931 /* 42423 */ // Label 1030: @42423
15932 /* 42423 */ GIM_Reject,
15933 /* 42424 */ // Label 1026: @42424
15934 /* 42424 */ GIM_Reject,
15935 /* 42425 */ // Label 850: @42425
15936 /* 42425 */ GIM_Try, /*On fail goto*//*Label 1031*/ GIMT_Encode4(43044),
15937 /* 42430 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
15938 /* 42433 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
15939 /* 42436 */ GIM_Try, /*On fail goto*//*Label 1032*/ GIMT_Encode4(42498), // Rule ID 23424 //
15940 /* 42441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
15941 /* 42444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15942 /* 42448 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15943 /* 42452 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15944 /* 42456 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15945 /* 42459 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15946 /* 42463 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15947 /* 42467 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15948 /* 42471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15949 /* 42473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15950 /* 42480 */ // (xor:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src1) => (VPXORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15951 /* 42480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
15952 /* 42483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15953 /* 42485 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15954 /* 42487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15955 /* 42491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15956 /* 42496 */ GIR_RootConstrainSelectedInstOperands,
15957 /* 42497 */ // GIR_Coverage, 23424,
15958 /* 42497 */ GIR_EraseRootFromParent_Done,
15959 /* 42498 */ // Label 1032: @42498
15960 /* 42498 */ GIM_Try, /*On fail goto*//*Label 1033*/ GIMT_Encode4(42560), // Rule ID 24279 //
15961 /* 42503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
15962 /* 42506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15963 /* 42510 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
15964 /* 42514 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15965 /* 42518 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15966 /* 42521 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15967 /* 42525 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15968 /* 42529 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
15969 /* 42533 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15970 /* 42535 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15971 /* 42542 */ // (xor:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPXORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15972 /* 42542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
15973 /* 42545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15974 /* 42547 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
15975 /* 42549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15976 /* 42553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15977 /* 42558 */ GIR_RootConstrainSelectedInstOperands,
15978 /* 42559 */ // GIR_Coverage, 24279,
15979 /* 42559 */ GIR_EraseRootFromParent_Done,
15980 /* 42560 */ // Label 1033: @42560
15981 /* 42560 */ GIM_Try, /*On fail goto*//*Label 1034*/ GIMT_Encode4(42622), // Rule ID 2099 //
15982 /* 42565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
15983 /* 42568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15984 /* 42572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
15985 /* 42576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
15986 /* 42580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
15987 /* 42584 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
15988 /* 42587 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
15989 /* 42591 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
15990 /* 42595 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
15991 /* 42597 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
15992 /* 42604 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
15993 /* 42604 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORrm),
15994 /* 42607 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
15995 /* 42609 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
15996 /* 42611 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
15997 /* 42615 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
15998 /* 42620 */ GIR_RootConstrainSelectedInstOperands,
15999 /* 42621 */ // GIR_Coverage, 2099,
16000 /* 42621 */ GIR_EraseRootFromParent_Done,
16001 /* 42622 */ // Label 1034: @42622
16002 /* 42622 */ GIM_Try, /*On fail goto*//*Label 1035*/ GIMT_Encode4(42684), // Rule ID 5795 //
16003 /* 42627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
16004 /* 42630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16005 /* 42634 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16006 /* 42638 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16007 /* 42642 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16008 /* 42646 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16009 /* 42649 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16010 /* 42653 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16011 /* 42657 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16012 /* 42659 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16013 /* 42666 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
16014 /* 42666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rm),
16015 /* 42669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16016 /* 42671 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16017 /* 42673 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16018 /* 42677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16019 /* 42682 */ GIR_RootConstrainSelectedInstOperands,
16020 /* 42683 */ // GIR_Coverage, 5795,
16021 /* 42683 */ GIR_EraseRootFromParent_Done,
16022 /* 42684 */ // Label 1035: @42684
16023 /* 42684 */ GIM_Try, /*On fail goto*//*Label 1036*/ GIMT_Encode4(42916), // Rule ID 21933 //
16024 /* 42689 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
16025 /* 42692 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
16026 /* 42696 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16027 /* 42700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16028 /* 42704 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16029 /* 42710 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16030 /* 42712 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16031 /* 42714 */ // (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] })
16032 /* 42714 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
16033 /* 42717 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16034 /* 42721 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16035 /* 42726 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
16036 /* 42728 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
16037 /* 42731 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16038 /* 42735 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16039 /* 42740 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
16040 /* 42743 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
16041 /* 42747 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
16042 /* 42750 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16043 /* 42755 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16044 /* 42760 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
16045 /* 42765 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
16046 /* 42768 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16047 /* 42772 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16048 /* 42777 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
16049 /* 42779 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
16050 /* 42782 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16051 /* 42786 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16052 /* 42791 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
16053 /* 42794 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
16054 /* 42798 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
16055 /* 42801 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16056 /* 42806 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16057 /* 42811 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
16058 /* 42816 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
16059 /* 42819 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16060 /* 42823 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16061 /* 42828 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
16062 /* 42830 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
16063 /* 42833 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16064 /* 42837 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16065 /* 42842 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
16066 /* 42845 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16067 /* 42849 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
16068 /* 42852 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16069 /* 42857 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16070 /* 42862 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
16071 /* 42867 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
16072 /* 42870 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
16073 /* 42874 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16074 /* 42879 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16075 /* 42882 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
16076 /* 42885 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
16077 /* 42888 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
16078 /* 42891 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16079 /* 42893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16080 /* 42896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16081 /* 42898 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
16082 /* 42905 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
16083 /* 42910 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16084 /* 42915 */ // GIR_Coverage, 21933,
16085 /* 42915 */ GIR_EraseRootFromParent_Done,
16086 /* 42916 */ // Label 1036: @42916
16087 /* 42916 */ GIM_Try, /*On fail goto*//*Label 1037*/ GIMT_Encode4(42962), // Rule ID 21941 //
16088 /* 42921 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16089 /* 42924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16090 /* 42928 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16091 /* 42932 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16092 /* 42936 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16093 /* 42942 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16094 /* 42944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16095 /* 42946 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, immAllOnesV:{ *:[v2i64] }) => (VPTERNLOGQZ128rri:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VR128X:{ *:[v2i64] }:$src, VR128X:{ *:[v2i64] }:$src, 15:{ *:[i8] })
16096 /* 42946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ128rri),
16097 /* 42949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16098 /* 42951 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16099 /* 42953 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16100 /* 42955 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16101 /* 42957 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
16102 /* 42960 */ GIR_RootConstrainSelectedInstOperands,
16103 /* 42961 */ // GIR_Coverage, 21941,
16104 /* 42961 */ GIR_EraseRootFromParent_Done,
16105 /* 42962 */ // Label 1037: @42962
16106 /* 42962 */ GIM_Try, /*On fail goto*//*Label 1038*/ GIMT_Encode4(42989), // Rule ID 2098 //
16107 /* 42967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
16108 /* 42970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16109 /* 42974 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16110 /* 42978 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16111 /* 42982 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPXORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
16112 /* 42982 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORrr),
16113 /* 42987 */ GIR_RootConstrainSelectedInstOperands,
16114 /* 42988 */ // GIR_Coverage, 2098,
16115 /* 42988 */ GIR_Done,
16116 /* 42989 */ // Label 1038: @42989
16117 /* 42989 */ GIM_Try, /*On fail goto*//*Label 1039*/ GIMT_Encode4(43016), // Rule ID 2100 //
16118 /* 42994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
16119 /* 42997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16120 /* 43001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16121 /* 43005 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16122 /* 43009 */ // (xor:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (PXORrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
16123 /* 43009 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PXORrr),
16124 /* 43014 */ GIR_RootConstrainSelectedInstOperands,
16125 /* 43015 */ // GIR_Coverage, 2100,
16126 /* 43015 */ GIR_Done,
16127 /* 43016 */ // Label 1039: @43016
16128 /* 43016 */ GIM_Try, /*On fail goto*//*Label 1040*/ GIMT_Encode4(43043), // Rule ID 5792 //
16129 /* 43021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
16130 /* 43024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16131 /* 43028 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16132 /* 43032 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16133 /* 43036 */ // (xor:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPXORQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
16134 /* 43036 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ128rr),
16135 /* 43041 */ GIR_RootConstrainSelectedInstOperands,
16136 /* 43042 */ // GIR_Coverage, 5792,
16137 /* 43042 */ GIR_Done,
16138 /* 43043 */ // Label 1040: @43043
16139 /* 43043 */ GIM_Reject,
16140 /* 43044 */ // Label 1031: @43044
16141 /* 43044 */ GIM_Reject,
16142 /* 43045 */ // Label 851: @43045
16143 /* 43045 */ GIM_Try, /*On fail goto*//*Label 1041*/ GIMT_Encode4(43788),
16144 /* 43050 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
16145 /* 43053 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
16146 /* 43056 */ GIM_Try, /*On fail goto*//*Label 1042*/ GIMT_Encode4(43118), // Rule ID 23426 //
16147 /* 43061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
16148 /* 43064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16149 /* 43068 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16150 /* 43072 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16151 /* 43076 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16152 /* 43079 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16153 /* 43083 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16154 /* 43087 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16155 /* 43091 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16156 /* 43093 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16157 /* 43100 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VPXORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
16158 /* 43100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
16159 /* 43103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16160 /* 43105 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16161 /* 43107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16162 /* 43111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16163 /* 43116 */ GIR_RootConstrainSelectedInstOperands,
16164 /* 43117 */ // GIR_Coverage, 23426,
16165 /* 43117 */ GIR_EraseRootFromParent_Done,
16166 /* 43118 */ // Label 1042: @43118
16167 /* 43118 */ GIM_Try, /*On fail goto*//*Label 1043*/ GIMT_Encode4(43180), // Rule ID 24273 //
16168 /* 43123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
16169 /* 43126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16170 /* 43130 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16171 /* 43134 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16172 /* 43138 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16173 /* 43141 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16174 /* 43145 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16175 /* 43149 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16176 /* 43153 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16177 /* 43155 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16178 /* 43162 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPXORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
16179 /* 43162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
16180 /* 43165 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16181 /* 43167 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16182 /* 43169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16183 /* 43173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16184 /* 43178 */ GIR_RootConstrainSelectedInstOperands,
16185 /* 43179 */ // GIR_Coverage, 24273,
16186 /* 43179 */ GIR_EraseRootFromParent_Done,
16187 /* 43180 */ // Label 1043: @43180
16188 /* 43180 */ GIM_Try, /*On fail goto*//*Label 1044*/ GIMT_Encode4(43242), // Rule ID 25308 //
16189 /* 43185 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
16190 /* 43188 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16191 /* 43192 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16192 /* 43196 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16193 /* 43200 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16194 /* 43203 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16195 /* 43207 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16196 /* 43211 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16197 /* 43215 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16198 /* 43217 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16199 /* 43224 */ // (xor:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4i64] }:$src1) => (VXORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
16200 /* 43224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
16201 /* 43227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16202 /* 43229 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16203 /* 43231 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16204 /* 43235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16205 /* 43240 */ GIR_RootConstrainSelectedInstOperands,
16206 /* 43241 */ // GIR_Coverage, 25308,
16207 /* 43241 */ GIR_EraseRootFromParent_Done,
16208 /* 43242 */ // Label 1044: @43242
16209 /* 43242 */ GIM_Try, /*On fail goto*//*Label 1045*/ GIMT_Encode4(43304), // Rule ID 2103 //
16210 /* 43247 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
16211 /* 43250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16212 /* 43254 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16213 /* 43258 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16214 /* 43262 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16215 /* 43266 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16216 /* 43269 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16217 /* 43273 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16218 /* 43277 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16219 /* 43279 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16220 /* 43286 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
16221 /* 43286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORYrm),
16222 /* 43289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16223 /* 43291 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16224 /* 43293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16225 /* 43297 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16226 /* 43302 */ GIR_RootConstrainSelectedInstOperands,
16227 /* 43303 */ // GIR_Coverage, 2103,
16228 /* 43303 */ GIR_EraseRootFromParent_Done,
16229 /* 43304 */ // Label 1045: @43304
16230 /* 43304 */ GIM_Try, /*On fail goto*//*Label 1046*/ GIMT_Encode4(43366), // Rule ID 5786 //
16231 /* 43309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
16232 /* 43312 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16233 /* 43316 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16234 /* 43320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16235 /* 43324 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16236 /* 43328 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16237 /* 43331 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16238 /* 43335 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16239 /* 43339 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16240 /* 43341 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16241 /* 43348 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
16242 /* 43348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rm),
16243 /* 43351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16244 /* 43353 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16245 /* 43355 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16246 /* 43359 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16247 /* 43364 */ GIR_RootConstrainSelectedInstOperands,
16248 /* 43365 */ // GIR_Coverage, 5786,
16249 /* 43365 */ GIR_EraseRootFromParent_Done,
16250 /* 43366 */ // Label 1046: @43366
16251 /* 43366 */ GIM_Try, /*On fail goto*//*Label 1047*/ GIMT_Encode4(43428), // Rule ID 18107 //
16252 /* 43371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
16253 /* 43374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16254 /* 43378 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16255 /* 43382 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16256 /* 43386 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16257 /* 43390 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16258 /* 43393 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16259 /* 43397 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16260 /* 43401 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16261 /* 43403 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16262 /* 43410 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VXORPSYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
16263 /* 43410 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VXORPSYrm),
16264 /* 43413 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16265 /* 43415 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16266 /* 43417 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16267 /* 43421 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16268 /* 43426 */ GIR_RootConstrainSelectedInstOperands,
16269 /* 43427 */ // GIR_Coverage, 18107,
16270 /* 43427 */ GIR_EraseRootFromParent_Done,
16271 /* 43428 */ // Label 1047: @43428
16272 /* 43428 */ GIM_Try, /*On fail goto*//*Label 1048*/ GIMT_Encode4(43660), // Rule ID 21937 //
16273 /* 43433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
16274 /* 43436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16275 /* 43440 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16276 /* 43444 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16277 /* 43448 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16278 /* 43454 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16279 /* 43456 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16280 /* 43458 */ // (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] })
16281 /* 43458 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
16282 /* 43461 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16283 /* 43465 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16284 /* 43470 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
16285 /* 43472 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
16286 /* 43475 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16287 /* 43479 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16288 /* 43484 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
16289 /* 43487 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/1, // src
16290 /* 43491 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
16291 /* 43494 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16292 /* 43499 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16293 /* 43504 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
16294 /* 43509 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
16295 /* 43512 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16296 /* 43516 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16297 /* 43521 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
16298 /* 43523 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
16299 /* 43526 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16300 /* 43530 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16301 /* 43535 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
16302 /* 43538 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src
16303 /* 43542 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
16304 /* 43545 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16305 /* 43550 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16306 /* 43555 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
16307 /* 43560 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
16308 /* 43563 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
16309 /* 43567 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16310 /* 43572 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
16311 /* 43574 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
16312 /* 43577 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
16313 /* 43581 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16314 /* 43586 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
16315 /* 43589 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
16316 /* 43593 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
16317 /* 43596 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
16318 /* 43601 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16319 /* 43606 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
16320 /* 43611 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
16321 /* 43614 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
16322 /* 43618 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
16323 /* 43623 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
16324 /* 43626 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
16325 /* 43629 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
16326 /* 43632 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/15,
16327 /* 43635 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
16328 /* 43637 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
16329 /* 43640 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16330 /* 43642 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
16331 /* 43649 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
16332 /* 43654 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
16333 /* 43659 */ // GIR_Coverage, 21937,
16334 /* 43659 */ GIR_EraseRootFromParent_Done,
16335 /* 43660 */ // Label 1048: @43660
16336 /* 43660 */ GIM_Try, /*On fail goto*//*Label 1049*/ GIMT_Encode4(43706), // Rule ID 21945 //
16337 /* 43665 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
16338 /* 43668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16339 /* 43672 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16340 /* 43676 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16341 /* 43680 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16342 /* 43686 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16343 /* 43688 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16344 /* 43690 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, immAllOnesV:{ *:[v4i64] }) => (VPTERNLOGQZ256rri:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VR256X:{ *:[v4i64] }:$src, VR256X:{ *:[v4i64] }:$src, 15:{ *:[i8] })
16345 /* 43690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZ256rri),
16346 /* 43693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16347 /* 43695 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16348 /* 43697 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16349 /* 43699 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16350 /* 43701 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
16351 /* 43704 */ GIR_RootConstrainSelectedInstOperands,
16352 /* 43705 */ // GIR_Coverage, 21945,
16353 /* 43705 */ GIR_EraseRootFromParent_Done,
16354 /* 43706 */ // Label 1049: @43706
16355 /* 43706 */ GIM_Try, /*On fail goto*//*Label 1050*/ GIMT_Encode4(43733), // Rule ID 2102 //
16356 /* 43711 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
16357 /* 43714 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16358 /* 43718 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16359 /* 43722 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16360 /* 43726 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPXORYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
16361 /* 43726 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORYrr),
16362 /* 43731 */ GIR_RootConstrainSelectedInstOperands,
16363 /* 43732 */ // GIR_Coverage, 2102,
16364 /* 43732 */ GIR_Done,
16365 /* 43733 */ // Label 1050: @43733
16366 /* 43733 */ GIM_Try, /*On fail goto*//*Label 1051*/ GIMT_Encode4(43760), // Rule ID 5783 //
16367 /* 43738 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
16368 /* 43741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16369 /* 43745 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16370 /* 43749 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16371 /* 43753 */ // (xor:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPXORQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
16372 /* 43753 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZ256rr),
16373 /* 43758 */ GIR_RootConstrainSelectedInstOperands,
16374 /* 43759 */ // GIR_Coverage, 5783,
16375 /* 43759 */ GIR_Done,
16376 /* 43760 */ // Label 1051: @43760
16377 /* 43760 */ GIM_Try, /*On fail goto*//*Label 1052*/ GIMT_Encode4(43787), // Rule ID 18091 //
16378 /* 43765 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX1Only),
16379 /* 43768 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16380 /* 43772 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16381 /* 43776 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16382 /* 43780 */ // (xor:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VXORPSYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
16383 /* 43780 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VXORPSYrr),
16384 /* 43785 */ GIR_RootConstrainSelectedInstOperands,
16385 /* 43786 */ // GIR_Coverage, 18091,
16386 /* 43786 */ GIR_Done,
16387 /* 43787 */ // Label 1052: @43787
16388 /* 43787 */ GIM_Reject,
16389 /* 43788 */ // Label 1041: @43788
16390 /* 43788 */ GIM_Reject,
16391 /* 43789 */ // Label 852: @43789
16392 /* 43789 */ GIM_Try, /*On fail goto*//*Label 1053*/ GIMT_Encode4(43986),
16393 /* 43794 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
16394 /* 43797 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
16395 /* 43800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16396 /* 43804 */ GIM_Try, /*On fail goto*//*Label 1054*/ GIMT_Encode4(43862), // Rule ID 24267 //
16397 /* 43809 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16398 /* 43812 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16399 /* 43816 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16400 /* 43820 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16401 /* 43823 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16402 /* 43827 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16403 /* 43831 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16404 /* 43835 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16405 /* 43837 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16406 /* 43844 */ // (xor:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPXORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
16407 /* 43844 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
16408 /* 43847 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16409 /* 43849 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16410 /* 43851 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16411 /* 43855 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16412 /* 43860 */ GIR_RootConstrainSelectedInstOperands,
16413 /* 43861 */ // GIR_Coverage, 24267,
16414 /* 43861 */ GIR_EraseRootFromParent_Done,
16415 /* 43862 */ // Label 1054: @43862
16416 /* 43862 */ GIM_Try, /*On fail goto*//*Label 1055*/ GIMT_Encode4(43920), // Rule ID 5777 //
16417 /* 43867 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16418 /* 43870 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16419 /* 43874 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16420 /* 43878 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16421 /* 43882 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16422 /* 43885 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16423 /* 43889 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16424 /* 43893 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16425 /* 43895 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16426 /* 43902 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPXORQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
16427 /* 43902 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPXORQZrm),
16428 /* 43905 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16429 /* 43907 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16430 /* 43909 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16431 /* 43913 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16432 /* 43918 */ GIR_RootConstrainSelectedInstOperands,
16433 /* 43919 */ // GIR_Coverage, 5777,
16434 /* 43919 */ GIR_EraseRootFromParent_Done,
16435 /* 43920 */ // Label 1055: @43920
16436 /* 43920 */ GIM_Try, /*On fail goto*//*Label 1056*/ GIMT_Encode4(43962), // Rule ID 21929 //
16437 /* 43925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16438 /* 43928 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16439 /* 43932 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16440 /* 43936 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
16441 /* 43942 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
16442 /* 43944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16443 /* 43946 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, immAllOnesV:{ *:[v8i64] }) => (VPTERNLOGQZrri:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VR512:{ *:[v8i64] }:$src, VR512:{ *:[v8i64] }:$src, 15:{ *:[i8] })
16444 /* 43946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPTERNLOGQZrri),
16445 /* 43949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16446 /* 43951 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16447 /* 43953 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16448 /* 43955 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
16449 /* 43957 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/15,
16450 /* 43960 */ GIR_RootConstrainSelectedInstOperands,
16451 /* 43961 */ // GIR_Coverage, 21929,
16452 /* 43961 */ GIR_EraseRootFromParent_Done,
16453 /* 43962 */ // Label 1056: @43962
16454 /* 43962 */ GIM_Try, /*On fail goto*//*Label 1057*/ GIMT_Encode4(43985), // Rule ID 5774 //
16455 /* 43967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
16456 /* 43970 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16457 /* 43974 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16458 /* 43978 */ // (xor:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPXORQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
16459 /* 43978 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPXORQZrr),
16460 /* 43983 */ GIR_RootConstrainSelectedInstOperands,
16461 /* 43984 */ // GIR_Coverage, 5774,
16462 /* 43984 */ GIR_Done,
16463 /* 43985 */ // Label 1057: @43985
16464 /* 43985 */ GIM_Reject,
16465 /* 43986 */ // Label 1053: @43986
16466 /* 43986 */ GIM_Reject,
16467 /* 43987 */ // Label 853: @43987
16468 /* 43987 */ GIM_Reject,
16469 /* 43988 */ // Label 6: @43988
16470 /* 43988 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(19), /*)*//*default:*//*Label 1064*/ GIMT_Encode4(45649),
16471 /* 43999 */ /*GILLT_v16s8*//*Label 1058*/ GIMT_Encode4(44023),
16472 /* 44003 */ /*GILLT_v32s8*//*Label 1059*/ GIMT_Encode4(44365),
16473 /* 44007 */ /*GILLT_v64s8*//*Label 1060*/ GIMT_Encode4(44680),
16474 /* 44011 */ /*GILLT_v8s16*//*Label 1061*/ GIMT_Encode4(44836),
16475 /* 44015 */ /*GILLT_v16s16*//*Label 1062*/ GIMT_Encode4(45178),
16476 /* 44019 */ /*GILLT_v32s16*//*Label 1063*/ GIMT_Encode4(45493),
16477 /* 44023 */ // Label 1058: @44023
16478 /* 44023 */ GIM_Try, /*On fail goto*//*Label 1065*/ GIMT_Encode4(44364),
16479 /* 44028 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
16480 /* 44031 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
16481 /* 44034 */ GIM_Try, /*On fail goto*//*Label 1066*/ GIMT_Encode4(44096), // Rule ID 23532 //
16482 /* 44039 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
16483 /* 44042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16484 /* 44046 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16485 /* 44050 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16486 /* 44054 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16487 /* 44057 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16488 /* 44061 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16489 /* 44065 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16490 /* 44069 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16491 /* 44071 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16492 /* 44078 */ // (avgceilu:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPAVGBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16493 /* 44078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBrm),
16494 /* 44081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16495 /* 44083 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16496 /* 44085 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16497 /* 44089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16498 /* 44094 */ GIR_RootConstrainSelectedInstOperands,
16499 /* 44095 */ // GIR_Coverage, 23532,
16500 /* 44095 */ GIR_EraseRootFromParent_Done,
16501 /* 44096 */ // Label 1066: @44096
16502 /* 44096 */ GIM_Try, /*On fail goto*//*Label 1067*/ GIMT_Encode4(44158), // Rule ID 23931 //
16503 /* 44101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16504 /* 44104 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16505 /* 44108 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16506 /* 44112 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16507 /* 44116 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16508 /* 44119 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16509 /* 44123 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16510 /* 44127 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16511 /* 44131 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16512 /* 44133 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16513 /* 44140 */ // (avgceilu:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPAVGBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16514 /* 44140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ128rm),
16515 /* 44143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16516 /* 44145 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16517 /* 44147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16518 /* 44151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16519 /* 44156 */ GIR_RootConstrainSelectedInstOperands,
16520 /* 44157 */ // GIR_Coverage, 23931,
16521 /* 44157 */ GIR_EraseRootFromParent_Done,
16522 /* 44158 */ // Label 1067: @44158
16523 /* 44158 */ GIM_Try, /*On fail goto*//*Label 1068*/ GIMT_Encode4(44220), // Rule ID 2637 //
16524 /* 44163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
16525 /* 44166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16526 /* 44170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16527 /* 44174 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16528 /* 44178 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16529 /* 44182 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16530 /* 44185 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16531 /* 44189 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16532 /* 44193 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16533 /* 44195 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16534 /* 44202 */ // (avgceilu:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16535 /* 44202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBrm),
16536 /* 44205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16537 /* 44207 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16538 /* 44209 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16539 /* 44213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16540 /* 44218 */ GIR_RootConstrainSelectedInstOperands,
16541 /* 44219 */ // GIR_Coverage, 2637,
16542 /* 44219 */ GIR_EraseRootFromParent_Done,
16543 /* 44220 */ // Label 1068: @44220
16544 /* 44220 */ GIM_Try, /*On fail goto*//*Label 1069*/ GIMT_Encode4(44282), // Rule ID 5096 //
16545 /* 44225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16546 /* 44228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16547 /* 44232 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16548 /* 44236 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16549 /* 44240 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16550 /* 44244 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16551 /* 44247 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16552 /* 44251 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16553 /* 44255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16554 /* 44257 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16555 /* 44264 */ // (avgceilu:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16556 /* 44264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ128rm),
16557 /* 44267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16558 /* 44269 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16559 /* 44271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16560 /* 44275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16561 /* 44280 */ GIR_RootConstrainSelectedInstOperands,
16562 /* 44281 */ // GIR_Coverage, 5096,
16563 /* 44281 */ GIR_EraseRootFromParent_Done,
16564 /* 44282 */ // Label 1069: @44282
16565 /* 44282 */ GIM_Try, /*On fail goto*//*Label 1070*/ GIMT_Encode4(44309), // Rule ID 2636 //
16566 /* 44287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
16567 /* 44290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16568 /* 44294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16569 /* 44298 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16570 /* 44302 */ // (avgceilu:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPAVGBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
16571 /* 44302 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBrr),
16572 /* 44307 */ GIR_RootConstrainSelectedInstOperands,
16573 /* 44308 */ // GIR_Coverage, 2636,
16574 /* 44308 */ GIR_Done,
16575 /* 44309 */ // Label 1070: @44309
16576 /* 44309 */ GIM_Try, /*On fail goto*//*Label 1071*/ GIMT_Encode4(44336), // Rule ID 2638 //
16577 /* 44314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
16578 /* 44317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16579 /* 44321 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16580 /* 44325 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16581 /* 44329 */ // (avgceilu:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PAVGBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
16582 /* 44329 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PAVGBrr),
16583 /* 44334 */ GIR_RootConstrainSelectedInstOperands,
16584 /* 44335 */ // GIR_Coverage, 2638,
16585 /* 44335 */ GIR_Done,
16586 /* 44336 */ // Label 1071: @44336
16587 /* 44336 */ GIM_Try, /*On fail goto*//*Label 1072*/ GIMT_Encode4(44363), // Rule ID 5093 //
16588 /* 44341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16589 /* 44344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16590 /* 44348 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16591 /* 44352 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16592 /* 44356 */ // (avgceilu:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPAVGBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
16593 /* 44356 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ128rr),
16594 /* 44361 */ GIR_RootConstrainSelectedInstOperands,
16595 /* 44362 */ // GIR_Coverage, 5093,
16596 /* 44362 */ GIR_Done,
16597 /* 44363 */ // Label 1072: @44363
16598 /* 44363 */ GIM_Reject,
16599 /* 44364 */ // Label 1065: @44364
16600 /* 44364 */ GIM_Reject,
16601 /* 44365 */ // Label 1059: @44365
16602 /* 44365 */ GIM_Try, /*On fail goto*//*Label 1073*/ GIMT_Encode4(44679),
16603 /* 44370 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
16604 /* 44373 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
16605 /* 44376 */ GIM_Try, /*On fail goto*//*Label 1074*/ GIMT_Encode4(44438), // Rule ID 23534 //
16606 /* 44381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
16607 /* 44384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16608 /* 44388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16609 /* 44392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16610 /* 44396 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16611 /* 44399 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16612 /* 44403 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16613 /* 44407 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16614 /* 44411 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16615 /* 44413 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16616 /* 44420 */ // (avgceilu:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPAVGBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16617 /* 44420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBYrm),
16618 /* 44423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16619 /* 44425 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16620 /* 44427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16621 /* 44431 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16622 /* 44436 */ GIR_RootConstrainSelectedInstOperands,
16623 /* 44437 */ // GIR_Coverage, 23534,
16624 /* 44437 */ GIR_EraseRootFromParent_Done,
16625 /* 44438 */ // Label 1074: @44438
16626 /* 44438 */ GIM_Try, /*On fail goto*//*Label 1075*/ GIMT_Encode4(44500), // Rule ID 23928 //
16627 /* 44443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16628 /* 44446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16629 /* 44450 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16630 /* 44454 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16631 /* 44458 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16632 /* 44461 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16633 /* 44465 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16634 /* 44469 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16635 /* 44473 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16636 /* 44475 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16637 /* 44482 */ // (avgceilu:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPAVGBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16638 /* 44482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ256rm),
16639 /* 44485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16640 /* 44487 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16641 /* 44489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16642 /* 44493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16643 /* 44498 */ GIR_RootConstrainSelectedInstOperands,
16644 /* 44499 */ // GIR_Coverage, 23928,
16645 /* 44499 */ GIR_EraseRootFromParent_Done,
16646 /* 44500 */ // Label 1075: @44500
16647 /* 44500 */ GIM_Try, /*On fail goto*//*Label 1076*/ GIMT_Encode4(44562), // Rule ID 2641 //
16648 /* 44505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
16649 /* 44508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16650 /* 44512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16651 /* 44516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16652 /* 44520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16653 /* 44524 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16654 /* 44527 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16655 /* 44531 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16656 /* 44535 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16657 /* 44537 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16658 /* 44544 */ // (avgceilu:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16659 /* 44544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBYrm),
16660 /* 44547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16661 /* 44549 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16662 /* 44551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16663 /* 44555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16664 /* 44560 */ GIR_RootConstrainSelectedInstOperands,
16665 /* 44561 */ // GIR_Coverage, 2641,
16666 /* 44561 */ GIR_EraseRootFromParent_Done,
16667 /* 44562 */ // Label 1076: @44562
16668 /* 44562 */ GIM_Try, /*On fail goto*//*Label 1077*/ GIMT_Encode4(44624), // Rule ID 5090 //
16669 /* 44567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16670 /* 44570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16671 /* 44574 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16672 /* 44578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16673 /* 44582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16674 /* 44586 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16675 /* 44589 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16676 /* 44593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16677 /* 44597 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16678 /* 44599 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16679 /* 44606 */ // (avgceilu:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16680 /* 44606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ256rm),
16681 /* 44609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16682 /* 44611 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16683 /* 44613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16684 /* 44617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16685 /* 44622 */ GIR_RootConstrainSelectedInstOperands,
16686 /* 44623 */ // GIR_Coverage, 5090,
16687 /* 44623 */ GIR_EraseRootFromParent_Done,
16688 /* 44624 */ // Label 1077: @44624
16689 /* 44624 */ GIM_Try, /*On fail goto*//*Label 1078*/ GIMT_Encode4(44651), // Rule ID 2640 //
16690 /* 44629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
16691 /* 44632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16692 /* 44636 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16693 /* 44640 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16694 /* 44644 */ // (avgceilu:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPAVGBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
16695 /* 44644 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBYrr),
16696 /* 44649 */ GIR_RootConstrainSelectedInstOperands,
16697 /* 44650 */ // GIR_Coverage, 2640,
16698 /* 44650 */ GIR_Done,
16699 /* 44651 */ // Label 1078: @44651
16700 /* 44651 */ GIM_Try, /*On fail goto*//*Label 1079*/ GIMT_Encode4(44678), // Rule ID 5087 //
16701 /* 44656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16702 /* 44659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16703 /* 44663 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16704 /* 44667 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16705 /* 44671 */ // (avgceilu:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPAVGBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
16706 /* 44671 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBZ256rr),
16707 /* 44676 */ GIR_RootConstrainSelectedInstOperands,
16708 /* 44677 */ // GIR_Coverage, 5087,
16709 /* 44677 */ GIR_Done,
16710 /* 44678 */ // Label 1079: @44678
16711 /* 44678 */ GIM_Reject,
16712 /* 44679 */ // Label 1073: @44679
16713 /* 44679 */ GIM_Reject,
16714 /* 44680 */ // Label 1060: @44680
16715 /* 44680 */ GIM_Try, /*On fail goto*//*Label 1080*/ GIMT_Encode4(44835),
16716 /* 44685 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
16717 /* 44688 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
16718 /* 44691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16719 /* 44695 */ GIM_Try, /*On fail goto*//*Label 1081*/ GIMT_Encode4(44753), // Rule ID 23925 //
16720 /* 44700 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16721 /* 44703 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16722 /* 44707 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16723 /* 44711 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16724 /* 44714 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16725 /* 44718 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16726 /* 44722 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16727 /* 44726 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16728 /* 44728 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16729 /* 44735 */ // (avgceilu:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPAVGBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16730 /* 44735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZrm),
16731 /* 44738 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16732 /* 44740 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16733 /* 44742 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16734 /* 44746 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16735 /* 44751 */ GIR_RootConstrainSelectedInstOperands,
16736 /* 44752 */ // GIR_Coverage, 23925,
16737 /* 44752 */ GIR_EraseRootFromParent_Done,
16738 /* 44753 */ // Label 1081: @44753
16739 /* 44753 */ GIM_Try, /*On fail goto*//*Label 1082*/ GIMT_Encode4(44811), // Rule ID 5084 //
16740 /* 44758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16741 /* 44761 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16742 /* 44765 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16743 /* 44769 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16744 /* 44773 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16745 /* 44776 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16746 /* 44780 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16747 /* 44784 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16748 /* 44786 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16749 /* 44793 */ // (avgceilu:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
16750 /* 44793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGBZrm),
16751 /* 44796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16752 /* 44798 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16753 /* 44800 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16754 /* 44804 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16755 /* 44809 */ GIR_RootConstrainSelectedInstOperands,
16756 /* 44810 */ // GIR_Coverage, 5084,
16757 /* 44810 */ GIR_EraseRootFromParent_Done,
16758 /* 44811 */ // Label 1082: @44811
16759 /* 44811 */ GIM_Try, /*On fail goto*//*Label 1083*/ GIMT_Encode4(44834), // Rule ID 5081 //
16760 /* 44816 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
16761 /* 44819 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16762 /* 44823 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
16763 /* 44827 */ // (avgceilu:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPAVGBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
16764 /* 44827 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGBZrr),
16765 /* 44832 */ GIR_RootConstrainSelectedInstOperands,
16766 /* 44833 */ // GIR_Coverage, 5081,
16767 /* 44833 */ GIR_Done,
16768 /* 44834 */ // Label 1083: @44834
16769 /* 44834 */ GIM_Reject,
16770 /* 44835 */ // Label 1080: @44835
16771 /* 44835 */ GIM_Reject,
16772 /* 44836 */ // Label 1061: @44836
16773 /* 44836 */ GIM_Try, /*On fail goto*//*Label 1084*/ GIMT_Encode4(45177),
16774 /* 44841 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
16775 /* 44844 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
16776 /* 44847 */ GIM_Try, /*On fail goto*//*Label 1085*/ GIMT_Encode4(44909), // Rule ID 23535 //
16777 /* 44852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
16778 /* 44855 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16779 /* 44859 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16780 /* 44863 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16781 /* 44867 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16782 /* 44870 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16783 /* 44874 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16784 /* 44878 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16785 /* 44882 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16786 /* 44884 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16787 /* 44891 */ // (avgceilu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPAVGWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16788 /* 44891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWrm),
16789 /* 44894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16790 /* 44896 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16791 /* 44898 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16792 /* 44902 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16793 /* 44907 */ GIR_RootConstrainSelectedInstOperands,
16794 /* 44908 */ // GIR_Coverage, 23535,
16795 /* 44908 */ GIR_EraseRootFromParent_Done,
16796 /* 44909 */ // Label 1085: @44909
16797 /* 44909 */ GIM_Try, /*On fail goto*//*Label 1086*/ GIMT_Encode4(44971), // Rule ID 23922 //
16798 /* 44914 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16799 /* 44917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16800 /* 44921 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16801 /* 44925 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16802 /* 44929 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16803 /* 44932 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16804 /* 44936 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16805 /* 44940 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16806 /* 44944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16807 /* 44946 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16808 /* 44953 */ // (avgceilu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPAVGWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16809 /* 44953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ128rm),
16810 /* 44956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16811 /* 44958 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16812 /* 44960 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16813 /* 44964 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16814 /* 44969 */ GIR_RootConstrainSelectedInstOperands,
16815 /* 44970 */ // GIR_Coverage, 23922,
16816 /* 44970 */ GIR_EraseRootFromParent_Done,
16817 /* 44971 */ // Label 1086: @44971
16818 /* 44971 */ GIM_Try, /*On fail goto*//*Label 1087*/ GIMT_Encode4(45033), // Rule ID 2643 //
16819 /* 44976 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
16820 /* 44979 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16821 /* 44983 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16822 /* 44987 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16823 /* 44991 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16824 /* 44995 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16825 /* 44998 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16826 /* 45002 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16827 /* 45006 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16828 /* 45008 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16829 /* 45015 */ // (avgceilu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16830 /* 45015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWrm),
16831 /* 45018 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16832 /* 45020 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16833 /* 45022 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16834 /* 45026 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16835 /* 45031 */ GIR_RootConstrainSelectedInstOperands,
16836 /* 45032 */ // GIR_Coverage, 2643,
16837 /* 45032 */ GIR_EraseRootFromParent_Done,
16838 /* 45033 */ // Label 1087: @45033
16839 /* 45033 */ GIM_Try, /*On fail goto*//*Label 1088*/ GIMT_Encode4(45095), // Rule ID 5078 //
16840 /* 45038 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16841 /* 45041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16842 /* 45045 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16843 /* 45049 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16844 /* 45053 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16845 /* 45057 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16846 /* 45060 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16847 /* 45064 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16848 /* 45068 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16849 /* 45070 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16850 /* 45077 */ // (avgceilu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16851 /* 45077 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ128rm),
16852 /* 45080 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16853 /* 45082 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16854 /* 45084 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16855 /* 45088 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16856 /* 45093 */ GIR_RootConstrainSelectedInstOperands,
16857 /* 45094 */ // GIR_Coverage, 5078,
16858 /* 45094 */ GIR_EraseRootFromParent_Done,
16859 /* 45095 */ // Label 1088: @45095
16860 /* 45095 */ GIM_Try, /*On fail goto*//*Label 1089*/ GIMT_Encode4(45122), // Rule ID 2642 //
16861 /* 45100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
16862 /* 45103 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16863 /* 45107 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16864 /* 45111 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16865 /* 45115 */ // (avgceilu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPAVGWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
16866 /* 45115 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWrr),
16867 /* 45120 */ GIR_RootConstrainSelectedInstOperands,
16868 /* 45121 */ // GIR_Coverage, 2642,
16869 /* 45121 */ GIR_Done,
16870 /* 45122 */ // Label 1089: @45122
16871 /* 45122 */ GIM_Try, /*On fail goto*//*Label 1090*/ GIMT_Encode4(45149), // Rule ID 2644 //
16872 /* 45127 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
16873 /* 45130 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16874 /* 45134 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16875 /* 45138 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
16876 /* 45142 */ // (avgceilu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PAVGWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
16877 /* 45142 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PAVGWrr),
16878 /* 45147 */ GIR_RootConstrainSelectedInstOperands,
16879 /* 45148 */ // GIR_Coverage, 2644,
16880 /* 45148 */ GIR_Done,
16881 /* 45149 */ // Label 1090: @45149
16882 /* 45149 */ GIM_Try, /*On fail goto*//*Label 1091*/ GIMT_Encode4(45176), // Rule ID 5075 //
16883 /* 45154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16884 /* 45157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16885 /* 45161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16886 /* 45165 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
16887 /* 45169 */ // (avgceilu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPAVGWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
16888 /* 45169 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ128rr),
16889 /* 45174 */ GIR_RootConstrainSelectedInstOperands,
16890 /* 45175 */ // GIR_Coverage, 5075,
16891 /* 45175 */ GIR_Done,
16892 /* 45176 */ // Label 1091: @45176
16893 /* 45176 */ GIM_Reject,
16894 /* 45177 */ // Label 1084: @45177
16895 /* 45177 */ GIM_Reject,
16896 /* 45178 */ // Label 1062: @45178
16897 /* 45178 */ GIM_Try, /*On fail goto*//*Label 1092*/ GIMT_Encode4(45492),
16898 /* 45183 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
16899 /* 45186 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
16900 /* 45189 */ GIM_Try, /*On fail goto*//*Label 1093*/ GIMT_Encode4(45251), // Rule ID 23537 //
16901 /* 45194 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
16902 /* 45197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16903 /* 45201 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16904 /* 45205 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16905 /* 45209 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16906 /* 45212 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16907 /* 45216 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16908 /* 45220 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16909 /* 45224 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16910 /* 45226 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16911 /* 45233 */ // (avgceilu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPAVGWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16912 /* 45233 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWYrm),
16913 /* 45236 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16914 /* 45238 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16915 /* 45240 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16916 /* 45244 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16917 /* 45249 */ GIR_RootConstrainSelectedInstOperands,
16918 /* 45250 */ // GIR_Coverage, 23537,
16919 /* 45250 */ GIR_EraseRootFromParent_Done,
16920 /* 45251 */ // Label 1093: @45251
16921 /* 45251 */ GIM_Try, /*On fail goto*//*Label 1094*/ GIMT_Encode4(45313), // Rule ID 23919 //
16922 /* 45256 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16923 /* 45259 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16924 /* 45263 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
16925 /* 45267 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16926 /* 45271 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16927 /* 45274 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16928 /* 45278 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16929 /* 45282 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16930 /* 45286 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16931 /* 45288 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16932 /* 45295 */ // (avgceilu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPAVGWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16933 /* 45295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ256rm),
16934 /* 45298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16935 /* 45300 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
16936 /* 45302 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16937 /* 45306 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16938 /* 45311 */ GIR_RootConstrainSelectedInstOperands,
16939 /* 45312 */ // GIR_Coverage, 23919,
16940 /* 45312 */ GIR_EraseRootFromParent_Done,
16941 /* 45313 */ // Label 1094: @45313
16942 /* 45313 */ GIM_Try, /*On fail goto*//*Label 1095*/ GIMT_Encode4(45375), // Rule ID 2647 //
16943 /* 45318 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
16944 /* 45321 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16945 /* 45325 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16946 /* 45329 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16947 /* 45333 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16948 /* 45337 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16949 /* 45340 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16950 /* 45344 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16951 /* 45348 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16952 /* 45350 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16953 /* 45357 */ // (avgceilu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16954 /* 45357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWYrm),
16955 /* 45360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16956 /* 45362 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16957 /* 45364 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16958 /* 45368 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16959 /* 45373 */ GIR_RootConstrainSelectedInstOperands,
16960 /* 45374 */ // GIR_Coverage, 2647,
16961 /* 45374 */ GIR_EraseRootFromParent_Done,
16962 /* 45375 */ // Label 1095: @45375
16963 /* 45375 */ GIM_Try, /*On fail goto*//*Label 1096*/ GIMT_Encode4(45437), // Rule ID 5072 //
16964 /* 45380 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16965 /* 45383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16966 /* 45387 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16967 /* 45391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
16968 /* 45395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
16969 /* 45399 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
16970 /* 45402 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
16971 /* 45406 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
16972 /* 45410 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
16973 /* 45412 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
16974 /* 45419 */ // (avgceilu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
16975 /* 45419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ256rm),
16976 /* 45422 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
16977 /* 45424 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
16978 /* 45426 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
16979 /* 45430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
16980 /* 45435 */ GIR_RootConstrainSelectedInstOperands,
16981 /* 45436 */ // GIR_Coverage, 5072,
16982 /* 45436 */ GIR_EraseRootFromParent_Done,
16983 /* 45437 */ // Label 1096: @45437
16984 /* 45437 */ GIM_Try, /*On fail goto*//*Label 1097*/ GIMT_Encode4(45464), // Rule ID 2646 //
16985 /* 45442 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
16986 /* 45445 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16987 /* 45449 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16988 /* 45453 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
16989 /* 45457 */ // (avgceilu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPAVGWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
16990 /* 45457 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWYrr),
16991 /* 45462 */ GIR_RootConstrainSelectedInstOperands,
16992 /* 45463 */ // GIR_Coverage, 2646,
16993 /* 45463 */ GIR_Done,
16994 /* 45464 */ // Label 1097: @45464
16995 /* 45464 */ GIM_Try, /*On fail goto*//*Label 1098*/ GIMT_Encode4(45491), // Rule ID 5069 //
16996 /* 45469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
16997 /* 45472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16998 /* 45476 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
16999 /* 45480 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
17000 /* 45484 */ // (avgceilu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPAVGWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
17001 /* 45484 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWZ256rr),
17002 /* 45489 */ GIR_RootConstrainSelectedInstOperands,
17003 /* 45490 */ // GIR_Coverage, 5069,
17004 /* 45490 */ GIR_Done,
17005 /* 45491 */ // Label 1098: @45491
17006 /* 45491 */ GIM_Reject,
17007 /* 45492 */ // Label 1092: @45492
17008 /* 45492 */ GIM_Reject,
17009 /* 45493 */ // Label 1063: @45493
17010 /* 45493 */ GIM_Try, /*On fail goto*//*Label 1099*/ GIMT_Encode4(45648),
17011 /* 45498 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
17012 /* 45501 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
17013 /* 45504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17014 /* 45508 */ GIM_Try, /*On fail goto*//*Label 1100*/ GIMT_Encode4(45566), // Rule ID 23916 //
17015 /* 45513 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17016 /* 45516 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17017 /* 45520 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17018 /* 45524 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17019 /* 45527 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17020 /* 45531 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17021 /* 45535 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17022 /* 45539 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17023 /* 45541 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17024 /* 45548 */ // (avgceilu:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPAVGWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
17025 /* 45548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZrm),
17026 /* 45551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17027 /* 45553 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
17028 /* 45555 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17029 /* 45559 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17030 /* 45564 */ GIR_RootConstrainSelectedInstOperands,
17031 /* 45565 */ // GIR_Coverage, 23916,
17032 /* 45565 */ GIR_EraseRootFromParent_Done,
17033 /* 45566 */ // Label 1100: @45566
17034 /* 45566 */ GIM_Try, /*On fail goto*//*Label 1101*/ GIMT_Encode4(45624), // Rule ID 5066 //
17035 /* 45571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17036 /* 45574 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17037 /* 45578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
17038 /* 45582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17039 /* 45586 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17040 /* 45589 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17041 /* 45593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17042 /* 45597 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17043 /* 45599 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17044 /* 45606 */ // (avgceilu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPAVGWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
17045 /* 45606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPAVGWZrm),
17046 /* 45609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17047 /* 45611 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17048 /* 45613 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
17049 /* 45617 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17050 /* 45622 */ GIR_RootConstrainSelectedInstOperands,
17051 /* 45623 */ // GIR_Coverage, 5066,
17052 /* 45623 */ GIR_EraseRootFromParent_Done,
17053 /* 45624 */ // Label 1101: @45624
17054 /* 45624 */ GIM_Try, /*On fail goto*//*Label 1102*/ GIMT_Encode4(45647), // Rule ID 5063 //
17055 /* 45629 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17056 /* 45632 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17057 /* 45636 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
17058 /* 45640 */ // (avgceilu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPAVGWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
17059 /* 45640 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPAVGWZrr),
17060 /* 45645 */ GIR_RootConstrainSelectedInstOperands,
17061 /* 45646 */ // GIR_Coverage, 5063,
17062 /* 45646 */ GIR_Done,
17063 /* 45647 */ // Label 1102: @45647
17064 /* 45647 */ GIM_Reject,
17065 /* 45648 */ // Label 1099: @45648
17066 /* 45648 */ GIM_Reject,
17067 /* 45649 */ // Label 1064: @45649
17068 /* 45649 */ GIM_Reject,
17069 /* 45650 */ // Label 7: @45650
17070 /* 45650 */ GIM_Try, /*On fail goto*//*Label 1103*/ GIMT_Encode4(45796),
17071 /* 45655 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
17072 /* 45658 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(10), GIMT_Encode2(13), /*)*//*default:*//*Label 1107*/ GIMT_Encode4(45795),
17073 /* 45669 */ /*GILLT_v16s1*//*Label 1104*/ GIMT_Encode4(45681),
17074 /* 45673 */ /*GILLT_v32s1*//*Label 1105*/ GIMT_Encode4(45719),
17075 /* 45677 */ /*GILLT_v64s1*//*Label 1106*/ GIMT_Encode4(45757),
17076 /* 45681 */ // Label 1104: @45681
17077 /* 45681 */ GIM_Try, /*On fail goto*//*Label 1108*/ GIMT_Encode4(45718), // Rule ID 19477 //
17078 /* 45686 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17079 /* 45689 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
17080 /* 45692 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
17081 /* 45695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
17082 /* 45699 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
17083 /* 45703 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
17084 /* 45707 */ // (concat_vectors:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src1, VK8:{ *:[v8i1] }:$src2) => (KUNPCKBWkk:{ *:[v16i1] } VK8:{ *:[v8i1] }:$src2, VK8:{ *:[v8i1] }:$src1)
17085 /* 45707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKBWkk),
17086 /* 45710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17087 /* 45712 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
17088 /* 45714 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17089 /* 45716 */ GIR_RootConstrainSelectedInstOperands,
17090 /* 45717 */ // GIR_Coverage, 19477,
17091 /* 45717 */ GIR_EraseRootFromParent_Done,
17092 /* 45718 */ // Label 1108: @45718
17093 /* 45718 */ GIM_Reject,
17094 /* 45719 */ // Label 1105: @45719
17095 /* 45719 */ GIM_Try, /*On fail goto*//*Label 1109*/ GIMT_Encode4(45756), // Rule ID 19478 //
17096 /* 45724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17097 /* 45727 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
17098 /* 45730 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
17099 /* 45733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17100 /* 45737 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
17101 /* 45741 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
17102 /* 45745 */ // (concat_vectors:{ *:[v32i1] } VK16:{ *:[v16i1] }:$src1, VK16:{ *:[v16i1] }:$src2) => (KUNPCKWDkk:{ *:[v32i1] } VK16:{ *:[v16i1] }:$src2, VK16:{ *:[v16i1] }:$src1)
17103 /* 45745 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKWDkk),
17104 /* 45748 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17105 /* 45750 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
17106 /* 45752 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17107 /* 45754 */ GIR_RootConstrainSelectedInstOperands,
17108 /* 45755 */ // GIR_Coverage, 19478,
17109 /* 45755 */ GIR_EraseRootFromParent_Done,
17110 /* 45756 */ // Label 1109: @45756
17111 /* 45756 */ GIM_Reject,
17112 /* 45757 */ // Label 1106: @45757
17113 /* 45757 */ GIM_Try, /*On fail goto*//*Label 1110*/ GIMT_Encode4(45794), // Rule ID 19479 //
17114 /* 45762 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17115 /* 45765 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
17116 /* 45768 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
17117 /* 45771 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17118 /* 45775 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17119 /* 45779 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17120 /* 45783 */ // (concat_vectors:{ *:[v64i1] } VK32:{ *:[v32i1] }:$src1, VK32:{ *:[v32i1] }:$src2) => (KUNPCKDQkk:{ *:[v64i1] } VK32:{ *:[v32i1] }:$src2, VK32:{ *:[v32i1] }:$src1)
17121 /* 45783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KUNPCKDQkk),
17122 /* 45786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17123 /* 45788 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
17124 /* 45790 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
17125 /* 45792 */ GIR_RootConstrainSelectedInstOperands,
17126 /* 45793 */ // GIR_Coverage, 19479,
17127 /* 45793 */ GIR_EraseRootFromParent_Done,
17128 /* 45794 */ // Label 1110: @45794
17129 /* 45794 */ GIM_Reject,
17130 /* 45795 */ // Label 1107: @45795
17131 /* 45795 */ GIM_Reject,
17132 /* 45796 */ // Label 1103: @45796
17133 /* 45796 */ GIM_Reject,
17134 /* 45797 */ // Label 8: @45797
17135 /* 45797 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(13), /*)*//*default:*//*Label 1119*/ GIMT_Encode4(48388),
17136 /* 45808 */ /*GILLT_s8*//*Label 1111*/ GIMT_Encode4(45856),
17137 /* 45812 */ /*GILLT_s16*//*Label 1112*/ GIMT_Encode4(45917),
17138 /* 45816 */ /*GILLT_s32*//*Label 1113*/ GIMT_Encode4(46747),
17139 /* 45820 */ /*GILLT_s64*//*Label 1114*/ GIMT_Encode4(47173), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
17140 /* 45840 */ /*GILLT_v8s1*//*Label 1115*/ GIMT_Encode4(47599),
17141 /* 45844 */ /*GILLT_v16s1*//*Label 1116*/ GIMT_Encode4(47786),
17142 /* 45848 */ /*GILLT_v32s1*//*Label 1117*/ GIMT_Encode4(47973),
17143 /* 45852 */ /*GILLT_v64s1*//*Label 1118*/ GIMT_Encode4(48157),
17144 /* 45856 */ // Label 1111: @45856
17145 /* 45856 */ GIM_Try, /*On fail goto*//*Label 1120*/ GIMT_Encode4(45916), // Rule ID 19408 //
17146 /* 45861 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
17147 /* 45864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
17148 /* 45868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
17149 /* 45872 */ // (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } VK8:{ *:[v8i1] }:$src, GR32:{ *:[i32] }), sub_8bit:{ *:[i32] })
17150 /* 45872 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17151 /* 45875 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17152 /* 45879 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17153 /* 45884 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17154 /* 45888 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
17155 /* 45893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17156 /* 45896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17157 /* 45898 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
17158 /* 45905 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
17159 /* 45910 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17160 /* 45915 */ // GIR_Coverage, 19408,
17161 /* 45915 */ GIR_EraseRootFromParent_Done,
17162 /* 45916 */ // Label 1120: @45916
17163 /* 45916 */ GIM_Reject,
17164 /* 45917 */ // Label 1112: @45917
17165 /* 45917 */ GIM_Try, /*On fail goto*//*Label 1121*/ GIMT_Encode4(45977), // Rule ID 19405 //
17166 /* 45922 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
17167 /* 45925 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17168 /* 45929 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
17169 /* 45933 */ // (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] }), sub_16bit:{ *:[i32] })
17170 /* 45933 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17171 /* 45936 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17172 /* 45940 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17173 /* 45945 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17174 /* 45949 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
17175 /* 45954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17176 /* 45957 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17177 /* 45959 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
17178 /* 45966 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
17179 /* 45971 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17180 /* 45976 */ // GIR_Coverage, 19405,
17181 /* 45976 */ GIR_EraseRootFromParent_Done,
17182 /* 45977 */ // Label 1121: @45977
17183 /* 45977 */ GIM_Try, /*On fail goto*//*Label 1122*/ GIMT_Encode4(46078), // Rule ID 22177 //
17184 /* 45982 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
17185 /* 45985 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17186 /* 45988 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
17187 /* 45992 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17188 /* 45996 */ // (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] })
17189 /* 45996 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
17190 /* 45999 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17191 /* 46003 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17192 /* 46008 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
17193 /* 46010 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
17194 /* 46013 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17195 /* 46017 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17196 /* 46022 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
17197 /* 46025 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
17198 /* 46029 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/4,
17199 /* 46032 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17200 /* 46037 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17201 /* 46042 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
17202 /* 46047 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
17203 /* 46050 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVW2SHrr),
17204 /* 46054 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17205 /* 46059 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17206 /* 46062 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17207 /* 46064 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17208 /* 46067 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17209 /* 46069 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17210 /* 46072 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
17211 /* 46077 */ // GIR_Coverage, 22177,
17212 /* 46077 */ GIR_EraseRootFromParent_Done,
17213 /* 46078 */ // Label 1122: @46078
17214 /* 46078 */ GIM_Try, /*On fail goto*//*Label 1123*/ GIMT_Encode4(46158), // Rule ID 22190 //
17215 /* 46083 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
17216 /* 46086 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17217 /* 46089 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17218 /* 46093 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
17219 /* 46097 */ // (bitconvert:{ *:[i16] } FR16X:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VMOVSH2Wrr:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[f128] } FR16X:{ *:[f16] }:$src, VR128X:{ *:[i32] })), sub_16bit:{ *:[i32] })
17220 /* 46097 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s128,
17221 /* 46100 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17222 /* 46104 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17223 /* 46109 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
17224 /* 46113 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128XRegClassID),
17225 /* 46118 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17226 /* 46121 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSH2Wrr),
17227 /* 46125 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17228 /* 46130 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17229 /* 46133 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17230 /* 46135 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17231 /* 46138 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17232 /* 46140 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
17233 /* 46147 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
17234 /* 46152 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17235 /* 46157 */ // GIR_Coverage, 22190,
17236 /* 46157 */ GIR_EraseRootFromParent_Done,
17237 /* 46158 */ // Label 1123: @46158
17238 /* 46158 */ GIM_Try, /*On fail goto*//*Label 1124*/ GIMT_Encode4(46237), // Rule ID 18306 //
17239 /* 46163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
17240 /* 46166 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17241 /* 46169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17242 /* 46173 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VPEXTRWrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16:{ *:[f16] }:$src, VR128:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
17243 /* 46173 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
17244 /* 46176 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17245 /* 46180 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17246 /* 46185 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
17247 /* 46189 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
17248 /* 46194 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17249 /* 46197 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPEXTRWrri),
17250 /* 46201 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17251 /* 46206 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17252 /* 46209 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
17253 /* 46212 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17254 /* 46214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17255 /* 46217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17256 /* 46219 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
17257 /* 46226 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
17258 /* 46231 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17259 /* 46236 */ // GIR_Coverage, 18306,
17260 /* 46236 */ GIR_EraseRootFromParent_Done,
17261 /* 46237 */ // Label 1124: @46237
17262 /* 46237 */ GIM_Try, /*On fail goto*//*Label 1125*/ GIMT_Encode4(46354), // Rule ID 18307 //
17263 /* 46242 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
17264 /* 46245 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17265 /* 46248 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
17266 /* 46252 */ // (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] })
17267 /* 46252 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
17268 /* 46255 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17269 /* 46259 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17270 /* 46264 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
17271 /* 46266 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
17272 /* 46269 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17273 /* 46273 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17274 /* 46278 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
17275 /* 46281 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
17276 /* 46285 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
17277 /* 46288 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17278 /* 46293 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17279 /* 46298 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
17280 /* 46303 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
17281 /* 46306 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17282 /* 46310 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17283 /* 46315 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17284 /* 46317 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
17285 /* 46320 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWrri),
17286 /* 46324 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17287 /* 46329 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17288 /* 46332 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
17289 /* 46335 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
17290 /* 46338 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17291 /* 46340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17292 /* 46343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17293 /* 46345 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17294 /* 46348 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
17295 /* 46353 */ // GIR_Coverage, 18307,
17296 /* 46353 */ GIR_EraseRootFromParent_Done,
17297 /* 46354 */ // Label 1125: @46354
17298 /* 46354 */ GIM_Try, /*On fail goto*//*Label 1126*/ GIMT_Encode4(46433), // Rule ID 18303 //
17299 /* 46359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17300 /* 46362 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17301 /* 46365 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17302 /* 46369 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (PEXTRWrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16:{ *:[f16] }:$src, VR128:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
17303 /* 46369 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
17304 /* 46372 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17305 /* 46376 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17306 /* 46381 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
17307 /* 46385 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
17308 /* 46390 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17309 /* 46393 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PEXTRWrri),
17310 /* 46397 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17311 /* 46402 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17312 /* 46405 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
17313 /* 46408 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17314 /* 46410 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17315 /* 46413 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17316 /* 46415 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
17317 /* 46422 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
17318 /* 46427 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17319 /* 46432 */ // GIR_Coverage, 18303,
17320 /* 46432 */ GIR_EraseRootFromParent_Done,
17321 /* 46433 */ // Label 1126: @46433
17322 /* 46433 */ GIM_Try, /*On fail goto*//*Label 1127*/ GIMT_Encode4(46550), // Rule ID 18304 //
17323 /* 46438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17324 /* 46441 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17325 /* 46444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
17326 /* 46448 */ // (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] })
17327 /* 46448 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
17328 /* 46451 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17329 /* 46455 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17330 /* 46460 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
17331 /* 46462 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
17332 /* 46465 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17333 /* 46469 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17334 /* 46474 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
17335 /* 46477 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
17336 /* 46481 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
17337 /* 46484 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17338 /* 46489 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17339 /* 46494 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
17340 /* 46499 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
17341 /* 46502 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17342 /* 46506 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17343 /* 46511 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17344 /* 46513 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
17345 /* 46516 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PINSRWrri),
17346 /* 46520 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17347 /* 46525 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17348 /* 46528 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
17349 /* 46531 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
17350 /* 46534 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17351 /* 46536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17352 /* 46539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17353 /* 46541 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17354 /* 46544 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
17355 /* 46549 */ // GIR_Coverage, 18304,
17356 /* 46549 */ GIR_EraseRootFromParent_Done,
17357 /* 46550 */ // Label 1127: @46550
17358 /* 46550 */ GIM_Try, /*On fail goto*//*Label 1128*/ GIMT_Encode4(46629), // Rule ID 21828 //
17359 /* 46555 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17360 /* 46558 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17361 /* 46561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17362 /* 46565 */ // (bitconvert:{ *:[i16] } f16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VPEXTRWZrri:{ *:[i32] } (COPY_TO_REGCLASS:{ *:[v8i16] } FR16X:{ *:[f16] }:$src, VR128X:{ *:[i32] }), 0:{ *:[i8] }), sub_16bit:{ *:[i32] })
17363 /* 46565 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
17364 /* 46568 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17365 /* 46572 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17366 /* 46577 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
17367 /* 46581 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR128XRegClassID),
17368 /* 46586 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17369 /* 46589 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPEXTRWZrri),
17370 /* 46593 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17371 /* 46598 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17372 /* 46601 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
17373 /* 46604 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17374 /* 46606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17375 /* 46609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17376 /* 46611 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
17377 /* 46618 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
17378 /* 46623 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
17379 /* 46628 */ // GIR_Coverage, 21828,
17380 /* 46628 */ GIR_EraseRootFromParent_Done,
17381 /* 46629 */ // Label 1128: @46629
17382 /* 46629 */ GIM_Try, /*On fail goto*//*Label 1129*/ GIMT_Encode4(46746), // Rule ID 21829 //
17383 /* 46634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17384 /* 46637 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17385 /* 46640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
17386 /* 46644 */ // (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] })
17387 /* 46644 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_s32,
17388 /* 46647 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17389 /* 46651 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17390 /* 46656 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
17391 /* 46658 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_s32,
17392 /* 46661 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17393 /* 46665 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17394 /* 46670 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
17395 /* 46673 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // src
17396 /* 46677 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/4,
17397 /* 46680 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17398 /* 46685 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17399 /* 46690 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
17400 /* 46695 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
17401 /* 46698 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17402 /* 46702 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17403 /* 46707 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17404 /* 46709 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
17405 /* 46712 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWZrri),
17406 /* 46716 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17407 /* 46721 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17408 /* 46724 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
17409 /* 46727 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
17410 /* 46730 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17411 /* 46732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17412 /* 46735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17413 /* 46737 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17414 /* 46740 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
17415 /* 46745 */ // GIR_Coverage, 21829,
17416 /* 46745 */ GIR_EraseRootFromParent_Done,
17417 /* 46746 */ // Label 1129: @46746
17418 /* 46746 */ GIM_Reject,
17419 /* 46747 */ // Label 1113: @46747
17420 /* 46747 */ GIM_Try, /*On fail goto*//*Label 1130*/ GIMT_Encode4(46813), // Rule ID 22568 //
17421 /* 46752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
17422 /* 46755 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17423 /* 46758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17424 /* 46762 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17425 /* 46766 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17426 /* 46770 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17427 /* 46773 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17428 /* 46777 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
17429 /* 46784 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17430 /* 46788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17431 /* 46790 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17432 /* 46797 */ // (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)
17433 /* 46797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSrm_alt),
17434 /* 46800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17435 /* 46802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17436 /* 46806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17437 /* 46811 */ GIR_RootConstrainSelectedInstOperands,
17438 /* 46812 */ // GIR_Coverage, 22568,
17439 /* 46812 */ GIR_EraseRootFromParent_Done,
17440 /* 46813 */ // Label 1130: @46813
17441 /* 46813 */ GIM_Try, /*On fail goto*//*Label 1131*/ GIMT_Encode4(46879), // Rule ID 22569 //
17442 /* 46818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17443 /* 46821 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17444 /* 46824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17445 /* 46828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17446 /* 46832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17447 /* 46836 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17448 /* 46839 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17449 /* 46843 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
17450 /* 46850 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17451 /* 46854 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17452 /* 46856 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17453 /* 46863 */ // (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)
17454 /* 46863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSrm_alt),
17455 /* 46866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17456 /* 46868 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17457 /* 46872 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17458 /* 46877 */ GIR_RootConstrainSelectedInstOperands,
17459 /* 46878 */ // GIR_Coverage, 22569,
17460 /* 46878 */ GIR_EraseRootFromParent_Done,
17461 /* 46879 */ // Label 1131: @46879
17462 /* 46879 */ GIM_Try, /*On fail goto*//*Label 1132*/ GIMT_Encode4(46945), // Rule ID 22570 //
17463 /* 46884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17464 /* 46887 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17465 /* 46890 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17466 /* 46894 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17467 /* 46898 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17468 /* 46902 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17469 /* 46905 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17470 /* 46909 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
17471 /* 46916 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17472 /* 46920 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17473 /* 46922 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17474 /* 46929 */ // (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)
17475 /* 46929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZrm_alt),
17476 /* 46932 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17477 /* 46934 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17478 /* 46938 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17479 /* 46943 */ GIR_RootConstrainSelectedInstOperands,
17480 /* 46944 */ // GIR_Coverage, 22570,
17481 /* 46944 */ GIR_EraseRootFromParent_Done,
17482 /* 46945 */ // Label 1132: @46945
17483 /* 46945 */ GIM_Try, /*On fail goto*//*Label 1133*/ GIMT_Encode4(46971), // Rule ID 2891 //
17484 /* 46950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17485 /* 46953 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17486 /* 46956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17487 /* 46960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17488 /* 46964 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VMOVDI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
17489 /* 46964 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSrr),
17490 /* 46969 */ GIR_RootConstrainSelectedInstOperands,
17491 /* 46970 */ // GIR_Coverage, 2891,
17492 /* 46970 */ GIR_Done,
17493 /* 46971 */ // Label 1133: @46971
17494 /* 46971 */ GIM_Try, /*On fail goto*//*Label 1134*/ GIMT_Encode4(46997), // Rule ID 2892 //
17495 /* 46976 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17496 /* 46979 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17497 /* 46982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17498 /* 46986 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17499 /* 46990 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (MOVDI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
17500 /* 46990 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVDI2SSrr),
17501 /* 46995 */ GIR_RootConstrainSelectedInstOperands,
17502 /* 46996 */ // GIR_Coverage, 2892,
17503 /* 46996 */ GIR_Done,
17504 /* 46997 */ // Label 1134: @46997
17505 /* 46997 */ GIM_Try, /*On fail goto*//*Label 1135*/ GIMT_Encode4(47023), // Rule ID 2901 //
17506 /* 47002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17507 /* 47005 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17508 /* 47008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17509 /* 47012 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17510 /* 47016 */ // (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VMOVSS2DIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
17511 /* 47016 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIrr),
17512 /* 47021 */ GIR_RootConstrainSelectedInstOperands,
17513 /* 47022 */ // GIR_Coverage, 2901,
17514 /* 47022 */ GIR_Done,
17515 /* 47023 */ // Label 1135: @47023
17516 /* 47023 */ GIM_Try, /*On fail goto*//*Label 1136*/ GIMT_Encode4(47049), // Rule ID 2902 //
17517 /* 47028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17518 /* 47031 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17519 /* 47034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17520 /* 47038 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
17521 /* 47042 */ // (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src) => (MOVSS2DIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
17522 /* 47042 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSS2DIrr),
17523 /* 47047 */ GIR_RootConstrainSelectedInstOperands,
17524 /* 47048 */ // GIR_Coverage, 2902,
17525 /* 47048 */ GIR_Done,
17526 /* 47049 */ // Label 1136: @47049
17527 /* 47049 */ GIM_Try, /*On fail goto*//*Label 1137*/ GIMT_Encode4(47075), // Rule ID 4578 //
17528 /* 47054 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17529 /* 47057 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17530 /* 47060 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17531 /* 47064 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17532 /* 47068 */ // (bitconvert:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VMOVDI2SSZrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
17533 /* 47068 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSZrr),
17534 /* 47073 */ GIR_RootConstrainSelectedInstOperands,
17535 /* 47074 */ // GIR_Coverage, 4578,
17536 /* 47074 */ GIR_Done,
17537 /* 47075 */ // Label 1137: @47075
17538 /* 47075 */ GIM_Try, /*On fail goto*//*Label 1138*/ GIMT_Encode4(47101), // Rule ID 4583 //
17539 /* 47080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17540 /* 47083 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17541 /* 47086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17542 /* 47090 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17543 /* 47094 */ // (bitconvert:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VMOVSS2DIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
17544 /* 47094 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIZrr),
17545 /* 47099 */ GIR_RootConstrainSelectedInstOperands,
17546 /* 47100 */ // GIR_Coverage, 4583,
17547 /* 47100 */ GIR_Done,
17548 /* 47101 */ // Label 1138: @47101
17549 /* 47101 */ GIM_Try, /*On fail goto*//*Label 1139*/ GIMT_Encode4(47128), // Rule ID 19416 //
17550 /* 47106 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
17551 /* 47109 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17552 /* 47113 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17553 /* 47117 */ // (bitconvert:{ *:[i32] } VK32:{ *:[v32i1] }:$src) => (COPY_TO_REGCLASS:{ *:[i32] } VK32:{ *:[v32i1] }:$src, GR32:{ *:[i32] })
17554 /* 47117 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17555 /* 47122 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
17556 /* 47127 */ // GIR_Coverage, 19416,
17557 /* 47127 */ GIR_Done,
17558 /* 47128 */ // Label 1139: @47128
17559 /* 47128 */ GIM_Try, /*On fail goto*//*Label 1140*/ GIMT_Encode4(47172), // Rule ID 19861 //
17560 /* 47133 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
17561 /* 47136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17562 /* 47140 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17563 /* 47144 */ // (bitconvert:{ *:[f32] } VK32:{ *:[v32i1] }:$src) => (VMOVDI2SSZrr:{ *:[f32] } (KMOVDrk:{ *:[i32] } VK32:{ *:[v32i1] }:$src))
17564 /* 47144 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17565 /* 47147 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVDrk),
17566 /* 47151 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17567 /* 47156 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17568 /* 47160 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17569 /* 47162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDI2SSZrr),
17570 /* 47165 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17571 /* 47167 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17572 /* 47170 */ GIR_RootConstrainSelectedInstOperands,
17573 /* 47171 */ // GIR_Coverage, 19861,
17574 /* 47171 */ GIR_EraseRootFromParent_Done,
17575 /* 47172 */ // Label 1140: @47172
17576 /* 47172 */ GIM_Reject,
17577 /* 47173 */ // Label 1114: @47173
17578 /* 47173 */ GIM_Try, /*On fail goto*//*Label 1141*/ GIMT_Encode4(47239), // Rule ID 22571 //
17579 /* 47178 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17580 /* 47181 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17581 /* 47184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17582 /* 47188 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17583 /* 47192 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17584 /* 47196 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17585 /* 47199 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17586 /* 47203 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
17587 /* 47210 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17588 /* 47214 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17589 /* 47216 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17590 /* 47223 */ // (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)
17591 /* 47223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDrm_alt),
17592 /* 47226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17593 /* 47228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17594 /* 47232 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17595 /* 47237 */ GIR_RootConstrainSelectedInstOperands,
17596 /* 47238 */ // GIR_Coverage, 22571,
17597 /* 47238 */ GIR_EraseRootFromParent_Done,
17598 /* 47239 */ // Label 1141: @47239
17599 /* 47239 */ GIM_Try, /*On fail goto*//*Label 1142*/ GIMT_Encode4(47305), // Rule ID 22572 //
17600 /* 47244 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17601 /* 47247 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17602 /* 47250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17603 /* 47254 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17604 /* 47258 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17605 /* 47262 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17606 /* 47265 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17607 /* 47269 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
17608 /* 47276 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17609 /* 47280 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17610 /* 47282 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17611 /* 47289 */ // (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)
17612 /* 47289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDrm_alt),
17613 /* 47292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17614 /* 47294 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17615 /* 47298 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17616 /* 47303 */ GIR_RootConstrainSelectedInstOperands,
17617 /* 47304 */ // GIR_Coverage, 22572,
17618 /* 47304 */ GIR_EraseRootFromParent_Done,
17619 /* 47305 */ // Label 1142: @47305
17620 /* 47305 */ GIM_Try, /*On fail goto*//*Label 1143*/ GIMT_Encode4(47371), // Rule ID 22573 //
17621 /* 47310 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17622 /* 47313 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17623 /* 47316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17624 /* 47320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17625 /* 47324 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17626 /* 47328 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::Unordered,
17627 /* 47331 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17628 /* 47335 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
17629 /* 47342 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17630 /* 47346 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17631 /* 47348 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17632 /* 47355 */ // (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)
17633 /* 47355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZrm_alt),
17634 /* 47358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17635 /* 47360 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17636 /* 47364 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17637 /* 47369 */ GIR_RootConstrainSelectedInstOperands,
17638 /* 47370 */ // GIR_Coverage, 22573,
17639 /* 47370 */ GIR_EraseRootFromParent_Done,
17640 /* 47371 */ // Label 1143: @47371
17641 /* 47371 */ GIM_Try, /*On fail goto*//*Label 1144*/ GIMT_Encode4(47397), // Rule ID 2886 //
17642 /* 47376 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17643 /* 47379 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17644 /* 47382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17645 /* 47386 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17646 /* 47390 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VMOV64toSDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
17647 /* 47390 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDrr),
17648 /* 47395 */ GIR_RootConstrainSelectedInstOperands,
17649 /* 47396 */ // GIR_Coverage, 2886,
17650 /* 47396 */ GIR_Done,
17651 /* 47397 */ // Label 1144: @47397
17652 /* 47397 */ GIM_Try, /*On fail goto*//*Label 1145*/ GIMT_Encode4(47423), // Rule ID 2890 //
17653 /* 47402 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17654 /* 47405 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17655 /* 47408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17656 /* 47412 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17657 /* 47416 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (MOV64toSDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
17658 /* 47416 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOV64toSDrr),
17659 /* 47421 */ GIR_RootConstrainSelectedInstOperands,
17660 /* 47422 */ // GIR_Coverage, 2890,
17661 /* 47422 */ GIR_Done,
17662 /* 47423 */ // Label 1145: @47423
17663 /* 47423 */ GIM_Try, /*On fail goto*//*Label 1146*/ GIMT_Encode4(47449), // Rule ID 2899 //
17664 /* 47428 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
17665 /* 47431 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17666 /* 47434 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17667 /* 47438 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17668 /* 47442 */ // (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VMOVSDto64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
17669 /* 47442 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64rr),
17670 /* 47447 */ GIR_RootConstrainSelectedInstOperands,
17671 /* 47448 */ // GIR_Coverage, 2899,
17672 /* 47448 */ GIR_Done,
17673 /* 47449 */ // Label 1146: @47449
17674 /* 47449 */ GIM_Try, /*On fail goto*//*Label 1147*/ GIMT_Encode4(47475), // Rule ID 2900 //
17675 /* 47454 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
17676 /* 47457 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17677 /* 47460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17678 /* 47464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
17679 /* 47468 */ // (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src) => (MOVSDto64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
17680 /* 47468 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSDto64rr),
17681 /* 47473 */ GIR_RootConstrainSelectedInstOperands,
17682 /* 47474 */ // GIR_Coverage, 2900,
17683 /* 47474 */ GIR_Done,
17684 /* 47475 */ // Label 1147: @47475
17685 /* 47475 */ GIM_Try, /*On fail goto*//*Label 1148*/ GIMT_Encode4(47501), // Rule ID 4576 //
17686 /* 47480 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17687 /* 47483 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17688 /* 47486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17689 /* 47490 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17690 /* 47494 */ // (bitconvert:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VMOV64toSDZrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
17691 /* 47494 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDZrr),
17692 /* 47499 */ GIR_RootConstrainSelectedInstOperands,
17693 /* 47500 */ // GIR_Coverage, 4576,
17694 /* 47500 */ GIR_Done,
17695 /* 47501 */ // Label 1148: @47501
17696 /* 47501 */ GIM_Try, /*On fail goto*//*Label 1149*/ GIMT_Encode4(47527), // Rule ID 4577 //
17697 /* 47506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17698 /* 47509 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17699 /* 47512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17700 /* 47516 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17701 /* 47520 */ // (bitconvert:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VMOVSDto64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
17702 /* 47520 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64Zrr),
17703 /* 47525 */ GIR_RootConstrainSelectedInstOperands,
17704 /* 47526 */ // GIR_Coverage, 4577,
17705 /* 47526 */ GIR_Done,
17706 /* 47527 */ // Label 1149: @47527
17707 /* 47527 */ GIM_Try, /*On fail goto*//*Label 1150*/ GIMT_Encode4(47554), // Rule ID 19418 //
17708 /* 47532 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
17709 /* 47535 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17710 /* 47539 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17711 /* 47543 */ // (bitconvert:{ *:[i64] } VK64:{ *:[v64i1] }:$src) => (COPY_TO_REGCLASS:{ *:[i64] } VK64:{ *:[v64i1] }:$src, GR64:{ *:[i32] })
17712 /* 47543 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17713 /* 47548 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
17714 /* 47553 */ // GIR_Coverage, 19418,
17715 /* 47553 */ GIR_Done,
17716 /* 47554 */ // Label 1150: @47554
17717 /* 47554 */ GIM_Try, /*On fail goto*//*Label 1151*/ GIMT_Encode4(47598), // Rule ID 19863 //
17718 /* 47559 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
17719 /* 47562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
17720 /* 47566 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17721 /* 47570 */ // (bitconvert:{ *:[f64] } VK64:{ *:[v64i1] }:$src) => (VMOV64toSDZrr:{ *:[f64] } (KMOVQrk:{ *:[i64] } VK64:{ *:[v64i1] }:$src))
17722 /* 47570 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
17723 /* 47573 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVQrk),
17724 /* 47577 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17725 /* 47582 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17726 /* 47586 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17727 /* 47588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOV64toSDZrr),
17728 /* 47591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17729 /* 47593 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17730 /* 47596 */ GIR_RootConstrainSelectedInstOperands,
17731 /* 47597 */ // GIR_Coverage, 19863,
17732 /* 47597 */ GIR_EraseRootFromParent_Done,
17733 /* 47598 */ // Label 1151: @47598
17734 /* 47598 */ GIM_Reject,
17735 /* 47599 */ // Label 1115: @47599
17736 /* 47599 */ GIM_Try, /*On fail goto*//*Label 1152*/ GIMT_Encode4(47785),
17737 /* 47604 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
17738 /* 47607 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
17739 /* 47611 */ GIM_Try, /*On fail goto*//*Label 1153*/ GIMT_Encode4(47684), // Rule ID 19422 //
17740 /* 47616 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17741 /* 47619 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17742 /* 47623 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17743 /* 47627 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17744 /* 47630 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
17745 /* 47634 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17746 /* 47638 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17747 /* 47640 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17748 /* 47647 */ // (bitconvert:{ *:[v8i1] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (COPY_TO_REGCLASS:{ *:[v8i1] } (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src), VK8:{ *:[i32] })
17749 /* 47647 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17750 /* 47650 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
17751 /* 47654 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17752 /* 47659 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
17753 /* 47663 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17754 /* 47668 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17755 /* 47670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17756 /* 47673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17757 /* 47675 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17758 /* 47678 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
17759 /* 47683 */ // GIR_Coverage, 19422,
17760 /* 47683 */ GIR_EraseRootFromParent_Done,
17761 /* 47684 */ // Label 1153: @47684
17762 /* 47684 */ GIM_Try, /*On fail goto*//*Label 1154*/ GIMT_Encode4(47710), // Rule ID 19578 //
17763 /* 47689 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
17764 /* 47692 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
17765 /* 47703 */ // (bitconvert:{ *:[v8i1] } 255:{ *:[i8] }) => (KSET1B:{ *:[v8i1] })
17766 /* 47703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KSET1B),
17767 /* 47706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17768 /* 47708 */ GIR_RootConstrainSelectedInstOperands,
17769 /* 47709 */ // GIR_Coverage, 19578,
17770 /* 47709 */ GIR_EraseRootFromParent_Done,
17771 /* 47710 */ // Label 1154: @47710
17772 /* 47710 */ GIM_Try, /*On fail goto*//*Label 1155*/ GIMT_Encode4(47784), // Rule ID 19407 //
17773 /* 47715 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
17774 /* 47719 */ // (bitconvert:{ *:[v8i1] } GR8:{ *:[i8] }:$src) => (COPY_TO_REGCLASS:{ *:[v8i1] } (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR8:{ *:[i8] }:$src, sub_8bit:{ *:[i32] }), VK8:{ *:[i32] })
17775 /* 47719 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
17776 /* 47722 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17777 /* 47726 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17778 /* 47731 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17779 /* 47733 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17780 /* 47736 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17781 /* 47740 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17782 /* 47745 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17783 /* 47748 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17784 /* 47752 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
17785 /* 47755 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
17786 /* 47760 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
17787 /* 47765 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
17788 /* 47770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17789 /* 47773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17790 /* 47775 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17791 /* 47778 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
17792 /* 47783 */ // GIR_Coverage, 19407,
17793 /* 47783 */ GIR_EraseRootFromParent_Done,
17794 /* 47784 */ // Label 1155: @47784
17795 /* 47784 */ GIM_Reject,
17796 /* 47785 */ // Label 1152: @47785
17797 /* 47785 */ GIM_Reject,
17798 /* 47786 */ // Label 1116: @47786
17799 /* 47786 */ GIM_Try, /*On fail goto*//*Label 1156*/ GIMT_Encode4(47972),
17800 /* 47791 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
17801 /* 47794 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
17802 /* 47798 */ GIM_Try, /*On fail goto*//*Label 1157*/ GIMT_Encode4(47850), // Rule ID 19423 //
17803 /* 47803 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
17804 /* 47806 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
17805 /* 47810 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
17806 /* 47814 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
17807 /* 47817 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
17808 /* 47821 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
17809 /* 47825 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
17810 /* 47827 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
17811 /* 47834 */ // (bitconvert:{ *:[v16i1] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (KMOVWkm:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
17812 /* 47834 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm),
17813 /* 47837 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17814 /* 47839 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
17815 /* 47843 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
17816 /* 47848 */ GIR_RootConstrainSelectedInstOperands,
17817 /* 47849 */ // GIR_Coverage, 19423,
17818 /* 47849 */ GIR_EraseRootFromParent_Done,
17819 /* 47850 */ // Label 1157: @47850
17820 /* 47850 */ GIM_Try, /*On fail goto*//*Label 1158*/ GIMT_Encode4(47897), // Rule ID 19579 //
17821 /* 47855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
17822 /* 47858 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
17823 /* 47869 */ // (bitconvert:{ *:[v16i1] } 255:{ *:[i16] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } (KSET1B:{ *:[v8i1] }), VK16:{ *:[i32] })
17824 /* 47869 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
17825 /* 47872 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1B),
17826 /* 47876 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17827 /* 47881 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17828 /* 47883 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17829 /* 47886 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17830 /* 47888 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17831 /* 47891 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
17832 /* 47896 */ // GIR_Coverage, 19579,
17833 /* 47896 */ GIR_EraseRootFromParent_Done,
17834 /* 47897 */ // Label 1158: @47897
17835 /* 47897 */ GIM_Try, /*On fail goto*//*Label 1159*/ GIMT_Encode4(47971), // Rule ID 19404 //
17836 /* 47902 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
17837 /* 47906 */ // (bitconvert:{ *:[v16i1] } GR16:{ *:[i16] }:$src) => (COPY_TO_REGCLASS:{ *:[v16i1] } (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR16:{ *:[i16] }:$src, sub_16bit:{ *:[i32] }), VK16:{ *:[i32] })
17838 /* 47906 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
17839 /* 47909 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
17840 /* 47913 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17841 /* 47918 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
17842 /* 47920 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17843 /* 47923 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
17844 /* 47927 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17845 /* 47932 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
17846 /* 47935 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17847 /* 47939 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/4,
17848 /* 47942 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17849 /* 47947 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
17850 /* 47952 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
17851 /* 47957 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17852 /* 47960 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17853 /* 47962 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17854 /* 47965 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
17855 /* 47970 */ // GIR_Coverage, 19404,
17856 /* 47970 */ GIR_EraseRootFromParent_Done,
17857 /* 47971 */ // Label 1159: @47971
17858 /* 47971 */ GIM_Reject,
17859 /* 47972 */ // Label 1156: @47972
17860 /* 47972 */ GIM_Reject,
17861 /* 47973 */ // Label 1117: @47973
17862 /* 47973 */ GIM_Try, /*On fail goto*//*Label 1160*/ GIMT_Encode4(48156),
17863 /* 47978 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
17864 /* 47981 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
17865 /* 47985 */ GIM_Try, /*On fail goto*//*Label 1161*/ GIMT_Encode4(48004), // Rule ID 19580 //
17866 /* 47990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17867 /* 47993 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 255,
17868 /* 47997 */ // (bitconvert:{ *:[v32i1] } -1:{ *:[i32] }) => (KSET1D:{ *:[v32i1] })
17869 /* 47997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KSET1D),
17870 /* 48000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17871 /* 48002 */ GIR_RootConstrainSelectedInstOperands,
17872 /* 48003 */ // GIR_Coverage, 19580,
17873 /* 48003 */ GIR_EraseRootFromParent_Done,
17874 /* 48004 */ // Label 1161: @48004
17875 /* 48004 */ GIM_Try, /*On fail goto*//*Label 1162*/ GIMT_Encode4(48051), // Rule ID 19582 //
17876 /* 48009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasDQI),
17877 /* 48012 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
17878 /* 48023 */ // (bitconvert:{ *:[v32i1] } 255:{ *:[i32] }) => (COPY_TO_REGCLASS:{ *:[v32i1] } (KSET1B:{ *:[v8i1] }), VK32:{ *:[i32] })
17879 /* 48023 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
17880 /* 48026 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1B),
17881 /* 48030 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17882 /* 48035 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17883 /* 48037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17884 /* 48040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17885 /* 48042 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17886 /* 48045 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
17887 /* 48050 */ // GIR_Coverage, 19582,
17888 /* 48050 */ GIR_EraseRootFromParent_Done,
17889 /* 48051 */ // Label 1162: @48051
17890 /* 48051 */ GIM_Try, /*On fail goto*//*Label 1163*/ GIMT_Encode4(48098), // Rule ID 19583 //
17891 /* 48056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasDQI),
17892 /* 48059 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(65535),
17893 /* 48070 */ // (bitconvert:{ *:[v32i1] } 65535:{ *:[i32] }) => (COPY_TO_REGCLASS:{ *:[v32i1] } (KSET1W:{ *:[v16i1] }), VK32:{ *:[i32] })
17894 /* 48070 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
17895 /* 48073 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1W),
17896 /* 48077 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17897 /* 48082 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17898 /* 48084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17899 /* 48087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17900 /* 48089 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17901 /* 48092 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
17902 /* 48097 */ // GIR_Coverage, 19583,
17903 /* 48097 */ GIR_EraseRootFromParent_Done,
17904 /* 48098 */ // Label 1163: @48098
17905 /* 48098 */ GIM_Try, /*On fail goto*//*Label 1164*/ GIMT_Encode4(48118), // Rule ID 19415 //
17906 /* 48103 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
17907 /* 48107 */ // (bitconvert:{ *:[v32i1] } GR32:{ *:[i32] }:$src) => (COPY_TO_REGCLASS:{ *:[v32i1] } GR32:{ *:[i32] }:$src, VK32:{ *:[i32] })
17908 /* 48107 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17909 /* 48112 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
17910 /* 48117 */ // GIR_Coverage, 19415,
17911 /* 48117 */ GIR_Done,
17912 /* 48118 */ // Label 1164: @48118
17913 /* 48118 */ GIM_Try, /*On fail goto*//*Label 1165*/ GIMT_Encode4(48155), // Rule ID 19860 //
17914 /* 48123 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
17915 /* 48127 */ // (bitconvert:{ *:[v32i1] } FR32X:{ *:[f32] }:$src) => (KMOVDkr:{ *:[v32i1] } (VMOVSS2DIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src))
17916 /* 48127 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
17917 /* 48130 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSS2DIZrr),
17918 /* 48134 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17919 /* 48139 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
17920 /* 48143 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17921 /* 48145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkr),
17922 /* 48148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17923 /* 48150 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17924 /* 48153 */ GIR_RootConstrainSelectedInstOperands,
17925 /* 48154 */ // GIR_Coverage, 19860,
17926 /* 48154 */ GIR_EraseRootFromParent_Done,
17927 /* 48155 */ // Label 1165: @48155
17928 /* 48155 */ GIM_Reject,
17929 /* 48156 */ // Label 1160: @48156
17930 /* 48156 */ GIM_Reject,
17931 /* 48157 */ // Label 1118: @48157
17932 /* 48157 */ GIM_Try, /*On fail goto*//*Label 1166*/ GIMT_Encode4(48387),
17933 /* 48162 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
17934 /* 48165 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
17935 /* 48169 */ GIM_Try, /*On fail goto*//*Label 1167*/ GIMT_Encode4(48188), // Rule ID 19581 //
17936 /* 48174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
17937 /* 48177 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 255,
17938 /* 48181 */ // (bitconvert:{ *:[v64i1] } -1:{ *:[i64] }) => (KSET1Q:{ *:[v64i1] })
17939 /* 48181 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KSET1Q),
17940 /* 48184 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17941 /* 48186 */ GIR_RootConstrainSelectedInstOperands,
17942 /* 48187 */ // GIR_Coverage, 19581,
17943 /* 48187 */ GIR_EraseRootFromParent_Done,
17944 /* 48188 */ // Label 1167: @48188
17945 /* 48188 */ GIM_Try, /*On fail goto*//*Label 1168*/ GIMT_Encode4(48235), // Rule ID 19584 //
17946 /* 48193 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasDQI),
17947 /* 48196 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(255),
17948 /* 48207 */ // (bitconvert:{ *:[v64i1] } 255:{ *:[i64] }) => (COPY_TO_REGCLASS:{ *:[v64i1] } (KSET1B:{ *:[v8i1] }), VK64:{ *:[i32] })
17949 /* 48207 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
17950 /* 48210 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1B),
17951 /* 48214 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17952 /* 48219 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17953 /* 48221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17954 /* 48224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17955 /* 48226 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17956 /* 48229 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
17957 /* 48234 */ // GIR_Coverage, 19584,
17958 /* 48234 */ GIR_EraseRootFromParent_Done,
17959 /* 48235 */ // Label 1168: @48235
17960 /* 48235 */ GIM_Try, /*On fail goto*//*Label 1169*/ GIMT_Encode4(48282), // Rule ID 19585 //
17961 /* 48240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasDQI),
17962 /* 48243 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(65535),
17963 /* 48254 */ // (bitconvert:{ *:[v64i1] } 65535:{ *:[i64] }) => (COPY_TO_REGCLASS:{ *:[v64i1] } (KSET1W:{ *:[v16i1] }), VK64:{ *:[i32] })
17964 /* 48254 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
17965 /* 48257 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1W),
17966 /* 48261 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17967 /* 48266 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17968 /* 48268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17969 /* 48271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17970 /* 48273 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17971 /* 48276 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
17972 /* 48281 */ // GIR_Coverage, 19585,
17973 /* 48281 */ GIR_EraseRootFromParent_Done,
17974 /* 48282 */ // Label 1169: @48282
17975 /* 48282 */ GIM_Try, /*On fail goto*//*Label 1170*/ GIMT_Encode4(48329), // Rule ID 19586 //
17976 /* 48287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasDQI),
17977 /* 48290 */ GIM_CheckConstantInt, /*MI*/0, /*Op*/1, GIMT_Encode8(4294967295),
17978 /* 48301 */ // (bitconvert:{ *:[v64i1] } 4294967295:{ *:[i64] }) => (COPY_TO_REGCLASS:{ *:[v64i1] } (KSET1D:{ *:[v32i1] }), VK64:{ *:[i32] })
17979 /* 48301 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s1,
17980 /* 48304 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KSET1D),
17981 /* 48308 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
17982 /* 48313 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
17983 /* 48315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17984 /* 48318 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
17985 /* 48320 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
17986 /* 48323 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
17987 /* 48328 */ // GIR_Coverage, 19586,
17988 /* 48328 */ GIR_EraseRootFromParent_Done,
17989 /* 48329 */ // Label 1170: @48329
17990 /* 48329 */ GIM_Try, /*On fail goto*//*Label 1171*/ GIMT_Encode4(48349), // Rule ID 19417 //
17991 /* 48334 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
17992 /* 48338 */ // (bitconvert:{ *:[v64i1] } GR64:{ *:[i64] }:$src) => (COPY_TO_REGCLASS:{ *:[v64i1] } GR64:{ *:[i64] }:$src, VK64:{ *:[i32] })
17993 /* 48338 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
17994 /* 48343 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK64RegClassID),
17995 /* 48348 */ // GIR_Coverage, 19417,
17996 /* 48348 */ GIR_Done,
17997 /* 48349 */ // Label 1171: @48349
17998 /* 48349 */ GIM_Try, /*On fail goto*//*Label 1172*/ GIMT_Encode4(48386), // Rule ID 19862 //
17999 /* 48354 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
18000 /* 48358 */ // (bitconvert:{ *:[v64i1] } FR64X:{ *:[f64] }:$src) => (KMOVQkr:{ *:[v64i1] } (VMOVSDto64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src))
18001 /* 48358 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
18002 /* 48361 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVSDto64Zrr),
18003 /* 48365 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18004 /* 48370 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
18005 /* 48374 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18006 /* 48376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkr),
18007 /* 48379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18008 /* 48381 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
18009 /* 48384 */ GIR_RootConstrainSelectedInstOperands,
18010 /* 48385 */ // GIR_Coverage, 19862,
18011 /* 48385 */ GIR_EraseRootFromParent_Done,
18012 /* 48386 */ // Label 1172: @48386
18013 /* 48386 */ GIM_Reject,
18014 /* 48387 */ // Label 1166: @48387
18015 /* 48387 */ GIM_Reject,
18016 /* 48388 */ // Label 1119: @48388
18017 /* 48388 */ GIM_Reject,
18018 /* 48389 */ // Label 9: @48389
18019 /* 48389 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 1185*/ GIMT_Encode4(51574),
18020 /* 48400 */ /*GILLT_s16*//*Label 1173*/ GIMT_Encode4(48492),
18021 /* 48404 */ /*GILLT_s32*//*Label 1174*/ GIMT_Encode4(48553),
18022 /* 48408 */ /*GILLT_s64*//*Label 1175*/ GIMT_Encode4(49177), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
18023 /* 48456 */ /*GILLT_v8s16*//*Label 1176*/ GIMT_Encode4(49801),
18024 /* 48460 */ /*GILLT_v16s16*//*Label 1177*/ GIMT_Encode4(49890),
18025 /* 48464 */ /*GILLT_v32s16*//*Label 1178*/ GIMT_Encode4(49979),
18026 /* 48468 */ /*GILLT_v4s32*//*Label 1179*/ GIMT_Encode4(50068),
18027 /* 48472 */ /*GILLT_v8s32*//*Label 1180*/ GIMT_Encode4(50514),
18028 /* 48476 */ /*GILLT_v16s32*//*Label 1181*/ GIMT_Encode4(50865),
18029 /* 48480 */ /*GILLT_v2s64*//*Label 1182*/ GIMT_Encode4(51038),
18030 /* 48484 */ /*GILLT_v4s64*//*Label 1183*/ GIMT_Encode4(51127),
18031 /* 48488 */ /*GILLT_v8s64*//*Label 1184*/ GIMT_Encode4(51306),
18032 /* 48492 */ // Label 1173: @48492
18033 /* 48492 */ GIM_Try, /*On fail goto*//*Label 1186*/ GIMT_Encode4(48552), // Rule ID 22206 //
18034 /* 48497 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18035 /* 48500 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18036 /* 48503 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
18037 /* 48507 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
18038 /* 48511 */ // (lrint:{ *:[i16] } FR16:{ *:[f16] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (VCVTTSH2SIZrr:{ *:[i32] } FR16:{ *:[f16] }:$src), sub_16bit:{ *:[i32] })
18039 /* 48511 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
18040 /* 48514 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
18041 /* 48518 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
18042 /* 48523 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
18043 /* 48527 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
18044 /* 48529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
18045 /* 48532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18046 /* 48534 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
18047 /* 48541 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
18048 /* 48546 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
18049 /* 48551 */ // GIR_Coverage, 22206,
18050 /* 48551 */ GIR_EraseRootFromParent_Done,
18051 /* 48552 */ // Label 1186: @48552
18052 /* 48552 */ GIM_Reject,
18053 /* 48553 */ // Label 1174: @48553
18054 /* 48553 */ GIM_Try, /*On fail goto*//*Label 1187*/ GIMT_Encode4(48612), // Rule ID 1732 //
18055 /* 48558 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18056 /* 48561 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18057 /* 48564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18058 /* 48568 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18059 /* 48572 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18060 /* 48576 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18061 /* 48579 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18062 /* 48583 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18063 /* 48587 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18064 /* 48589 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18065 /* 48596 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18066 /* 48596 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIrm),
18067 /* 48599 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18068 /* 48601 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18069 /* 48605 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18070 /* 48610 */ GIR_RootConstrainSelectedInstOperands,
18071 /* 48611 */ // GIR_Coverage, 1732,
18072 /* 48611 */ GIR_EraseRootFromParent_Done,
18073 /* 48612 */ // Label 1187: @48612
18074 /* 48612 */ GIM_Try, /*On fail goto*//*Label 1188*/ GIMT_Encode4(48671), // Rule ID 1736 //
18075 /* 48617 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18076 /* 48620 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18077 /* 48623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18078 /* 48627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18079 /* 48631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18080 /* 48635 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18081 /* 48638 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18082 /* 48642 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18083 /* 48646 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18084 /* 48648 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18085 /* 48655 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18086 /* 48655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIrm),
18087 /* 48658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18088 /* 48660 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18089 /* 48664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18090 /* 48669 */ GIR_RootConstrainSelectedInstOperands,
18091 /* 48670 */ // GIR_Coverage, 1736,
18092 /* 48670 */ GIR_EraseRootFromParent_Done,
18093 /* 48671 */ // Label 1188: @48671
18094 /* 48671 */ GIM_Try, /*On fail goto*//*Label 1189*/ GIMT_Encode4(48730), // Rule ID 1756 //
18095 /* 48676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
18096 /* 48679 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18097 /* 48682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18098 /* 48686 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18099 /* 48690 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18100 /* 48694 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18101 /* 48697 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18102 /* 48701 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18103 /* 48705 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18104 /* 48707 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18105 /* 48714 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18106 /* 48714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SIrm),
18107 /* 48717 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18108 /* 48719 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18109 /* 48723 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18110 /* 48728 */ GIR_RootConstrainSelectedInstOperands,
18111 /* 48729 */ // GIR_Coverage, 1756,
18112 /* 48729 */ GIR_EraseRootFromParent_Done,
18113 /* 48730 */ // Label 1189: @48730
18114 /* 48730 */ GIM_Try, /*On fail goto*//*Label 1190*/ GIMT_Encode4(48789), // Rule ID 1760 //
18115 /* 48735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18116 /* 48738 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18117 /* 48741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18118 /* 48745 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18119 /* 48749 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18120 /* 48753 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18121 /* 48756 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18122 /* 48760 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18123 /* 48764 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18124 /* 48766 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18125 /* 48773 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18126 /* 48773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SIrm),
18127 /* 48776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18128 /* 48778 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18129 /* 48782 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18130 /* 48787 */ GIR_RootConstrainSelectedInstOperands,
18131 /* 48788 */ // GIR_Coverage, 1760,
18132 /* 48788 */ GIR_EraseRootFromParent_Done,
18133 /* 48789 */ // Label 1190: @48789
18134 /* 48789 */ GIM_Try, /*On fail goto*//*Label 1191*/ GIMT_Encode4(48848), // Rule ID 10333 //
18135 /* 48794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18136 /* 48797 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18137 /* 48800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18138 /* 48804 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18139 /* 48808 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18140 /* 48812 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18141 /* 48815 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18142 /* 48819 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18143 /* 48823 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18144 /* 48825 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18145 /* 48832 */ // (lrint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18146 /* 48832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIZrm),
18147 /* 48835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18148 /* 48837 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18149 /* 48841 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18150 /* 48846 */ GIR_RootConstrainSelectedInstOperands,
18151 /* 48847 */ // GIR_Coverage, 10333,
18152 /* 48847 */ GIR_EraseRootFromParent_Done,
18153 /* 48848 */ // Label 1191: @48848
18154 /* 48848 */ GIM_Try, /*On fail goto*//*Label 1192*/ GIMT_Encode4(48907), // Rule ID 10337 //
18155 /* 48853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18156 /* 48856 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18157 /* 48859 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18158 /* 48863 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18159 /* 48867 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18160 /* 48871 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18161 /* 48874 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18162 /* 48878 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18163 /* 48882 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18164 /* 48884 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18165 /* 48891 */ // (lrint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18166 /* 48891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIZrm),
18167 /* 48894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18168 /* 48896 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18169 /* 48900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18170 /* 48905 */ GIR_RootConstrainSelectedInstOperands,
18171 /* 48906 */ // GIR_Coverage, 10337,
18172 /* 48906 */ GIR_EraseRootFromParent_Done,
18173 /* 48907 */ // Label 1192: @48907
18174 /* 48907 */ GIM_Try, /*On fail goto*//*Label 1193*/ GIMT_Encode4(48966), // Rule ID 22208 //
18175 /* 48912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18176 /* 48915 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18177 /* 48918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18178 /* 48922 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18179 /* 48926 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18180 /* 48930 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18181 /* 48933 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18182 /* 48937 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18183 /* 48941 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18184 /* 48943 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18185 /* 48950 */ // (lrint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
18186 /* 48950 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrm),
18187 /* 48953 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18188 /* 48955 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18189 /* 48959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18190 /* 48964 */ GIR_RootConstrainSelectedInstOperands,
18191 /* 48965 */ // GIR_Coverage, 22208,
18192 /* 48965 */ GIR_EraseRootFromParent_Done,
18193 /* 48966 */ // Label 1193: @48966
18194 /* 48966 */ GIM_Try, /*On fail goto*//*Label 1194*/ GIMT_Encode4(48996), // Rule ID 1731 //
18195 /* 48971 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18196 /* 48974 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18197 /* 48977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18198 /* 48981 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18199 /* 48985 */ // (lrint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VCVTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
18200 /* 48985 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIrr),
18201 /* 48990 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18202 /* 48994 */ GIR_RootConstrainSelectedInstOperands,
18203 /* 48995 */ // GIR_Coverage, 1731,
18204 /* 48995 */ GIR_Done,
18205 /* 48996 */ // Label 1194: @48996
18206 /* 48996 */ GIM_Try, /*On fail goto*//*Label 1195*/ GIMT_Encode4(49026), // Rule ID 1735 //
18207 /* 49001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18208 /* 49004 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18209 /* 49007 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18210 /* 49011 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18211 /* 49015 */ // (lrint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (VCVTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
18212 /* 49015 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIrr),
18213 /* 49020 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18214 /* 49024 */ GIR_RootConstrainSelectedInstOperands,
18215 /* 49025 */ // GIR_Coverage, 1735,
18216 /* 49025 */ GIR_Done,
18217 /* 49026 */ // Label 1195: @49026
18218 /* 49026 */ GIM_Try, /*On fail goto*//*Label 1196*/ GIMT_Encode4(49056), // Rule ID 1755 //
18219 /* 49031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
18220 /* 49034 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18221 /* 49037 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18222 /* 49041 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18223 /* 49045 */ // (lrint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (CVTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
18224 /* 49045 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SIrr),
18225 /* 49050 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18226 /* 49054 */ GIR_RootConstrainSelectedInstOperands,
18227 /* 49055 */ // GIR_Coverage, 1755,
18228 /* 49055 */ GIR_Done,
18229 /* 49056 */ // Label 1196: @49056
18230 /* 49056 */ GIM_Try, /*On fail goto*//*Label 1197*/ GIMT_Encode4(49086), // Rule ID 1759 //
18231 /* 49061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18232 /* 49064 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18233 /* 49067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18234 /* 49071 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18235 /* 49075 */ // (lrint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (CVTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
18236 /* 49075 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SIrr),
18237 /* 49080 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18238 /* 49084 */ GIR_RootConstrainSelectedInstOperands,
18239 /* 49085 */ // GIR_Coverage, 1759,
18240 /* 49085 */ GIR_Done,
18241 /* 49086 */ // Label 1197: @49086
18242 /* 49086 */ GIM_Try, /*On fail goto*//*Label 1198*/ GIMT_Encode4(49116), // Rule ID 10332 //
18243 /* 49091 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18244 /* 49094 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18245 /* 49097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18246 /* 49101 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
18247 /* 49105 */ // (lrint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
18248 /* 49105 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SIZrr),
18249 /* 49110 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18250 /* 49114 */ GIR_RootConstrainSelectedInstOperands,
18251 /* 49115 */ // GIR_Coverage, 10332,
18252 /* 49115 */ GIR_Done,
18253 /* 49116 */ // Label 1198: @49116
18254 /* 49116 */ GIM_Try, /*On fail goto*//*Label 1199*/ GIMT_Encode4(49146), // Rule ID 10336 //
18255 /* 49121 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18256 /* 49124 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18257 /* 49127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18258 /* 49131 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
18259 /* 49135 */ // (lrint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
18260 /* 49135 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SIZrr),
18261 /* 49140 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18262 /* 49144 */ GIR_RootConstrainSelectedInstOperands,
18263 /* 49145 */ // GIR_Coverage, 10336,
18264 /* 49145 */ GIR_Done,
18265 /* 49146 */ // Label 1199: @49146
18266 /* 49146 */ GIM_Try, /*On fail goto*//*Label 1200*/ GIMT_Encode4(49176), // Rule ID 22207 //
18267 /* 49151 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18268 /* 49154 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18269 /* 49157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
18270 /* 49161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
18271 /* 49165 */ // (lrint:{ *:[i32] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SIZrr:{ *:[i32] } FR16:{ *:[f16] }:$src)
18272 /* 49165 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
18273 /* 49170 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18274 /* 49174 */ GIR_RootConstrainSelectedInstOperands,
18275 /* 49175 */ // GIR_Coverage, 22207,
18276 /* 49175 */ GIR_Done,
18277 /* 49176 */ // Label 1200: @49176
18278 /* 49176 */ GIM_Reject,
18279 /* 49177 */ // Label 1175: @49177
18280 /* 49177 */ GIM_Try, /*On fail goto*//*Label 1201*/ GIMT_Encode4(49236), // Rule ID 17956 //
18281 /* 49182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18282 /* 49185 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18283 /* 49188 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18284 /* 49192 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18285 /* 49196 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18286 /* 49200 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18287 /* 49203 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18288 /* 49207 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18289 /* 49211 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18290 /* 49213 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18291 /* 49220 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18292 /* 49220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rm),
18293 /* 49223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18294 /* 49225 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18295 /* 49229 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18296 /* 49234 */ GIR_RootConstrainSelectedInstOperands,
18297 /* 49235 */ // GIR_Coverage, 17956,
18298 /* 49235 */ GIR_EraseRootFromParent_Done,
18299 /* 49236 */ // Label 1201: @49236
18300 /* 49236 */ GIM_Try, /*On fail goto*//*Label 1202*/ GIMT_Encode4(49295), // Rule ID 17958 //
18301 /* 49241 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18302 /* 49244 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18303 /* 49247 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18304 /* 49251 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18305 /* 49255 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18306 /* 49259 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18307 /* 49262 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18308 /* 49266 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18309 /* 49270 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18310 /* 49272 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18311 /* 49279 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18312 /* 49279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rm),
18313 /* 49282 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18314 /* 49284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18315 /* 49288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18316 /* 49293 */ GIR_RootConstrainSelectedInstOperands,
18317 /* 49294 */ // GIR_Coverage, 17958,
18318 /* 49294 */ GIR_EraseRootFromParent_Done,
18319 /* 49295 */ // Label 1202: @49295
18320 /* 49295 */ GIM_Try, /*On fail goto*//*Label 1203*/ GIMT_Encode4(49354), // Rule ID 17960 //
18321 /* 49300 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
18322 /* 49303 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18323 /* 49306 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18324 /* 49310 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18325 /* 49314 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18326 /* 49318 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18327 /* 49321 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18328 /* 49325 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18329 /* 49329 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18330 /* 49331 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18331 /* 49338 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18332 /* 49338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rm),
18333 /* 49341 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18334 /* 49343 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18335 /* 49347 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18336 /* 49352 */ GIR_RootConstrainSelectedInstOperands,
18337 /* 49353 */ // GIR_Coverage, 17960,
18338 /* 49353 */ GIR_EraseRootFromParent_Done,
18339 /* 49354 */ // Label 1203: @49354
18340 /* 49354 */ GIM_Try, /*On fail goto*//*Label 1204*/ GIMT_Encode4(49413), // Rule ID 17962 //
18341 /* 49359 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18342 /* 49362 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18343 /* 49365 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18344 /* 49369 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18345 /* 49373 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18346 /* 49377 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18347 /* 49380 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18348 /* 49384 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18349 /* 49388 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18350 /* 49390 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18351 /* 49397 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18352 /* 49397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rm),
18353 /* 49400 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18354 /* 49402 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18355 /* 49406 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18356 /* 49411 */ GIR_RootConstrainSelectedInstOperands,
18357 /* 49412 */ // GIR_Coverage, 17962,
18358 /* 49412 */ GIR_EraseRootFromParent_Done,
18359 /* 49413 */ // Label 1204: @49413
18360 /* 49413 */ GIM_Try, /*On fail goto*//*Label 1205*/ GIMT_Encode4(49472), // Rule ID 21147 //
18361 /* 49418 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18362 /* 49421 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18363 /* 49424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18364 /* 49428 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18365 /* 49432 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18366 /* 49436 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18367 /* 49439 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18368 /* 49443 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18369 /* 49447 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18370 /* 49449 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18371 /* 49456 */ // (lrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18372 /* 49456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrm),
18373 /* 49459 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18374 /* 49461 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18375 /* 49465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18376 /* 49470 */ GIR_RootConstrainSelectedInstOperands,
18377 /* 49471 */ // GIR_Coverage, 21147,
18378 /* 49471 */ GIR_EraseRootFromParent_Done,
18379 /* 49472 */ // Label 1205: @49472
18380 /* 49472 */ GIM_Try, /*On fail goto*//*Label 1206*/ GIMT_Encode4(49531), // Rule ID 21149 //
18381 /* 49477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18382 /* 49480 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18383 /* 49483 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18384 /* 49487 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18385 /* 49491 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18386 /* 49495 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18387 /* 49498 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18388 /* 49502 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18389 /* 49506 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18390 /* 49508 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18391 /* 49515 */ // (lrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18392 /* 49515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrm),
18393 /* 49518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18394 /* 49520 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18395 /* 49524 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18396 /* 49529 */ GIR_RootConstrainSelectedInstOperands,
18397 /* 49530 */ // GIR_Coverage, 21149,
18398 /* 49530 */ GIR_EraseRootFromParent_Done,
18399 /* 49531 */ // Label 1206: @49531
18400 /* 49531 */ GIM_Try, /*On fail goto*//*Label 1207*/ GIMT_Encode4(49590), // Rule ID 22210 //
18401 /* 49536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_In64BitMode),
18402 /* 49539 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18403 /* 49542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18404 /* 49546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18405 /* 49550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18406 /* 49554 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18407 /* 49557 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18408 /* 49561 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18409 /* 49565 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18410 /* 49567 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18411 /* 49574 */ // (lrint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
18412 /* 49574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
18413 /* 49577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18414 /* 49579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18415 /* 49583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18416 /* 49588 */ GIR_RootConstrainSelectedInstOperands,
18417 /* 49589 */ // GIR_Coverage, 22210,
18418 /* 49589 */ GIR_EraseRootFromParent_Done,
18419 /* 49590 */ // Label 1207: @49590
18420 /* 49590 */ GIM_Try, /*On fail goto*//*Label 1208*/ GIMT_Encode4(49620), // Rule ID 17955 //
18421 /* 49595 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18422 /* 49598 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18423 /* 49601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18424 /* 49605 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18425 /* 49609 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
18426 /* 49609 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rr),
18427 /* 49614 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18428 /* 49618 */ GIR_RootConstrainSelectedInstOperands,
18429 /* 49619 */ // GIR_Coverage, 17955,
18430 /* 49619 */ GIR_Done,
18431 /* 49620 */ // Label 1208: @49620
18432 /* 49620 */ GIM_Try, /*On fail goto*//*Label 1209*/ GIMT_Encode4(49650), // Rule ID 17957 //
18433 /* 49625 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
18434 /* 49628 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18435 /* 49631 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18436 /* 49635 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18437 /* 49639 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
18438 /* 49639 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rr),
18439 /* 49644 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18440 /* 49648 */ GIR_RootConstrainSelectedInstOperands,
18441 /* 49649 */ // GIR_Coverage, 17957,
18442 /* 49649 */ GIR_Done,
18443 /* 49650 */ // Label 1209: @49650
18444 /* 49650 */ GIM_Try, /*On fail goto*//*Label 1210*/ GIMT_Encode4(49680), // Rule ID 17959 //
18445 /* 49655 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
18446 /* 49658 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18447 /* 49661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18448 /* 49665 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18449 /* 49669 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
18450 /* 49669 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rr),
18451 /* 49674 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18452 /* 49678 */ GIR_RootConstrainSelectedInstOperands,
18453 /* 49679 */ // GIR_Coverage, 17959,
18454 /* 49679 */ GIR_Done,
18455 /* 49680 */ // Label 1210: @49680
18456 /* 49680 */ GIM_Try, /*On fail goto*//*Label 1211*/ GIMT_Encode4(49710), // Rule ID 17961 //
18457 /* 49685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18458 /* 49688 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18459 /* 49691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18460 /* 49695 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18461 /* 49699 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
18462 /* 49699 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rr),
18463 /* 49704 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18464 /* 49708 */ GIR_RootConstrainSelectedInstOperands,
18465 /* 49709 */ // GIR_Coverage, 17961,
18466 /* 49709 */ GIR_Done,
18467 /* 49710 */ // Label 1211: @49710
18468 /* 49710 */ GIM_Try, /*On fail goto*//*Label 1212*/ GIMT_Encode4(49740), // Rule ID 21146 //
18469 /* 49715 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18470 /* 49718 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
18471 /* 49721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18472 /* 49725 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
18473 /* 49729 */ // (lrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64Zrr:{ *:[i64] } FR32:{ *:[f32] }:$src)
18474 /* 49729 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrr),
18475 /* 49734 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18476 /* 49738 */ GIR_RootConstrainSelectedInstOperands,
18477 /* 49739 */ // GIR_Coverage, 21146,
18478 /* 49739 */ GIR_Done,
18479 /* 49740 */ // Label 1212: @49740
18480 /* 49740 */ GIM_Try, /*On fail goto*//*Label 1213*/ GIMT_Encode4(49770), // Rule ID 21148 //
18481 /* 49745 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
18482 /* 49748 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
18483 /* 49751 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18484 /* 49755 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
18485 /* 49759 */ // (lrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64Zrr:{ *:[i64] } FR64:{ *:[f64] }:$src)
18486 /* 49759 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrr),
18487 /* 49764 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18488 /* 49768 */ GIR_RootConstrainSelectedInstOperands,
18489 /* 49769 */ // GIR_Coverage, 21148,
18490 /* 49769 */ GIR_Done,
18491 /* 49770 */ // Label 1213: @49770
18492 /* 49770 */ GIM_Try, /*On fail goto*//*Label 1214*/ GIMT_Encode4(49800), // Rule ID 22209 //
18493 /* 49775 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_In64BitMode),
18494 /* 49778 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
18495 /* 49781 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
18496 /* 49785 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
18497 /* 49789 */ // (lrint:{ *:[i64] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16:{ *:[f16] }:$src)
18498 /* 49789 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
18499 /* 49794 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18500 /* 49798 */ GIR_RootConstrainSelectedInstOperands,
18501 /* 49799 */ // GIR_Coverage, 22209,
18502 /* 49799 */ GIR_Done,
18503 /* 49800 */ // Label 1214: @49800
18504 /* 49800 */ GIM_Reject,
18505 /* 49801 */ // Label 1176: @49801
18506 /* 49801 */ GIM_Try, /*On fail goto*//*Label 1215*/ GIMT_Encode4(49889),
18507 /* 49806 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
18508 /* 49809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18509 /* 49813 */ GIM_Try, /*On fail goto*//*Label 1216*/ GIMT_Encode4(49865), // Rule ID 22193 //
18510 /* 49818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
18511 /* 49821 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18512 /* 49825 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18513 /* 49829 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18514 /* 49832 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18515 /* 49836 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18516 /* 49840 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18517 /* 49842 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18518 /* 49849 */ // (lrint:{ *:[v8i16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
18519 /* 49849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ128rm),
18520 /* 49852 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18521 /* 49854 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18522 /* 49858 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18523 /* 49863 */ GIR_RootConstrainSelectedInstOperands,
18524 /* 49864 */ // GIR_Coverage, 22193,
18525 /* 49864 */ GIR_EraseRootFromParent_Done,
18526 /* 49865 */ // Label 1216: @49865
18527 /* 49865 */ GIM_Try, /*On fail goto*//*Label 1217*/ GIMT_Encode4(49888), // Rule ID 22192 //
18528 /* 49870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
18529 /* 49873 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18530 /* 49877 */ // (lrint:{ *:[v8i16] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2WZ128rr:{ *:[v8i16] } VR128X:{ *:[v8f16] }:$src)
18531 /* 49877 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ128rr),
18532 /* 49882 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18533 /* 49886 */ GIR_RootConstrainSelectedInstOperands,
18534 /* 49887 */ // GIR_Coverage, 22192,
18535 /* 49887 */ GIR_Done,
18536 /* 49888 */ // Label 1217: @49888
18537 /* 49888 */ GIM_Reject,
18538 /* 49889 */ // Label 1215: @49889
18539 /* 49889 */ GIM_Reject,
18540 /* 49890 */ // Label 1177: @49890
18541 /* 49890 */ GIM_Try, /*On fail goto*//*Label 1218*/ GIMT_Encode4(49978),
18542 /* 49895 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
18543 /* 49898 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18544 /* 49902 */ GIM_Try, /*On fail goto*//*Label 1219*/ GIMT_Encode4(49954), // Rule ID 22195 //
18545 /* 49907 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
18546 /* 49910 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18547 /* 49914 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18548 /* 49918 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18549 /* 49921 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18550 /* 49925 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18551 /* 49929 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18552 /* 49931 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18553 /* 49938 */ // (lrint:{ *:[v16i16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
18554 /* 49938 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ256rm),
18555 /* 49941 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18556 /* 49943 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18557 /* 49947 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18558 /* 49952 */ GIR_RootConstrainSelectedInstOperands,
18559 /* 49953 */ // GIR_Coverage, 22195,
18560 /* 49953 */ GIR_EraseRootFromParent_Done,
18561 /* 49954 */ // Label 1219: @49954
18562 /* 49954 */ GIM_Try, /*On fail goto*//*Label 1220*/ GIMT_Encode4(49977), // Rule ID 22194 //
18563 /* 49959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
18564 /* 49962 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18565 /* 49966 */ // (lrint:{ *:[v16i16] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2WZ256rr:{ *:[v16i16] } VR256X:{ *:[v16f16] }:$src)
18566 /* 49966 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZ256rr),
18567 /* 49971 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18568 /* 49975 */ GIR_RootConstrainSelectedInstOperands,
18569 /* 49976 */ // GIR_Coverage, 22194,
18570 /* 49976 */ GIR_Done,
18571 /* 49977 */ // Label 1220: @49977
18572 /* 49977 */ GIM_Reject,
18573 /* 49978 */ // Label 1218: @49978
18574 /* 49978 */ GIM_Reject,
18575 /* 49979 */ // Label 1178: @49979
18576 /* 49979 */ GIM_Try, /*On fail goto*//*Label 1221*/ GIMT_Encode4(50067),
18577 /* 49984 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
18578 /* 49987 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18579 /* 49991 */ GIM_Try, /*On fail goto*//*Label 1222*/ GIMT_Encode4(50043), // Rule ID 22199 //
18580 /* 49996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18581 /* 49999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18582 /* 50003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18583 /* 50007 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18584 /* 50010 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18585 /* 50014 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18586 /* 50018 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18587 /* 50020 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18588 /* 50027 */ // (lrint:{ *:[v32i16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2WZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
18589 /* 50027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZrm),
18590 /* 50030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18591 /* 50032 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18592 /* 50036 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18593 /* 50041 */ GIR_RootConstrainSelectedInstOperands,
18594 /* 50042 */ // GIR_Coverage, 22199,
18595 /* 50042 */ GIR_EraseRootFromParent_Done,
18596 /* 50043 */ // Label 1222: @50043
18597 /* 50043 */ GIM_Try, /*On fail goto*//*Label 1223*/ GIMT_Encode4(50066), // Rule ID 22198 //
18598 /* 50048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18599 /* 50051 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18600 /* 50055 */ // (lrint:{ *:[v32i16] } VR512:{ *:[v32f16] }:$src) => (VCVTPH2WZrr:{ *:[v32i16] } VR512:{ *:[v32f16] }:$src)
18601 /* 50055 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2WZrr),
18602 /* 50060 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18603 /* 50064 */ GIR_RootConstrainSelectedInstOperands,
18604 /* 50065 */ // GIR_Coverage, 22198,
18605 /* 50065 */ GIR_Done,
18606 /* 50066 */ // Label 1223: @50066
18607 /* 50066 */ GIM_Reject,
18608 /* 50067 */ // Label 1221: @50067
18609 /* 50067 */ GIM_Reject,
18610 /* 50068 */ // Label 1179: @50068
18611 /* 50068 */ GIM_Try, /*On fail goto*//*Label 1224*/ GIMT_Encode4(50127), // Rule ID 18010 //
18612 /* 50073 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18613 /* 50076 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18614 /* 50079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18615 /* 50083 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18616 /* 50087 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18617 /* 50091 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18618 /* 50094 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18619 /* 50098 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18620 /* 50102 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18621 /* 50104 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18622 /* 50111 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18623 /* 50111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQrm),
18624 /* 50114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18625 /* 50116 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18626 /* 50120 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18627 /* 50125 */ GIR_RootConstrainSelectedInstOperands,
18628 /* 50126 */ // GIR_Coverage, 18010,
18629 /* 50126 */ GIR_EraseRootFromParent_Done,
18630 /* 50127 */ // Label 1224: @50127
18631 /* 50127 */ GIM_Try, /*On fail goto*//*Label 1225*/ GIMT_Encode4(50186), // Rule ID 18014 //
18632 /* 50132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18633 /* 50135 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
18634 /* 50138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18635 /* 50142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18636 /* 50146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18637 /* 50150 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18638 /* 50153 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18639 /* 50157 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18640 /* 50161 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18641 /* 50163 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18642 /* 50170 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQYrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18643 /* 50170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQYrm),
18644 /* 50173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18645 /* 50175 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18646 /* 50179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18647 /* 50184 */ GIR_RootConstrainSelectedInstOperands,
18648 /* 50185 */ // GIR_Coverage, 18014,
18649 /* 50185 */ GIR_EraseRootFromParent_Done,
18650 /* 50186 */ // Label 1225: @50186
18651 /* 50186 */ GIM_Try, /*On fail goto*//*Label 1226*/ GIMT_Encode4(50245), // Rule ID 18016 //
18652 /* 50191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18653 /* 50194 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18654 /* 50197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18655 /* 50201 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18656 /* 50205 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18657 /* 50209 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18658 /* 50212 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18659 /* 50216 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18660 /* 50220 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18661 /* 50222 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18662 /* 50229 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTPS2DQrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18663 /* 50229 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTPS2DQrm),
18664 /* 50232 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18665 /* 50234 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18666 /* 50238 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18667 /* 50243 */ GIR_RootConstrainSelectedInstOperands,
18668 /* 50244 */ // GIR_Coverage, 18016,
18669 /* 50244 */ GIR_EraseRootFromParent_Done,
18670 /* 50245 */ // Label 1226: @50245
18671 /* 50245 */ GIM_Try, /*On fail goto*//*Label 1227*/ GIMT_Encode4(50304), // Rule ID 21344 //
18672 /* 50250 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18673 /* 50253 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18674 /* 50256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18675 /* 50260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18676 /* 50264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18677 /* 50268 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18678 /* 50271 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18679 /* 50275 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18680 /* 50279 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18681 /* 50281 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18682 /* 50288 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18683 /* 50288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ128rm),
18684 /* 50291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18685 /* 50293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18686 /* 50297 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18687 /* 50302 */ GIR_RootConstrainSelectedInstOperands,
18688 /* 50303 */ // GIR_Coverage, 21344,
18689 /* 50303 */ GIR_EraseRootFromParent_Done,
18690 /* 50304 */ // Label 1227: @50304
18691 /* 50304 */ GIM_Try, /*On fail goto*//*Label 1228*/ GIMT_Encode4(50363), // Rule ID 21348 //
18692 /* 50309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18693 /* 50312 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
18694 /* 50315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18695 /* 50319 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18696 /* 50323 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18697 /* 50327 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18698 /* 50330 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18699 /* 50334 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18700 /* 50338 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18701 /* 50340 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18702 /* 50347 */ // (lrint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQZ256rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
18703 /* 50347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZ256rm),
18704 /* 50350 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18705 /* 50352 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18706 /* 50356 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18707 /* 50361 */ GIR_RootConstrainSelectedInstOperands,
18708 /* 50362 */ // GIR_Coverage, 21348,
18709 /* 50362 */ GIR_EraseRootFromParent_Done,
18710 /* 50363 */ // Label 1228: @50363
18711 /* 50363 */ GIM_Try, /*On fail goto*//*Label 1229*/ GIMT_Encode4(50393), // Rule ID 18009 //
18712 /* 50368 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18713 /* 50371 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18714 /* 50374 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18715 /* 50378 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18716 /* 50382 */ // (lrint:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src) => (VCVTPS2DQrr:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src)
18717 /* 50382 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQrr),
18718 /* 50387 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18719 /* 50391 */ GIR_RootConstrainSelectedInstOperands,
18720 /* 50392 */ // GIR_Coverage, 18009,
18721 /* 50392 */ GIR_Done,
18722 /* 50393 */ // Label 1229: @50393
18723 /* 50393 */ GIM_Try, /*On fail goto*//*Label 1230*/ GIMT_Encode4(50423), // Rule ID 18013 //
18724 /* 50398 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18725 /* 50401 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
18726 /* 50404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18727 /* 50408 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18728 /* 50412 */ // (lrint:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src) => (VCVTPD2DQYrr:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src)
18729 /* 50412 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQYrr),
18730 /* 50417 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18731 /* 50421 */ GIR_RootConstrainSelectedInstOperands,
18732 /* 50422 */ // GIR_Coverage, 18013,
18733 /* 50422 */ GIR_Done,
18734 /* 50423 */ // Label 1230: @50423
18735 /* 50423 */ GIM_Try, /*On fail goto*//*Label 1231*/ GIMT_Encode4(50453), // Rule ID 18015 //
18736 /* 50428 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
18737 /* 50431 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18738 /* 50434 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18739 /* 50438 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
18740 /* 50442 */ // (lrint:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src) => (CVTPS2DQrr:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src)
18741 /* 50442 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTPS2DQrr),
18742 /* 50447 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18743 /* 50451 */ GIR_RootConstrainSelectedInstOperands,
18744 /* 50452 */ // GIR_Coverage, 18015,
18745 /* 50452 */ GIR_Done,
18746 /* 50453 */ // Label 1231: @50453
18747 /* 50453 */ GIM_Try, /*On fail goto*//*Label 1232*/ GIMT_Encode4(50483), // Rule ID 21343 //
18748 /* 50458 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18749 /* 50461 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
18750 /* 50464 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18751 /* 50468 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18752 /* 50472 */ // (lrint:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2DQZ128rr:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src)
18753 /* 50472 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ128rr),
18754 /* 50477 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18755 /* 50481 */ GIR_RootConstrainSelectedInstOperands,
18756 /* 50482 */ // GIR_Coverage, 21343,
18757 /* 50482 */ GIR_Done,
18758 /* 50483 */ // Label 1232: @50483
18759 /* 50483 */ GIM_Try, /*On fail goto*//*Label 1233*/ GIMT_Encode4(50513), // Rule ID 21347 //
18760 /* 50488 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18761 /* 50491 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
18762 /* 50494 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18763 /* 50498 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18764 /* 50502 */ // (lrint:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2DQZ256rr:{ *:[v4i32] } VR256X:{ *:[v4f64] }:$src)
18765 /* 50502 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZ256rr),
18766 /* 50507 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18767 /* 50511 */ GIR_RootConstrainSelectedInstOperands,
18768 /* 50512 */ // GIR_Coverage, 21347,
18769 /* 50512 */ GIR_Done,
18770 /* 50513 */ // Label 1233: @50513
18771 /* 50513 */ GIM_Reject,
18772 /* 50514 */ // Label 1180: @50514
18773 /* 50514 */ GIM_Try, /*On fail goto*//*Label 1234*/ GIMT_Encode4(50573), // Rule ID 18012 //
18774 /* 50519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18775 /* 50522 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
18776 /* 50525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18777 /* 50529 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18778 /* 50533 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18779 /* 50537 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18780 /* 50540 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18781 /* 50544 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18782 /* 50548 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18783 /* 50550 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18784 /* 50557 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18785 /* 50557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQYrm),
18786 /* 50560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18787 /* 50562 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18788 /* 50566 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18789 /* 50571 */ GIR_RootConstrainSelectedInstOperands,
18790 /* 50572 */ // GIR_Coverage, 18012,
18791 /* 50572 */ GIR_EraseRootFromParent_Done,
18792 /* 50573 */ // Label 1234: @50573
18793 /* 50573 */ GIM_Try, /*On fail goto*//*Label 1235*/ GIMT_Encode4(50632), // Rule ID 21346 //
18794 /* 50578 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18795 /* 50581 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
18796 /* 50584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18797 /* 50588 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18798 /* 50592 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18799 /* 50596 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18800 /* 50599 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18801 /* 50603 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18802 /* 50607 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18803 /* 50609 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18804 /* 50616 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18805 /* 50616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ256rm),
18806 /* 50619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18807 /* 50621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18808 /* 50625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18809 /* 50630 */ GIR_RootConstrainSelectedInstOperands,
18810 /* 50631 */ // GIR_Coverage, 21346,
18811 /* 50631 */ GIR_EraseRootFromParent_Done,
18812 /* 50632 */ // Label 1235: @50632
18813 /* 50632 */ GIM_Try, /*On fail goto*//*Label 1236*/ GIMT_Encode4(50688), // Rule ID 21352 //
18814 /* 50637 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
18815 /* 50640 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18816 /* 50644 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18817 /* 50648 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18818 /* 50652 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18819 /* 50655 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18820 /* 50659 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18821 /* 50663 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18822 /* 50665 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18823 /* 50672 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2DQZrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18824 /* 50672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZrm),
18825 /* 50675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18826 /* 50677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18827 /* 50681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18828 /* 50686 */ GIR_RootConstrainSelectedInstOperands,
18829 /* 50687 */ // GIR_Coverage, 21352,
18830 /* 50687 */ GIR_EraseRootFromParent_Done,
18831 /* 50688 */ // Label 1236: @50688
18832 /* 50688 */ GIM_Try, /*On fail goto*//*Label 1237*/ GIMT_Encode4(50747), // Rule ID 22197 //
18833 /* 50693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
18834 /* 50696 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
18835 /* 50699 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18836 /* 50703 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18837 /* 50707 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18838 /* 50711 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18839 /* 50714 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18840 /* 50718 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18841 /* 50722 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18842 /* 50724 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18843 /* 50731 */ // (lrint:{ *:[v8i32] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2DQZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
18844 /* 50731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZ256rm),
18845 /* 50734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18846 /* 50736 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18847 /* 50740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18848 /* 50745 */ GIR_RootConstrainSelectedInstOperands,
18849 /* 50746 */ // GIR_Coverage, 22197,
18850 /* 50746 */ GIR_EraseRootFromParent_Done,
18851 /* 50747 */ // Label 1237: @50747
18852 /* 50747 */ GIM_Try, /*On fail goto*//*Label 1238*/ GIMT_Encode4(50777), // Rule ID 18011 //
18853 /* 50752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
18854 /* 50755 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
18855 /* 50758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18856 /* 50762 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
18857 /* 50766 */ // (lrint:{ *:[v8i32] } VR256:{ *:[v8f32] }:$src) => (VCVTPS2DQYrr:{ *:[v8i32] } VR256:{ *:[v8f32] }:$src)
18858 /* 50766 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQYrr),
18859 /* 50771 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18860 /* 50775 */ GIR_RootConstrainSelectedInstOperands,
18861 /* 50776 */ // GIR_Coverage, 18011,
18862 /* 50776 */ GIR_Done,
18863 /* 50777 */ // Label 1238: @50777
18864 /* 50777 */ GIM_Try, /*On fail goto*//*Label 1239*/ GIMT_Encode4(50807), // Rule ID 21345 //
18865 /* 50782 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
18866 /* 50785 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
18867 /* 50788 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18868 /* 50792 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18869 /* 50796 */ // (lrint:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2DQZ256rr:{ *:[v8i32] } VR256X:{ *:[v8f32] }:$src)
18870 /* 50796 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZ256rr),
18871 /* 50801 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18872 /* 50805 */ GIR_RootConstrainSelectedInstOperands,
18873 /* 50806 */ // GIR_Coverage, 21345,
18874 /* 50806 */ GIR_Done,
18875 /* 50807 */ // Label 1239: @50807
18876 /* 50807 */ GIM_Try, /*On fail goto*//*Label 1240*/ GIMT_Encode4(50834), // Rule ID 21351 //
18877 /* 50812 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
18878 /* 50815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18879 /* 50819 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18880 /* 50823 */ // (lrint:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2DQZrr:{ *:[v8i32] } VR512:{ *:[v8f64] }:$src)
18881 /* 50823 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2DQZrr),
18882 /* 50828 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18883 /* 50832 */ GIR_RootConstrainSelectedInstOperands,
18884 /* 50833 */ // GIR_Coverage, 21351,
18885 /* 50833 */ GIR_Done,
18886 /* 50834 */ // Label 1240: @50834
18887 /* 50834 */ GIM_Try, /*On fail goto*//*Label 1241*/ GIMT_Encode4(50864), // Rule ID 22196 //
18888 /* 50839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
18889 /* 50842 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
18890 /* 50845 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18891 /* 50849 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18892 /* 50853 */ // (lrint:{ *:[v8i32] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2DQZ256rr:{ *:[v8i32] } VR128X:{ *:[v8f16] }:$src)
18893 /* 50853 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZ256rr),
18894 /* 50858 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18895 /* 50862 */ GIR_RootConstrainSelectedInstOperands,
18896 /* 50863 */ // GIR_Coverage, 22196,
18897 /* 50863 */ GIR_Done,
18898 /* 50864 */ // Label 1241: @50864
18899 /* 50864 */ GIM_Reject,
18900 /* 50865 */ // Label 1181: @50865
18901 /* 50865 */ GIM_Try, /*On fail goto*//*Label 1242*/ GIMT_Encode4(50921), // Rule ID 21350 //
18902 /* 50870 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
18903 /* 50873 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18904 /* 50877 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18905 /* 50881 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18906 /* 50885 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18907 /* 50888 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18908 /* 50892 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18909 /* 50896 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18910 /* 50898 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18911 /* 50905 */ // (lrint:{ *:[v16i32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2DQZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
18912 /* 50905 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZrm),
18913 /* 50908 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18914 /* 50910 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18915 /* 50914 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18916 /* 50919 */ GIR_RootConstrainSelectedInstOperands,
18917 /* 50920 */ // GIR_Coverage, 21350,
18918 /* 50920 */ GIR_EraseRootFromParent_Done,
18919 /* 50921 */ // Label 1242: @50921
18920 /* 50921 */ GIM_Try, /*On fail goto*//*Label 1243*/ GIMT_Encode4(50980), // Rule ID 22201 //
18921 /* 50926 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18922 /* 50929 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
18923 /* 50932 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18924 /* 50936 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18925 /* 50940 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18926 /* 50944 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18927 /* 50947 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18928 /* 50951 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18929 /* 50955 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18930 /* 50957 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18931 /* 50964 */ // (lrint:{ *:[v16i32] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2DQZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
18932 /* 50964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZrm),
18933 /* 50967 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18934 /* 50969 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18935 /* 50973 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18936 /* 50978 */ GIR_RootConstrainSelectedInstOperands,
18937 /* 50979 */ // GIR_Coverage, 22201,
18938 /* 50979 */ GIR_EraseRootFromParent_Done,
18939 /* 50980 */ // Label 1243: @50980
18940 /* 50980 */ GIM_Try, /*On fail goto*//*Label 1244*/ GIMT_Encode4(51007), // Rule ID 21349 //
18941 /* 50985 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
18942 /* 50988 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18943 /* 50992 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18944 /* 50996 */ // (lrint:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src) => (VCVTPS2DQZrr:{ *:[v16i32] } VR512:{ *:[v16f32] }:$src)
18945 /* 50996 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2DQZrr),
18946 /* 51001 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18947 /* 51005 */ GIR_RootConstrainSelectedInstOperands,
18948 /* 51006 */ // GIR_Coverage, 21349,
18949 /* 51006 */ GIR_Done,
18950 /* 51007 */ // Label 1244: @51007
18951 /* 51007 */ GIM_Try, /*On fail goto*//*Label 1245*/ GIMT_Encode4(51037), // Rule ID 22200 //
18952 /* 51012 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
18953 /* 51015 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
18954 /* 51018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
18955 /* 51022 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
18956 /* 51026 */ // (lrint:{ *:[v16i32] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2DQZrr:{ *:[v16i32] } VR256X:{ *:[v16f16] }:$src)
18957 /* 51026 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2DQZrr),
18958 /* 51031 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18959 /* 51035 */ GIR_RootConstrainSelectedInstOperands,
18960 /* 51036 */ // GIR_Coverage, 22200,
18961 /* 51036 */ GIR_Done,
18962 /* 51037 */ // Label 1245: @51037
18963 /* 51037 */ GIM_Reject,
18964 /* 51038 */ // Label 1182: @51038
18965 /* 51038 */ GIM_Try, /*On fail goto*//*Label 1246*/ GIMT_Encode4(51126),
18966 /* 51043 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
18967 /* 51046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18968 /* 51050 */ GIM_Try, /*On fail goto*//*Label 1247*/ GIMT_Encode4(51102), // Rule ID 21372 //
18969 /* 51055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
18970 /* 51058 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
18971 /* 51062 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
18972 /* 51066 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
18973 /* 51069 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
18974 /* 51073 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
18975 /* 51077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
18976 /* 51079 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
18977 /* 51086 */ // (lrint:{ *:[v2i64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
18978 /* 51086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rm),
18979 /* 51089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
18980 /* 51091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
18981 /* 51095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
18982 /* 51100 */ GIR_RootConstrainSelectedInstOperands,
18983 /* 51101 */ // GIR_Coverage, 21372,
18984 /* 51101 */ GIR_EraseRootFromParent_Done,
18985 /* 51102 */ // Label 1247: @51102
18986 /* 51102 */ GIM_Try, /*On fail goto*//*Label 1248*/ GIMT_Encode4(51125), // Rule ID 21371 //
18987 /* 51107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
18988 /* 51110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
18989 /* 51114 */ // (lrint:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src) => (VCVTPD2QQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src)
18990 /* 51114 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rr),
18991 /* 51119 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
18992 /* 51123 */ GIR_RootConstrainSelectedInstOperands,
18993 /* 51124 */ // GIR_Coverage, 21371,
18994 /* 51124 */ GIR_Done,
18995 /* 51125 */ // Label 1248: @51125
18996 /* 51125 */ GIM_Reject,
18997 /* 51126 */ // Label 1246: @51126
18998 /* 51126 */ GIM_Reject,
18999 /* 51127 */ // Label 1183: @51127
19000 /* 51127 */ GIM_Try, /*On fail goto*//*Label 1249*/ GIMT_Encode4(51186), // Rule ID 21368 //
19001 /* 51132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19002 /* 51135 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
19003 /* 51138 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19004 /* 51142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19005 /* 51146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19006 /* 51150 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19007 /* 51153 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19008 /* 51157 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19009 /* 51161 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19010 /* 51163 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19011 /* 51170 */ // (lrint:{ *:[v4i64] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
19012 /* 51170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rm),
19013 /* 51173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19014 /* 51175 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19015 /* 51179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19016 /* 51184 */ GIR_RootConstrainSelectedInstOperands,
19017 /* 51185 */ // GIR_Coverage, 21368,
19018 /* 51185 */ GIR_EraseRootFromParent_Done,
19019 /* 51186 */ // Label 1249: @51186
19020 /* 51186 */ GIM_Try, /*On fail goto*//*Label 1250*/ GIMT_Encode4(51245), // Rule ID 21374 //
19021 /* 51191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19022 /* 51194 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
19023 /* 51197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19024 /* 51201 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19025 /* 51205 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19026 /* 51209 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19027 /* 51212 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19028 /* 51216 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19029 /* 51220 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19030 /* 51222 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19031 /* 51229 */ // (lrint:{ *:[v4i64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
19032 /* 51229 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rm),
19033 /* 51232 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19034 /* 51234 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19035 /* 51238 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19036 /* 51243 */ GIR_RootConstrainSelectedInstOperands,
19037 /* 51244 */ // GIR_Coverage, 21374,
19038 /* 51244 */ GIR_EraseRootFromParent_Done,
19039 /* 51245 */ // Label 1250: @51245
19040 /* 51245 */ GIM_Try, /*On fail goto*//*Label 1251*/ GIMT_Encode4(51275), // Rule ID 21367 //
19041 /* 51250 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19042 /* 51253 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
19043 /* 51256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19044 /* 51260 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19045 /* 51264 */ // (lrint:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2QQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src)
19046 /* 51264 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rr),
19047 /* 51269 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19048 /* 51273 */ GIR_RootConstrainSelectedInstOperands,
19049 /* 51274 */ // GIR_Coverage, 21367,
19050 /* 51274 */ GIR_Done,
19051 /* 51275 */ // Label 1251: @51275
19052 /* 51275 */ GIM_Try, /*On fail goto*//*Label 1252*/ GIMT_Encode4(51305), // Rule ID 21373 //
19053 /* 51280 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19054 /* 51283 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
19055 /* 51286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19056 /* 51290 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19057 /* 51294 */ // (lrint:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2QQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src)
19058 /* 51294 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rr),
19059 /* 51299 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19060 /* 51303 */ GIR_RootConstrainSelectedInstOperands,
19061 /* 51304 */ // GIR_Coverage, 21373,
19062 /* 51304 */ GIR_Done,
19063 /* 51305 */ // Label 1252: @51305
19064 /* 51305 */ GIM_Reject,
19065 /* 51306 */ // Label 1184: @51306
19066 /* 51306 */ GIM_Try, /*On fail goto*//*Label 1253*/ GIMT_Encode4(51365), // Rule ID 21380 //
19067 /* 51311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19068 /* 51314 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
19069 /* 51317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19070 /* 51321 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19071 /* 51325 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19072 /* 51329 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19073 /* 51332 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19074 /* 51336 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19075 /* 51340 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19076 /* 51342 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19077 /* 51349 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
19078 /* 51349 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrm),
19079 /* 51352 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19080 /* 51354 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19081 /* 51358 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19082 /* 51363 */ GIR_RootConstrainSelectedInstOperands,
19083 /* 51364 */ // GIR_Coverage, 21380,
19084 /* 51364 */ GIR_EraseRootFromParent_Done,
19085 /* 51365 */ // Label 1253: @51365
19086 /* 51365 */ GIM_Try, /*On fail goto*//*Label 1254*/ GIMT_Encode4(51424), // Rule ID 21384 //
19087 /* 51370 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19088 /* 51373 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
19089 /* 51376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19090 /* 51380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19091 /* 51384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19092 /* 51388 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19093 /* 51391 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19094 /* 51395 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19095 /* 51399 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19096 /* 51401 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19097 /* 51408 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
19098 /* 51408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrm),
19099 /* 51411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19100 /* 51413 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19101 /* 51417 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19102 /* 51422 */ GIR_RootConstrainSelectedInstOperands,
19103 /* 51423 */ // GIR_Coverage, 21384,
19104 /* 51423 */ GIR_EraseRootFromParent_Done,
19105 /* 51424 */ // Label 1254: @51424
19106 /* 51424 */ GIM_Try, /*On fail goto*//*Label 1255*/ GIMT_Encode4(51483), // Rule ID 22203 //
19107 /* 51429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19108 /* 51432 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
19109 /* 51435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19110 /* 51439 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19111 /* 51443 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19112 /* 51447 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19113 /* 51450 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19114 /* 51454 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19115 /* 51458 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19116 /* 51460 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19117 /* 51467 */ // (lrint:{ *:[v8i64] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
19118 /* 51467 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrm),
19119 /* 51470 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19120 /* 51472 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19121 /* 51476 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19122 /* 51481 */ GIR_RootConstrainSelectedInstOperands,
19123 /* 51482 */ // GIR_Coverage, 22203,
19124 /* 51482 */ GIR_EraseRootFromParent_Done,
19125 /* 51483 */ // Label 1255: @51483
19126 /* 51483 */ GIM_Try, /*On fail goto*//*Label 1256*/ GIMT_Encode4(51513), // Rule ID 21379 //
19127 /* 51488 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19128 /* 51491 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
19129 /* 51494 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19130 /* 51498 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19131 /* 51502 */ // (lrint:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2QQZrr:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src)
19132 /* 51502 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrr),
19133 /* 51507 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19134 /* 51511 */ GIR_RootConstrainSelectedInstOperands,
19135 /* 51512 */ // GIR_Coverage, 21379,
19136 /* 51512 */ GIR_Done,
19137 /* 51513 */ // Label 1256: @51513
19138 /* 51513 */ GIM_Try, /*On fail goto*//*Label 1257*/ GIMT_Encode4(51543), // Rule ID 21383 //
19139 /* 51518 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19140 /* 51521 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
19141 /* 51524 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19142 /* 51528 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19143 /* 51532 */ // (lrint:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2QQZrr:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src)
19144 /* 51532 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrr),
19145 /* 51537 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19146 /* 51541 */ GIR_RootConstrainSelectedInstOperands,
19147 /* 51542 */ // GIR_Coverage, 21383,
19148 /* 51542 */ GIR_Done,
19149 /* 51543 */ // Label 1257: @51543
19150 /* 51543 */ GIM_Try, /*On fail goto*//*Label 1258*/ GIMT_Encode4(51573), // Rule ID 22202 //
19151 /* 51548 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19152 /* 51551 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
19153 /* 51554 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19154 /* 51558 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19155 /* 51562 */ // (lrint:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2QQZrr:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src)
19156 /* 51562 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrr),
19157 /* 51567 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19158 /* 51571 */ GIR_RootConstrainSelectedInstOperands,
19159 /* 51572 */ // GIR_Coverage, 22202,
19160 /* 51572 */ GIR_Done,
19161 /* 51573 */ // Label 1258: @51573
19162 /* 51573 */ GIM_Reject,
19163 /* 51574 */ // Label 1185: @51574
19164 /* 51574 */ GIM_Reject,
19165 /* 51575 */ // Label 10: @51575
19166 /* 51575 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(4), GIMT_Encode2(25), /*)*//*default:*//*Label 1263*/ GIMT_Encode4(52830),
19167 /* 51586 */ /*GILLT_s64*//*Label 1259*/ GIMT_Encode4(51670), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
19168 /* 51658 */ /*GILLT_v2s64*//*Label 1260*/ GIMT_Encode4(52294),
19169 /* 51662 */ /*GILLT_v4s64*//*Label 1261*/ GIMT_Encode4(52383),
19170 /* 51666 */ /*GILLT_v8s64*//*Label 1262*/ GIMT_Encode4(52562),
19171 /* 51670 */ // Label 1259: @51670
19172 /* 51670 */ GIM_Try, /*On fail goto*//*Label 1264*/ GIMT_Encode4(51729), // Rule ID 1734 //
19173 /* 51675 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19174 /* 51678 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19175 /* 51681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19176 /* 51685 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19177 /* 51689 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19178 /* 51693 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19179 /* 51696 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19180 /* 51700 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19181 /* 51704 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19182 /* 51706 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19183 /* 51713 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19184 /* 51713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rm),
19185 /* 51716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19186 /* 51718 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19187 /* 51722 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19188 /* 51727 */ GIR_RootConstrainSelectedInstOperands,
19189 /* 51728 */ // GIR_Coverage, 1734,
19190 /* 51728 */ GIR_EraseRootFromParent_Done,
19191 /* 51729 */ // Label 1264: @51729
19192 /* 51729 */ GIM_Try, /*On fail goto*//*Label 1265*/ GIMT_Encode4(51788), // Rule ID 1738 //
19193 /* 51734 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19194 /* 51737 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19195 /* 51740 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19196 /* 51744 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19197 /* 51748 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19198 /* 51752 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19199 /* 51755 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19200 /* 51759 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19201 /* 51763 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19202 /* 51765 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19203 /* 51772 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19204 /* 51772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rm),
19205 /* 51775 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19206 /* 51777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19207 /* 51781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19208 /* 51786 */ GIR_RootConstrainSelectedInstOperands,
19209 /* 51787 */ // GIR_Coverage, 1738,
19210 /* 51787 */ GIR_EraseRootFromParent_Done,
19211 /* 51788 */ // Label 1265: @51788
19212 /* 51788 */ GIM_Try, /*On fail goto*//*Label 1266*/ GIMT_Encode4(51847), // Rule ID 1758 //
19213 /* 51793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
19214 /* 51796 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19215 /* 51799 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19216 /* 51803 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19217 /* 51807 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19218 /* 51811 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19219 /* 51814 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19220 /* 51818 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19221 /* 51822 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19222 /* 51824 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19223 /* 51831 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19224 /* 51831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rm),
19225 /* 51834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19226 /* 51836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19227 /* 51840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19228 /* 51845 */ GIR_RootConstrainSelectedInstOperands,
19229 /* 51846 */ // GIR_Coverage, 1758,
19230 /* 51846 */ GIR_EraseRootFromParent_Done,
19231 /* 51847 */ // Label 1266: @51847
19232 /* 51847 */ GIM_Try, /*On fail goto*//*Label 1267*/ GIMT_Encode4(51906), // Rule ID 1762 //
19233 /* 51852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
19234 /* 51855 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19235 /* 51858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19236 /* 51862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19237 /* 51866 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19238 /* 51870 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19239 /* 51873 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19240 /* 51877 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19241 /* 51881 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19242 /* 51883 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19243 /* 51890 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19244 /* 51890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rm),
19245 /* 51893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19246 /* 51895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19247 /* 51899 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19248 /* 51904 */ GIR_RootConstrainSelectedInstOperands,
19249 /* 51905 */ // GIR_Coverage, 1762,
19250 /* 51905 */ GIR_EraseRootFromParent_Done,
19251 /* 51906 */ // Label 1267: @51906
19252 /* 51906 */ GIM_Try, /*On fail goto*//*Label 1268*/ GIMT_Encode4(51965), // Rule ID 10335 //
19253 /* 51911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19254 /* 51914 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19255 /* 51917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19256 /* 51921 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19257 /* 51925 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19258 /* 51929 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19259 /* 51932 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19260 /* 51936 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19261 /* 51940 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19262 /* 51942 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19263 /* 51949 */ // (llrint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19264 /* 51949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrm),
19265 /* 51952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19266 /* 51954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19267 /* 51958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19268 /* 51963 */ GIR_RootConstrainSelectedInstOperands,
19269 /* 51964 */ // GIR_Coverage, 10335,
19270 /* 51964 */ GIR_EraseRootFromParent_Done,
19271 /* 51965 */ // Label 1268: @51965
19272 /* 51965 */ GIM_Try, /*On fail goto*//*Label 1269*/ GIMT_Encode4(52024), // Rule ID 10339 //
19273 /* 51970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19274 /* 51973 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19275 /* 51976 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19276 /* 51980 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19277 /* 51984 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19278 /* 51988 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19279 /* 51991 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19280 /* 51995 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19281 /* 51999 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19282 /* 52001 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19283 /* 52008 */ // (llrint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19284 /* 52008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrm),
19285 /* 52011 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19286 /* 52013 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19287 /* 52017 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19288 /* 52022 */ GIR_RootConstrainSelectedInstOperands,
19289 /* 52023 */ // GIR_Coverage, 10339,
19290 /* 52023 */ GIR_EraseRootFromParent_Done,
19291 /* 52024 */ // Label 1269: @52024
19292 /* 52024 */ GIM_Try, /*On fail goto*//*Label 1270*/ GIMT_Encode4(52083), // Rule ID 22212 //
19293 /* 52029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_In64BitMode),
19294 /* 52032 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
19295 /* 52035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19296 /* 52039 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19297 /* 52043 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19298 /* 52047 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19299 /* 52050 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19300 /* 52054 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19301 /* 52058 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19302 /* 52060 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19303 /* 52067 */ // (llrint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
19304 /* 52067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
19305 /* 52070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19306 /* 52072 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19307 /* 52076 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19308 /* 52081 */ GIR_RootConstrainSelectedInstOperands,
19309 /* 52082 */ // GIR_Coverage, 22212,
19310 /* 52082 */ GIR_EraseRootFromParent_Done,
19311 /* 52083 */ // Label 1270: @52083
19312 /* 52083 */ GIM_Try, /*On fail goto*//*Label 1271*/ GIMT_Encode4(52113), // Rule ID 1733 //
19313 /* 52088 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19314 /* 52091 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19315 /* 52094 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19316 /* 52098 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19317 /* 52102 */ // (llrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
19318 /* 52102 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64rr),
19319 /* 52107 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19320 /* 52111 */ GIR_RootConstrainSelectedInstOperands,
19321 /* 52112 */ // GIR_Coverage, 1733,
19322 /* 52112 */ GIR_Done,
19323 /* 52113 */ // Label 1271: @52113
19324 /* 52113 */ GIM_Try, /*On fail goto*//*Label 1272*/ GIMT_Encode4(52143), // Rule ID 1737 //
19325 /* 52118 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19326 /* 52121 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19327 /* 52124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19328 /* 52128 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
19329 /* 52132 */ // (llrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
19330 /* 52132 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64rr),
19331 /* 52137 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19332 /* 52141 */ GIR_RootConstrainSelectedInstOperands,
19333 /* 52142 */ // GIR_Coverage, 1737,
19334 /* 52142 */ GIR_Done,
19335 /* 52143 */ // Label 1272: @52143
19336 /* 52143 */ GIM_Try, /*On fail goto*//*Label 1273*/ GIMT_Encode4(52173), // Rule ID 1757 //
19337 /* 52148 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
19338 /* 52151 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19339 /* 52154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19340 /* 52158 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19341 /* 52162 */ // (llrint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
19342 /* 52162 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SI64rr),
19343 /* 52167 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19344 /* 52171 */ GIR_RootConstrainSelectedInstOperands,
19345 /* 52172 */ // GIR_Coverage, 1757,
19346 /* 52172 */ GIR_Done,
19347 /* 52173 */ // Label 1273: @52173
19348 /* 52173 */ GIM_Try, /*On fail goto*//*Label 1274*/ GIMT_Encode4(52203), // Rule ID 1761 //
19349 /* 52178 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
19350 /* 52181 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19351 /* 52184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19352 /* 52188 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
19353 /* 52192 */ // (llrint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
19354 /* 52192 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SI64rr),
19355 /* 52197 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19356 /* 52201 */ GIR_RootConstrainSelectedInstOperands,
19357 /* 52202 */ // GIR_Coverage, 1761,
19358 /* 52202 */ GIR_Done,
19359 /* 52203 */ // Label 1274: @52203
19360 /* 52203 */ GIM_Try, /*On fail goto*//*Label 1275*/ GIMT_Encode4(52233), // Rule ID 10334 //
19361 /* 52208 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19362 /* 52211 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
19363 /* 52214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19364 /* 52218 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
19365 /* 52222 */ // (llrint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
19366 /* 52222 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SI64Zrr),
19367 /* 52227 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19368 /* 52231 */ GIR_RootConstrainSelectedInstOperands,
19369 /* 52232 */ // GIR_Coverage, 10334,
19370 /* 52232 */ GIR_Done,
19371 /* 52233 */ // Label 1275: @52233
19372 /* 52233 */ GIM_Try, /*On fail goto*//*Label 1276*/ GIMT_Encode4(52263), // Rule ID 10338 //
19373 /* 52238 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19374 /* 52241 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
19375 /* 52244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19376 /* 52248 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
19377 /* 52252 */ // (llrint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
19378 /* 52252 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SI64Zrr),
19379 /* 52257 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19380 /* 52261 */ GIR_RootConstrainSelectedInstOperands,
19381 /* 52262 */ // GIR_Coverage, 10338,
19382 /* 52262 */ GIR_Done,
19383 /* 52263 */ // Label 1276: @52263
19384 /* 52263 */ GIM_Try, /*On fail goto*//*Label 1277*/ GIMT_Encode4(52293), // Rule ID 22211 //
19385 /* 52268 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_In64BitMode),
19386 /* 52271 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
19387 /* 52274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
19388 /* 52278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
19389 /* 52282 */ // (llrint:{ *:[i64] } FR16:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16:{ *:[f16] }:$src)
19390 /* 52282 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
19391 /* 52287 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19392 /* 52291 */ GIR_RootConstrainSelectedInstOperands,
19393 /* 52292 */ // GIR_Coverage, 22211,
19394 /* 52292 */ GIR_Done,
19395 /* 52293 */ // Label 1277: @52293
19396 /* 52293 */ GIM_Reject,
19397 /* 52294 */ // Label 1260: @52294
19398 /* 52294 */ GIM_Try, /*On fail goto*//*Label 1278*/ GIMT_Encode4(52382),
19399 /* 52299 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
19400 /* 52302 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19401 /* 52306 */ GIM_Try, /*On fail goto*//*Label 1279*/ GIMT_Encode4(52358), // Rule ID 21376 //
19402 /* 52311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19403 /* 52314 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19404 /* 52318 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19405 /* 52322 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19406 /* 52325 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19407 /* 52329 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19408 /* 52333 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19409 /* 52335 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19410 /* 52342 */ // (llrint:{ *:[v2i64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
19411 /* 52342 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rm),
19412 /* 52345 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19413 /* 52347 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19414 /* 52351 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19415 /* 52356 */ GIR_RootConstrainSelectedInstOperands,
19416 /* 52357 */ // GIR_Coverage, 21376,
19417 /* 52357 */ GIR_EraseRootFromParent_Done,
19418 /* 52358 */ // Label 1279: @52358
19419 /* 52358 */ GIM_Try, /*On fail goto*//*Label 1280*/ GIMT_Encode4(52381), // Rule ID 21375 //
19420 /* 52363 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19421 /* 52366 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19422 /* 52370 */ // (llrint:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src) => (VCVTPD2QQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2f64] }:$src)
19423 /* 52370 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ128rr),
19424 /* 52375 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19425 /* 52379 */ GIR_RootConstrainSelectedInstOperands,
19426 /* 52380 */ // GIR_Coverage, 21375,
19427 /* 52380 */ GIR_Done,
19428 /* 52381 */ // Label 1280: @52381
19429 /* 52381 */ GIM_Reject,
19430 /* 52382 */ // Label 1278: @52382
19431 /* 52382 */ GIM_Reject,
19432 /* 52383 */ // Label 1261: @52383
19433 /* 52383 */ GIM_Try, /*On fail goto*//*Label 1281*/ GIMT_Encode4(52442), // Rule ID 21370 //
19434 /* 52388 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19435 /* 52391 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
19436 /* 52394 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19437 /* 52398 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19438 /* 52402 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19439 /* 52406 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19440 /* 52409 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19441 /* 52413 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19442 /* 52417 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19443 /* 52419 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19444 /* 52426 */ // (llrint:{ *:[v4i64] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
19445 /* 52426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rm),
19446 /* 52429 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19447 /* 52431 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19448 /* 52435 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19449 /* 52440 */ GIR_RootConstrainSelectedInstOperands,
19450 /* 52441 */ // GIR_Coverage, 21370,
19451 /* 52441 */ GIR_EraseRootFromParent_Done,
19452 /* 52442 */ // Label 1281: @52442
19453 /* 52442 */ GIM_Try, /*On fail goto*//*Label 1282*/ GIMT_Encode4(52501), // Rule ID 21378 //
19454 /* 52447 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19455 /* 52450 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
19456 /* 52453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19457 /* 52457 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19458 /* 52461 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19459 /* 52465 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19460 /* 52468 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19461 /* 52472 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19462 /* 52476 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19463 /* 52478 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19464 /* 52485 */ // (llrint:{ *:[v4i64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
19465 /* 52485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rm),
19466 /* 52488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19467 /* 52490 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19468 /* 52494 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19469 /* 52499 */ GIR_RootConstrainSelectedInstOperands,
19470 /* 52500 */ // GIR_Coverage, 21378,
19471 /* 52500 */ GIR_EraseRootFromParent_Done,
19472 /* 52501 */ // Label 1282: @52501
19473 /* 52501 */ GIM_Try, /*On fail goto*//*Label 1283*/ GIMT_Encode4(52531), // Rule ID 21369 //
19474 /* 52506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19475 /* 52509 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
19476 /* 52512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19477 /* 52516 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19478 /* 52520 */ // (llrint:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2QQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4f32] }:$src)
19479 /* 52520 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZ256rr),
19480 /* 52525 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19481 /* 52529 */ GIR_RootConstrainSelectedInstOperands,
19482 /* 52530 */ // GIR_Coverage, 21369,
19483 /* 52530 */ GIR_Done,
19484 /* 52531 */ // Label 1283: @52531
19485 /* 52531 */ GIM_Try, /*On fail goto*//*Label 1284*/ GIMT_Encode4(52561), // Rule ID 21377 //
19486 /* 52536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
19487 /* 52539 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
19488 /* 52542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19489 /* 52546 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19490 /* 52550 */ // (llrint:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src) => (VCVTPD2QQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4f64] }:$src)
19491 /* 52550 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZ256rr),
19492 /* 52555 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19493 /* 52559 */ GIR_RootConstrainSelectedInstOperands,
19494 /* 52560 */ // GIR_Coverage, 21377,
19495 /* 52560 */ GIR_Done,
19496 /* 52561 */ // Label 1284: @52561
19497 /* 52561 */ GIM_Reject,
19498 /* 52562 */ // Label 1262: @52562
19499 /* 52562 */ GIM_Try, /*On fail goto*//*Label 1285*/ GIMT_Encode4(52621), // Rule ID 21382 //
19500 /* 52567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19501 /* 52570 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
19502 /* 52573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19503 /* 52577 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19504 /* 52581 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19505 /* 52585 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19506 /* 52588 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19507 /* 52592 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19508 /* 52596 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19509 /* 52598 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19510 /* 52605 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPS2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
19511 /* 52605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrm),
19512 /* 52608 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19513 /* 52610 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19514 /* 52614 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19515 /* 52619 */ GIR_RootConstrainSelectedInstOperands,
19516 /* 52620 */ // GIR_Coverage, 21382,
19517 /* 52620 */ GIR_EraseRootFromParent_Done,
19518 /* 52621 */ // Label 1285: @52621
19519 /* 52621 */ GIM_Try, /*On fail goto*//*Label 1286*/ GIMT_Encode4(52680), // Rule ID 21386 //
19520 /* 52626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19521 /* 52629 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
19522 /* 52632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19523 /* 52636 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19524 /* 52640 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19525 /* 52644 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19526 /* 52647 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19527 /* 52651 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19528 /* 52655 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19529 /* 52657 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19530 /* 52664 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPD2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
19531 /* 52664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrm),
19532 /* 52667 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19533 /* 52669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19534 /* 52673 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19535 /* 52678 */ GIR_RootConstrainSelectedInstOperands,
19536 /* 52679 */ // GIR_Coverage, 21386,
19537 /* 52679 */ GIR_EraseRootFromParent_Done,
19538 /* 52680 */ // Label 1286: @52680
19539 /* 52680 */ GIM_Try, /*On fail goto*//*Label 1287*/ GIMT_Encode4(52739), // Rule ID 22205 //
19540 /* 52685 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19541 /* 52688 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
19542 /* 52691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19543 /* 52695 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
19544 /* 52699 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
19545 /* 52703 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19546 /* 52706 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
19547 /* 52710 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
19548 /* 52714 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
19549 /* 52716 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19550 /* 52723 */ // (llrint:{ *:[v8i64] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTPH2QQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
19551 /* 52723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrm),
19552 /* 52726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19553 /* 52728 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19554 /* 52732 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
19555 /* 52737 */ GIR_RootConstrainSelectedInstOperands,
19556 /* 52738 */ // GIR_Coverage, 22205,
19557 /* 52738 */ GIR_EraseRootFromParent_Done,
19558 /* 52739 */ // Label 1287: @52739
19559 /* 52739 */ GIM_Try, /*On fail goto*//*Label 1288*/ GIMT_Encode4(52769), // Rule ID 21381 //
19560 /* 52744 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19561 /* 52747 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
19562 /* 52750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19563 /* 52754 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
19564 /* 52758 */ // (llrint:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2QQZrr:{ *:[v8i64] } VR256X:{ *:[v8f32] }:$src)
19565 /* 52758 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2QQZrr),
19566 /* 52763 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19567 /* 52767 */ GIR_RootConstrainSelectedInstOperands,
19568 /* 52768 */ // GIR_Coverage, 21381,
19569 /* 52768 */ GIR_Done,
19570 /* 52769 */ // Label 1288: @52769
19571 /* 52769 */ GIM_Try, /*On fail goto*//*Label 1289*/ GIMT_Encode4(52799), // Rule ID 21385 //
19572 /* 52774 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19573 /* 52777 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
19574 /* 52780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19575 /* 52784 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19576 /* 52788 */ // (llrint:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src) => (VCVTPD2QQZrr:{ *:[v8i64] } VR512:{ *:[v8f64] }:$src)
19577 /* 52788 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPD2QQZrr),
19578 /* 52793 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19579 /* 52797 */ GIR_RootConstrainSelectedInstOperands,
19580 /* 52798 */ // GIR_Coverage, 21385,
19581 /* 52798 */ GIR_Done,
19582 /* 52799 */ // Label 1289: @52799
19583 /* 52799 */ GIM_Try, /*On fail goto*//*Label 1290*/ GIMT_Encode4(52829), // Rule ID 22204 //
19584 /* 52804 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19585 /* 52807 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
19586 /* 52810 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
19587 /* 52814 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
19588 /* 52818 */ // (llrint:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2QQZrr:{ *:[v8i64] } VR128X:{ *:[v8f16] }:$src)
19589 /* 52818 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2QQZrr),
19590 /* 52823 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
19591 /* 52827 */ GIR_RootConstrainSelectedInstOperands,
19592 /* 52828 */ // GIR_Coverage, 22204,
19593 /* 52828 */ GIR_Done,
19594 /* 52829 */ // Label 1290: @52829
19595 /* 52829 */ GIM_Reject,
19596 /* 52830 */ // Label 1263: @52830
19597 /* 52830 */ GIM_Reject,
19598 /* 52831 */ // Label 11: @52831
19599 /* 52831 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(25), /*)*//*default:*//*Label 1316*/ GIMT_Encode4(59046),
19600 /* 52842 */ /*GILLT_s1*//*Label 1291*/ GIMT_Encode4(52942),
19601 /* 52846 */ /*GILLT_s8*//*Label 1292*/ GIMT_Encode4(53009),
19602 /* 52850 */ /*GILLT_s16*//*Label 1293*/ GIMT_Encode4(53150),
19603 /* 52854 */ /*GILLT_s32*//*Label 1294*/ GIMT_Encode4(53703),
19604 /* 52858 */ /*GILLT_s64*//*Label 1295*/ GIMT_Encode4(54125),
19605 /* 52862 */ /*GILLT_s80*//*Label 1296*/ GIMT_Encode4(54689),
19606 /* 52866 */ /*GILLT_s128*//*Label 1297*/ GIMT_Encode4(54848),
19607 /* 52870 */ /*GILLT_v2s1*//*Label 1298*/ GIMT_Encode4(54976),
19608 /* 52874 */ /*GILLT_v4s1*//*Label 1299*/ GIMT_Encode4(55043),
19609 /* 52878 */ /*GILLT_v8s1*//*Label 1300*/ GIMT_Encode4(55110),
19610 /* 52882 */ /*GILLT_v16s1*//*Label 1301*/ GIMT_Encode4(55192),
19611 /* 52886 */ /*GILLT_v32s1*//*Label 1302*/ GIMT_Encode4(55274),
19612 /* 52890 */ /*GILLT_v64s1*//*Label 1303*/ GIMT_Encode4(55356),
19613 /* 52894 */ /*GILLT_v16s8*//*Label 1304*/ GIMT_Encode4(55438),
19614 /* 52898 */ /*GILLT_v32s8*//*Label 1305*/ GIMT_Encode4(55692),
19615 /* 52902 */ /*GILLT_v64s8*//*Label 1306*/ GIMT_Encode4(55866),
19616 /* 52906 */ /*GILLT_v8s16*//*Label 1307*/ GIMT_Encode4(55960),
19617 /* 52910 */ /*GILLT_v16s16*//*Label 1308*/ GIMT_Encode4(56534),
19618 /* 52914 */ /*GILLT_v32s16*//*Label 1309*/ GIMT_Encode4(56868),
19619 /* 52918 */ /*GILLT_v4s32*//*Label 1310*/ GIMT_Encode4(57042),
19620 /* 52922 */ /*GILLT_v8s32*//*Label 1311*/ GIMT_Encode4(57536),
19621 /* 52926 */ /*GILLT_v16s32*//*Label 1312*/ GIMT_Encode4(57870),
19622 /* 52930 */ /*GILLT_v2s64*//*Label 1313*/ GIMT_Encode4(58044),
19623 /* 52934 */ /*GILLT_v4s64*//*Label 1314*/ GIMT_Encode4(58538),
19624 /* 52938 */ /*GILLT_v8s64*//*Label 1315*/ GIMT_Encode4(58872),
19625 /* 52942 */ // Label 1291: @52942
19626 /* 52942 */ GIM_Try, /*On fail goto*//*Label 1317*/ GIMT_Encode4(53008), // Rule ID 19419 //
19627 /* 52947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
19628 /* 52950 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19629 /* 52953 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19630 /* 52957 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
19631 /* 52961 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19632 /* 52965 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19633 /* 52972 */ // (ld:{ *:[v1i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v1i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK1:{ *:[i32] })
19634 /* 52972 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
19635 /* 52975 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
19636 /* 52979 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19637 /* 52984 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19638 /* 52988 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19639 /* 52992 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19640 /* 52994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19641 /* 52997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19642 /* 52999 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19643 /* 53002 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
19644 /* 53007 */ // GIR_Coverage, 19419,
19645 /* 53007 */ GIR_EraseRootFromParent_Done,
19646 /* 53008 */ // Label 1317: @53008
19647 /* 53008 */ GIM_Reject,
19648 /* 53009 */ // Label 1292: @53009
19649 /* 53009 */ GIM_Try, /*On fail goto*//*Label 1318*/ GIMT_Encode4(53058), // Rule ID 22552 //
19650 /* 53014 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19651 /* 53017 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19652 /* 53021 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19653 /* 53028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
19654 /* 53032 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19655 /* 53036 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19656 /* 53043 */ // (atomic_load:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_8>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
19657 /* 53043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
19658 /* 53046 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19659 /* 53048 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19660 /* 53052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19661 /* 53056 */ GIR_RootConstrainSelectedInstOperands,
19662 /* 53057 */ // GIR_Coverage, 22552,
19663 /* 53057 */ GIR_EraseRootFromParent_Done,
19664 /* 53058 */ // Label 1318: @53058
19665 /* 53058 */ GIM_Try, /*On fail goto*//*Label 1319*/ GIMT_Encode4(53107), // Rule ID 22638 //
19666 /* 53063 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19667 /* 53066 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19668 /* 53070 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19669 /* 53077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
19670 /* 53081 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19671 /* 53085 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19672 /* 53092 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
19673 /* 53092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
19674 /* 53095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19675 /* 53097 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19676 /* 53101 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19677 /* 53105 */ GIR_RootConstrainSelectedInstOperands,
19678 /* 53106 */ // GIR_Coverage, 22638,
19679 /* 53106 */ GIR_EraseRootFromParent_Done,
19680 /* 53107 */ // Label 1319: @53107
19681 /* 53107 */ GIM_Try, /*On fail goto*//*Label 1320*/ GIMT_Encode4(53149), // Rule ID 28 //
19682 /* 53112 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19683 /* 53115 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
19684 /* 53119 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19685 /* 53123 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
19686 /* 53127 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19687 /* 53134 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
19688 /* 53134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
19689 /* 53137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19690 /* 53139 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19691 /* 53143 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19692 /* 53147 */ GIR_RootConstrainSelectedInstOperands,
19693 /* 53148 */ // GIR_Coverage, 28,
19694 /* 53148 */ GIR_EraseRootFromParent_Done,
19695 /* 53149 */ // Label 1320: @53149
19696 /* 53149 */ GIM_Reject,
19697 /* 53150 */ // Label 1293: @53150
19698 /* 53150 */ GIM_Try, /*On fail goto*//*Label 1321*/ GIMT_Encode4(53199), // Rule ID 22553 //
19699 /* 53155 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19700 /* 53158 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19701 /* 53162 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
19702 /* 53169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19703 /* 53173 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19704 /* 53177 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19705 /* 53184 */ // (atomic_load:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_16>> => (MOV16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19706 /* 53184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16rm),
19707 /* 53187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19708 /* 53189 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19709 /* 53193 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19710 /* 53197 */ GIR_RootConstrainSelectedInstOperands,
19711 /* 53198 */ // GIR_Coverage, 22553,
19712 /* 53198 */ GIR_EraseRootFromParent_Done,
19713 /* 53199 */ // Label 1321: @53199
19714 /* 53199 */ GIM_Try, /*On fail goto*//*Label 1322*/ GIMT_Encode4(53278), // Rule ID 22639 //
19715 /* 53204 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19716 /* 53207 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19717 /* 53211 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19718 /* 53218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19719 /* 53222 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19720 /* 53226 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19721 /* 53233 */ // (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] })
19722 /* 53233 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19723 /* 53236 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19724 /* 53240 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19725 /* 53245 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19726 /* 53249 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19727 /* 53253 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19728 /* 53255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19729 /* 53258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19730 /* 53260 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
19731 /* 53267 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
19732 /* 53272 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19733 /* 53277 */ // GIR_Coverage, 22639,
19734 /* 53277 */ GIR_EraseRootFromParent_Done,
19735 /* 53278 */ // Label 1322: @53278
19736 /* 53278 */ GIM_Try, /*On fail goto*//*Label 1323*/ GIMT_Encode4(53357), // Rule ID 22641 //
19737 /* 53283 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19738 /* 53286 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19739 /* 53290 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19740 /* 53297 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19741 /* 53301 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19742 /* 53305 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19743 /* 53312 */ // (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] })
19744 /* 53312 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
19745 /* 53315 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19746 /* 53319 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19747 /* 53324 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19748 /* 53328 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19749 /* 53332 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19750 /* 53334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19751 /* 53337 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19752 /* 53339 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
19753 /* 53346 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
19754 /* 53351 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
19755 /* 53356 */ // GIR_Coverage, 22641,
19756 /* 53356 */ GIR_EraseRootFromParent_Done,
19757 /* 53357 */ // Label 1323: @53357
19758 /* 53357 */ GIM_Try, /*On fail goto*//*Label 1324*/ GIMT_Encode4(53402), // Rule ID 4601 //
19759 /* 53362 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
19760 /* 53365 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19761 /* 53368 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19762 /* 53372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
19763 /* 53376 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19764 /* 53380 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19765 /* 53387 */ // (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSHZrm_alt:{ *:[f16] } addr:{ *:[iPTR] }:$src)
19766 /* 53387 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSHZrm_alt),
19767 /* 53390 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19768 /* 53392 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19769 /* 53396 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19770 /* 53400 */ GIR_RootConstrainSelectedInstOperands,
19771 /* 53401 */ // GIR_Coverage, 4601,
19772 /* 53401 */ GIR_EraseRootFromParent_Done,
19773 /* 53402 */ // Label 1324: @53402
19774 /* 53402 */ GIM_Try, /*On fail goto*//*Label 1325*/ GIMT_Encode4(53488), // Rule ID 18305 //
19775 /* 53407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
19776 /* 53410 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19777 /* 53413 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19778 /* 53417 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
19779 /* 53421 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19780 /* 53425 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19781 /* 53432 */ // (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] })
19782 /* 53432 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
19783 /* 53435 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
19784 /* 53439 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19785 /* 53444 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19786 /* 53446 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
19787 /* 53449 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWrmi),
19788 /* 53453 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19789 /* 53458 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
19790 /* 53461 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19791 /* 53465 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
19792 /* 53468 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19793 /* 53472 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19794 /* 53474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19795 /* 53477 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19796 /* 53479 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19797 /* 53482 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
19798 /* 53487 */ // GIR_Coverage, 18305,
19799 /* 53487 */ GIR_EraseRootFromParent_Done,
19800 /* 53488 */ // Label 1325: @53488
19801 /* 53488 */ GIM_Try, /*On fail goto*//*Label 1326*/ GIMT_Encode4(53530), // Rule ID 29 //
19802 /* 53493 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19803 /* 53496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
19804 /* 53500 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19805 /* 53504 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
19806 /* 53508 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19807 /* 53515 */ // (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>> => (MOV16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19808 /* 53515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16rm),
19809 /* 53518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19810 /* 53520 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19811 /* 53524 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19812 /* 53528 */ GIR_RootConstrainSelectedInstOperands,
19813 /* 53529 */ // GIR_Coverage, 29,
19814 /* 53529 */ GIR_EraseRootFromParent_Done,
19815 /* 53530 */ // Label 1326: @53530
19816 /* 53530 */ GIM_Try, /*On fail goto*//*Label 1327*/ GIMT_Encode4(53616), // Rule ID 18301 //
19817 /* 53535 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
19818 /* 53538 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19819 /* 53541 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19820 /* 53545 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
19821 /* 53549 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19822 /* 53553 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19823 /* 53560 */ // (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] })
19824 /* 53560 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
19825 /* 53563 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
19826 /* 53567 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19827 /* 53572 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19828 /* 53574 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
19829 /* 53577 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::PINSRWrmi),
19830 /* 53581 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19831 /* 53586 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
19832 /* 53589 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19833 /* 53593 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
19834 /* 53596 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19835 /* 53600 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19836 /* 53602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19837 /* 53605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19838 /* 53607 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19839 /* 53610 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
19840 /* 53615 */ // GIR_Coverage, 18301,
19841 /* 53615 */ GIR_EraseRootFromParent_Done,
19842 /* 53616 */ // Label 1327: @53616
19843 /* 53616 */ GIM_Try, /*On fail goto*//*Label 1328*/ GIMT_Encode4(53702), // Rule ID 21826 //
19844 /* 53621 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
19845 /* 53624 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19846 /* 53627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19847 /* 53631 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
19848 /* 53635 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19849 /* 53639 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19850 /* 53646 */ // (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] })
19851 /* 53646 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s16,
19852 /* 53649 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
19853 /* 53653 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19854 /* 53658 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
19855 /* 53660 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s128,
19856 /* 53663 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPINSRWZrmi),
19857 /* 53667 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
19858 /* 53672 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
19859 /* 53675 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
19860 /* 53679 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/0,
19861 /* 53682 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
19862 /* 53686 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
19863 /* 53688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
19864 /* 53691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19865 /* 53693 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
19866 /* 53696 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
19867 /* 53701 */ // GIR_Coverage, 21826,
19868 /* 53701 */ GIR_EraseRootFromParent_Done,
19869 /* 53702 */ // Label 1328: @53702
19870 /* 53702 */ GIM_Reject,
19871 /* 53703 */ // Label 1294: @53703
19872 /* 53703 */ GIM_Try, /*On fail goto*//*Label 1329*/ GIMT_Encode4(53751), // Rule ID 1056 //
19873 /* 53708 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
19874 /* 53711 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19875 /* 53714 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19876 /* 53718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
19877 /* 53722 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19878 /* 53726 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19879 /* 53733 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp32m:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
19880 /* 53733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m),
19881 /* 53736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19882 /* 53738 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19883 /* 53742 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
19884 /* 53745 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19885 /* 53749 */ GIR_RootConstrainSelectedInstOperands,
19886 /* 53750 */ // GIR_Coverage, 1056,
19887 /* 53750 */ GIR_EraseRootFromParent_Done,
19888 /* 53751 */ // Label 1329: @53751
19889 /* 53751 */ GIM_Try, /*On fail goto*//*Label 1330*/ GIMT_Encode4(53796), // Rule ID 1673 //
19890 /* 53756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
19891 /* 53759 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19892 /* 53762 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19893 /* 53766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19894 /* 53770 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19895 /* 53774 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19896 /* 53781 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSSrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
19897 /* 53781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSrm_alt),
19898 /* 53784 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19899 /* 53786 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19900 /* 53790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19901 /* 53794 */ GIR_RootConstrainSelectedInstOperands,
19902 /* 53795 */ // GIR_Coverage, 1673,
19903 /* 53795 */ GIR_EraseRootFromParent_Done,
19904 /* 53796 */ // Label 1330: @53796
19905 /* 53796 */ GIM_Try, /*On fail goto*//*Label 1331*/ GIMT_Encode4(53841), // Rule ID 1674 //
19906 /* 53801 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
19907 /* 53804 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19908 /* 53807 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19909 /* 53811 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
19910 /* 53815 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19911 /* 53819 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19912 /* 53826 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVSSrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
19913 /* 53826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSrm_alt),
19914 /* 53829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19915 /* 53831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19916 /* 53835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19917 /* 53839 */ GIR_RootConstrainSelectedInstOperands,
19918 /* 53840 */ // GIR_Coverage, 1674,
19919 /* 53840 */ GIR_EraseRootFromParent_Done,
19920 /* 53841 */ // Label 1331: @53841
19921 /* 53841 */ GIM_Try, /*On fail goto*//*Label 1332*/ GIMT_Encode4(53890), // Rule ID 22554 //
19922 /* 53846 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
19923 /* 53849 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19924 /* 53853 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
19925 /* 53860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19926 /* 53864 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19927 /* 53868 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19928 /* 53875 */ // (atomic_load:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_32>> => (MOV32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19929 /* 53875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
19930 /* 53878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19931 /* 53880 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19932 /* 53884 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19933 /* 53888 */ GIR_RootConstrainSelectedInstOperands,
19934 /* 53889 */ // GIR_Coverage, 22554,
19935 /* 53889 */ GIR_EraseRootFromParent_Done,
19936 /* 53890 */ // Label 1332: @53890
19937 /* 53890 */ GIM_Try, /*On fail goto*//*Label 1333*/ GIMT_Encode4(53939), // Rule ID 22640 //
19938 /* 53895 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19939 /* 53898 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19940 /* 53902 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19941 /* 53909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19942 /* 53913 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19943 /* 53917 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19944 /* 53924 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19945 /* 53924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19946 /* 53927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19947 /* 53929 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19948 /* 53933 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19949 /* 53937 */ GIR_RootConstrainSelectedInstOperands,
19950 /* 53938 */ // GIR_Coverage, 22640,
19951 /* 53938 */ GIR_EraseRootFromParent_Done,
19952 /* 53939 */ // Label 1333: @53939
19953 /* 53939 */ GIM_Try, /*On fail goto*//*Label 1334*/ GIMT_Encode4(53988), // Rule ID 22642 //
19954 /* 53944 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19955 /* 53947 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19956 /* 53951 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
19957 /* 53958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19958 /* 53962 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19959 /* 53966 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19960 /* 53973 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19961 /* 53973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
19962 /* 53976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19963 /* 53978 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19964 /* 53982 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19965 /* 53986 */ GIR_RootConstrainSelectedInstOperands,
19966 /* 53987 */ // GIR_Coverage, 22642,
19967 /* 53987 */ GIR_EraseRootFromParent_Done,
19968 /* 53988 */ // Label 1334: @53988
19969 /* 53988 */ GIM_Try, /*On fail goto*//*Label 1335*/ GIMT_Encode4(54037), // Rule ID 22643 //
19970 /* 53993 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19971 /* 53996 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19972 /* 54000 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
19973 /* 54007 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
19974 /* 54011 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19975 /* 54015 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19976 /* 54022 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> => (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
19977 /* 54022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
19978 /* 54025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19979 /* 54027 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19980 /* 54031 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19981 /* 54035 */ GIR_RootConstrainSelectedInstOperands,
19982 /* 54036 */ // GIR_Coverage, 22643,
19983 /* 54036 */ GIR_EraseRootFromParent_Done,
19984 /* 54037 */ // Label 1335: @54037
19985 /* 54037 */ GIM_Try, /*On fail goto*//*Label 1336*/ GIMT_Encode4(54082), // Rule ID 4589 //
19986 /* 54042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
19987 /* 54045 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
19988 /* 54048 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
19989 /* 54052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
19990 /* 54056 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
19991 /* 54060 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
19992 /* 54067 */ // (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSSZrm_alt:{ *:[f32] } addr:{ *:[iPTR] }:$src)
19993 /* 54067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZrm_alt),
19994 /* 54070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
19995 /* 54072 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
19996 /* 54076 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
19997 /* 54080 */ GIR_RootConstrainSelectedInstOperands,
19998 /* 54081 */ // GIR_Coverage, 4589,
19999 /* 54081 */ GIR_EraseRootFromParent_Done,
20000 /* 54082 */ // Label 1336: @54082
20001 /* 54082 */ GIM_Try, /*On fail goto*//*Label 1337*/ GIMT_Encode4(54124), // Rule ID 30 //
20002 /* 54087 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20003 /* 54090 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
20004 /* 54094 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20005 /* 54098 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
20006 /* 54102 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20007 /* 54109 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>> => (MOV32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
20008 /* 54109 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
20009 /* 54112 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20010 /* 54114 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20011 /* 54118 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20012 /* 54122 */ GIR_RootConstrainSelectedInstOperands,
20013 /* 54123 */ // GIR_Coverage, 30,
20014 /* 54123 */ GIR_EraseRootFromParent_Done,
20015 /* 54124 */ // Label 1337: @54124
20016 /* 54124 */ GIM_Reject,
20017 /* 54125 */ // Label 1295: @54125
20018 /* 54125 */ GIM_Try, /*On fail goto*//*Label 1338*/ GIMT_Encode4(54167), // Rule ID 31 //
20019 /* 54130 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20020 /* 54133 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20021 /* 54137 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20022 /* 54141 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20023 /* 54145 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20024 /* 54152 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOV64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
20025 /* 54152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64rm),
20026 /* 54155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20027 /* 54157 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20028 /* 54161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20029 /* 54165 */ GIR_RootConstrainSelectedInstOperands,
20030 /* 54166 */ // GIR_Coverage, 31,
20031 /* 54166 */ GIR_EraseRootFromParent_Done,
20032 /* 54167 */ // Label 1338: @54167
20033 /* 54167 */ GIM_Try, /*On fail goto*//*Label 1339*/ GIMT_Encode4(54215), // Rule ID 1057 //
20034 /* 54172 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
20035 /* 54175 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20036 /* 54178 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20037 /* 54182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
20038 /* 54186 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20039 /* 54190 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20040 /* 54197 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp64m:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
20041 /* 54197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp64m),
20042 /* 54200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20043 /* 54202 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20044 /* 54206 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
20045 /* 54209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20046 /* 54213 */ GIR_RootConstrainSelectedInstOperands,
20047 /* 54214 */ // GIR_Coverage, 1057,
20048 /* 54214 */ GIR_EraseRootFromParent_Done,
20049 /* 54215 */ // Label 1339: @54215
20050 /* 54215 */ GIM_Try, /*On fail goto*//*Label 1340*/ GIMT_Encode4(54270), // Rule ID 1059 //
20051 /* 54220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
20052 /* 54223 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20053 /* 54226 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20054 /* 54230 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
20055 /* 54237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
20056 /* 54241 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20057 /* 54245 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20058 /* 54252 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>> => (LD_Fp32m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
20059 /* 54252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m64),
20060 /* 54255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20061 /* 54257 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20062 /* 54261 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
20063 /* 54264 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20064 /* 54268 */ GIR_RootConstrainSelectedInstOperands,
20065 /* 54269 */ // GIR_Coverage, 1059,
20066 /* 54269 */ GIR_EraseRootFromParent_Done,
20067 /* 54270 */ // Label 1340: @54270
20068 /* 54270 */ GIM_Try, /*On fail goto*//*Label 1341*/ GIMT_Encode4(54315), // Rule ID 1677 //
20069 /* 54275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
20070 /* 54278 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20071 /* 54281 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20072 /* 54285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
20073 /* 54289 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20074 /* 54293 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20075 /* 54300 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSDrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
20076 /* 54300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDrm_alt),
20077 /* 54303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20078 /* 54305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20079 /* 54309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20080 /* 54313 */ GIR_RootConstrainSelectedInstOperands,
20081 /* 54314 */ // GIR_Coverage, 1677,
20082 /* 54314 */ GIR_EraseRootFromParent_Done,
20083 /* 54315 */ // Label 1341: @54315
20084 /* 54315 */ GIM_Try, /*On fail goto*//*Label 1342*/ GIMT_Encode4(54360), // Rule ID 1678 //
20085 /* 54320 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
20086 /* 54323 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20087 /* 54326 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20088 /* 54330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
20089 /* 54334 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20090 /* 54338 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20091 /* 54345 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVSDrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
20092 /* 54345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDrm_alt),
20093 /* 54348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20094 /* 54350 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20095 /* 54354 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20096 /* 54358 */ GIR_RootConstrainSelectedInstOperands,
20097 /* 54359 */ // GIR_Coverage, 1678,
20098 /* 54359 */ GIR_EraseRootFromParent_Done,
20099 /* 54360 */ // Label 1342: @54360
20100 /* 54360 */ GIM_Try, /*On fail goto*//*Label 1343*/ GIMT_Encode4(54409), // Rule ID 22555 //
20101 /* 54365 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
20102 /* 54368 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20103 /* 54372 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
20104 /* 54379 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20105 /* 54383 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20106 /* 54387 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20107 /* 54394 */ // (atomic_load:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_atomic_load_nonext>><<P:Predicate_atomic_load_nonext_64>> => (MOV64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
20108 /* 54394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64rm),
20109 /* 54397 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20110 /* 54399 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20111 /* 54403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20112 /* 54407 */ GIR_RootConstrainSelectedInstOperands,
20113 /* 54408 */ // GIR_Coverage, 22555,
20114 /* 54408 */ GIR_EraseRootFromParent_Done,
20115 /* 54409 */ // Label 1343: @54409
20116 /* 54409 */ GIM_Try, /*On fail goto*//*Label 1344*/ GIMT_Encode4(54487), // Rule ID 22645 //
20117 /* 54414 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20118 /* 54417 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20119 /* 54421 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
20120 /* 54428 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20121 /* 54432 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20122 /* 54436 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20123 /* 54443 */ // (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] })
20124 /* 54443 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20125 /* 54446 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
20126 /* 54450 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20127 /* 54455 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20128 /* 54459 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20129 /* 54463 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20130 /* 54465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
20131 /* 54468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20132 /* 54470 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20133 /* 54473 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
20134 /* 54476 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
20135 /* 54481 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
20136 /* 54486 */ // GIR_Coverage, 22645,
20137 /* 54486 */ GIR_EraseRootFromParent_Done,
20138 /* 54487 */ // Label 1344: @54487
20139 /* 54487 */ GIM_Try, /*On fail goto*//*Label 1345*/ GIMT_Encode4(54565), // Rule ID 22646 //
20140 /* 54492 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20141 /* 54495 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20142 /* 54499 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
20143 /* 54506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20144 /* 54510 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20145 /* 54514 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20146 /* 54521 */ // (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] })
20147 /* 54521 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20148 /* 54524 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
20149 /* 54528 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20150 /* 54533 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20151 /* 54537 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20152 /* 54541 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20153 /* 54543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
20154 /* 54546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20155 /* 54548 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20156 /* 54551 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
20157 /* 54554 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
20158 /* 54559 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
20159 /* 54564 */ // GIR_Coverage, 22646,
20160 /* 54564 */ GIR_EraseRootFromParent_Done,
20161 /* 54565 */ // Label 1345: @54565
20162 /* 54565 */ GIM_Try, /*On fail goto*//*Label 1346*/ GIMT_Encode4(54643), // Rule ID 22647 //
20163 /* 54570 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20164 /* 54573 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20165 /* 54577 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
20166 /* 54584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
20167 /* 54588 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20168 /* 54592 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20169 /* 54599 */ // (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] })
20170 /* 54599 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
20171 /* 54602 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
20172 /* 54606 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20173 /* 54611 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20174 /* 54615 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20175 /* 54619 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20176 /* 54621 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
20177 /* 54624 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20178 /* 54626 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20179 /* 54629 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
20180 /* 54632 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
20181 /* 54637 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
20182 /* 54642 */ // GIR_Coverage, 22647,
20183 /* 54642 */ GIR_EraseRootFromParent_Done,
20184 /* 54643 */ // Label 1346: @54643
20185 /* 54643 */ GIM_Try, /*On fail goto*//*Label 1347*/ GIMT_Encode4(54688), // Rule ID 4595 //
20186 /* 54648 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
20187 /* 54651 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20188 /* 54654 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20189 /* 54658 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
20190 /* 54662 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20191 /* 54666 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20192 /* 54673 */ // (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVSDZrm_alt:{ *:[f64] } addr:{ *:[iPTR] }:$src)
20193 /* 54673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZrm_alt),
20194 /* 54676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20195 /* 54678 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20196 /* 54682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20197 /* 54686 */ GIR_RootConstrainSelectedInstOperands,
20198 /* 54687 */ // GIR_Coverage, 4595,
20199 /* 54687 */ GIR_EraseRootFromParent_Done,
20200 /* 54688 */ // Label 1347: @54688
20201 /* 54688 */ GIM_Reject,
20202 /* 54689 */ // Label 1296: @54689
20203 /* 54689 */ GIM_Try, /*On fail goto*//*Label 1348*/ GIMT_Encode4(54847),
20204 /* 54694 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20205 /* 54697 */ GIM_Try, /*On fail goto*//*Label 1349*/ GIMT_Encode4(54742), // Rule ID 1058 //
20206 /* 54702 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
20207 /* 54705 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20208 /* 54709 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
20209 /* 54713 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20210 /* 54717 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20211 /* 54724 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (LD_Fp80m:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
20212 /* 54724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp80m),
20213 /* 54727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20214 /* 54729 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20215 /* 54733 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
20216 /* 54736 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20217 /* 54740 */ GIR_RootConstrainSelectedInstOperands,
20218 /* 54741 */ // GIR_Coverage, 1058,
20219 /* 54741 */ GIR_EraseRootFromParent_Done,
20220 /* 54742 */ // Label 1349: @54742
20221 /* 54742 */ GIM_Try, /*On fail goto*//*Label 1350*/ GIMT_Encode4(54794), // Rule ID 1060 //
20222 /* 54747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
20223 /* 54750 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20224 /* 54754 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
20225 /* 54761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
20226 /* 54765 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20227 /* 54769 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20228 /* 54776 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf64>> => (LD_Fp64m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
20229 /* 54776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp64m80),
20230 /* 54779 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20231 /* 54781 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20232 /* 54785 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
20233 /* 54788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20234 /* 54792 */ GIR_RootConstrainSelectedInstOperands,
20235 /* 54793 */ // GIR_Coverage, 1060,
20236 /* 54793 */ GIR_EraseRootFromParent_Done,
20237 /* 54794 */ // Label 1350: @54794
20238 /* 54794 */ GIM_Try, /*On fail goto*//*Label 1351*/ GIMT_Encode4(54846), // Rule ID 1061 //
20239 /* 54799 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
20240 /* 54802 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20241 /* 54806 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
20242 /* 54813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
20243 /* 54817 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20244 /* 54821 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20245 /* 54828 */ // (ld:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadf32>> => (LD_Fp32m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
20246 /* 54828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp32m80),
20247 /* 54831 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20248 /* 54833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20249 /* 54837 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
20250 /* 54840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20251 /* 54844 */ GIR_RootConstrainSelectedInstOperands,
20252 /* 54845 */ // GIR_Coverage, 1061,
20253 /* 54845 */ GIR_EraseRootFromParent_Done,
20254 /* 54846 */ // Label 1351: @54846
20255 /* 54846 */ GIM_Reject,
20256 /* 54847 */ // Label 1348: @54847
20257 /* 54847 */ GIM_Reject,
20258 /* 54848 */ // Label 1297: @54848
20259 /* 54848 */ GIM_Try, /*On fail goto*//*Label 1352*/ GIMT_Encode4(54975),
20260 /* 54853 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20261 /* 54856 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20262 /* 54860 */ GIM_Try, /*On fail goto*//*Label 1353*/ GIMT_Encode4(54898), // Rule ID 23203 //
20263 /* 54865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoAVX),
20264 /* 54868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20265 /* 54872 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20266 /* 54876 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20267 /* 54883 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
20268 /* 54883 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20269 /* 54886 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20270 /* 54888 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20271 /* 54892 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20272 /* 54896 */ GIR_RootConstrainSelectedInstOperands,
20273 /* 54897 */ // GIR_Coverage, 23203,
20274 /* 54897 */ GIR_EraseRootFromParent_Done,
20275 /* 54898 */ // Label 1353: @54898
20276 /* 54898 */ GIM_Try, /*On fail goto*//*Label 1354*/ GIMT_Encode4(54936), // Rule ID 23207 //
20277 /* 54903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20278 /* 54906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20279 /* 54910 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20280 /* 54914 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20281 /* 54921 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
20282 /* 54921 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
20283 /* 54924 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20284 /* 54926 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20285 /* 54930 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20286 /* 54934 */ GIR_RootConstrainSelectedInstOperands,
20287 /* 54935 */ // GIR_Coverage, 23207,
20288 /* 54935 */ GIR_EraseRootFromParent_Done,
20289 /* 54936 */ // Label 1354: @54936
20290 /* 54936 */ GIM_Try, /*On fail goto*//*Label 1355*/ GIMT_Encode4(54974), // Rule ID 23211 //
20291 /* 54941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20292 /* 54944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20293 /* 54948 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20294 /* 54952 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20295 /* 54959 */ // (ld:{ *:[f128] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[f128] } addr:{ *:[iPTR] }:$src)
20296 /* 54959 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
20297 /* 54962 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20298 /* 54964 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20299 /* 54968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20300 /* 54972 */ GIR_RootConstrainSelectedInstOperands,
20301 /* 54973 */ // GIR_Coverage, 23211,
20302 /* 54973 */ GIR_EraseRootFromParent_Done,
20303 /* 54974 */ // Label 1355: @54974
20304 /* 54974 */ GIM_Reject,
20305 /* 54975 */ // Label 1352: @54975
20306 /* 54975 */ GIM_Reject,
20307 /* 54976 */ // Label 1298: @54976
20308 /* 54976 */ GIM_Try, /*On fail goto*//*Label 1356*/ GIMT_Encode4(55042), // Rule ID 19420 //
20309 /* 54981 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
20310 /* 54984 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20311 /* 54987 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20312 /* 54991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
20313 /* 54995 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20314 /* 54999 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20315 /* 55006 */ // (ld:{ *:[v2i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v2i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK2:{ *:[i32] })
20316 /* 55006 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
20317 /* 55009 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
20318 /* 55013 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20319 /* 55018 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20320 /* 55022 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20321 /* 55026 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20322 /* 55028 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
20323 /* 55031 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20324 /* 55033 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20325 /* 55036 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
20326 /* 55041 */ // GIR_Coverage, 19420,
20327 /* 55041 */ GIR_EraseRootFromParent_Done,
20328 /* 55042 */ // Label 1356: @55042
20329 /* 55042 */ GIM_Reject,
20330 /* 55043 */ // Label 1299: @55043
20331 /* 55043 */ GIM_Try, /*On fail goto*//*Label 1357*/ GIMT_Encode4(55109), // Rule ID 19421 //
20332 /* 55048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
20333 /* 55051 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20334 /* 55054 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20335 /* 55058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
20336 /* 55062 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20337 /* 55066 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20338 /* 55073 */ // (ld:{ *:[v4i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (COPY_TO_REGCLASS:{ *:[v4i1] } (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src), VK4:{ *:[i32] })
20339 /* 55073 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
20340 /* 55076 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
20341 /* 55080 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
20342 /* 55085 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
20343 /* 55089 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
20344 /* 55093 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
20345 /* 55095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
20346 /* 55098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20347 /* 55100 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
20348 /* 55103 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
20349 /* 55108 */ // GIR_Coverage, 19421,
20350 /* 55108 */ GIR_EraseRootFromParent_Done,
20351 /* 55109 */ // Label 1357: @55109
20352 /* 55109 */ GIM_Reject,
20353 /* 55110 */ // Label 1300: @55110
20354 /* 55110 */ GIM_Try, /*On fail goto*//*Label 1358*/ GIMT_Encode4(55191),
20355 /* 55115 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20356 /* 55118 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20357 /* 55122 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
20358 /* 55126 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20359 /* 55130 */ GIM_Try, /*On fail goto*//*Label 1359*/ GIMT_Encode4(55160), // Rule ID 4373 //
20360 /* 55135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoEGPR),
20361 /* 55138 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20362 /* 55145 */ // (ld:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVBkm:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)
20363 /* 55145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBkm),
20364 /* 55148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20365 /* 55150 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20366 /* 55154 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20367 /* 55158 */ GIR_RootConstrainSelectedInstOperands,
20368 /* 55159 */ // GIR_Coverage, 4373,
20369 /* 55159 */ GIR_EraseRootFromParent_Done,
20370 /* 55160 */ // Label 1359: @55160
20371 /* 55160 */ GIM_Try, /*On fail goto*//*Label 1360*/ GIMT_Encode4(55190), // Rule ID 4375 //
20372 /* 55165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasEGPR_In64BitMode),
20373 /* 55168 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20374 /* 55175 */ // (ld:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVBkm_EVEX:{ *:[v8i1] } addr:{ *:[iPTR] }:$src)
20375 /* 55175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBkm_EVEX),
20376 /* 55178 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20377 /* 55180 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20378 /* 55184 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20379 /* 55188 */ GIR_RootConstrainSelectedInstOperands,
20380 /* 55189 */ // GIR_Coverage, 4375,
20381 /* 55189 */ GIR_EraseRootFromParent_Done,
20382 /* 55190 */ // Label 1360: @55190
20383 /* 55190 */ GIM_Reject,
20384 /* 55191 */ // Label 1358: @55191
20385 /* 55191 */ GIM_Reject,
20386 /* 55192 */ // Label 1301: @55192
20387 /* 55192 */ GIM_Try, /*On fail goto*//*Label 1361*/ GIMT_Encode4(55273),
20388 /* 55197 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20389 /* 55200 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20390 /* 55204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
20391 /* 55208 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20392 /* 55212 */ GIM_Try, /*On fail goto*//*Label 1362*/ GIMT_Encode4(55242), // Rule ID 4377 //
20393 /* 55217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoEGPR),
20394 /* 55220 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20395 /* 55227 */ // (ld:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVWkm:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
20396 /* 55227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm),
20397 /* 55230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20398 /* 55232 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20399 /* 55236 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20400 /* 55240 */ GIR_RootConstrainSelectedInstOperands,
20401 /* 55241 */ // GIR_Coverage, 4377,
20402 /* 55241 */ GIR_EraseRootFromParent_Done,
20403 /* 55242 */ // Label 1362: @55242
20404 /* 55242 */ GIM_Try, /*On fail goto*//*Label 1363*/ GIMT_Encode4(55272), // Rule ID 4379 //
20405 /* 55247 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEGPR_In64BitMode),
20406 /* 55250 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20407 /* 55257 */ // (ld:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVWkm_EVEX:{ *:[v16i1] } addr:{ *:[iPTR] }:$src)
20408 /* 55257 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWkm_EVEX),
20409 /* 55260 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20410 /* 55262 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20411 /* 55266 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20412 /* 55270 */ GIR_RootConstrainSelectedInstOperands,
20413 /* 55271 */ // GIR_Coverage, 4379,
20414 /* 55271 */ GIR_EraseRootFromParent_Done,
20415 /* 55272 */ // Label 1363: @55272
20416 /* 55272 */ GIM_Reject,
20417 /* 55273 */ // Label 1361: @55273
20418 /* 55273 */ GIM_Reject,
20419 /* 55274 */ // Label 1302: @55274
20420 /* 55274 */ GIM_Try, /*On fail goto*//*Label 1364*/ GIMT_Encode4(55355),
20421 /* 55279 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20422 /* 55282 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20423 /* 55286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
20424 /* 55290 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20425 /* 55294 */ GIM_Try, /*On fail goto*//*Label 1365*/ GIMT_Encode4(55324), // Rule ID 4381 //
20426 /* 55299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoEGPR),
20427 /* 55302 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20428 /* 55309 */ // (ld:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVDkm:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)
20429 /* 55309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkm),
20430 /* 55312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20431 /* 55314 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20432 /* 55318 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20433 /* 55322 */ GIR_RootConstrainSelectedInstOperands,
20434 /* 55323 */ // GIR_Coverage, 4381,
20435 /* 55323 */ GIR_EraseRootFromParent_Done,
20436 /* 55324 */ // Label 1365: @55324
20437 /* 55324 */ GIM_Try, /*On fail goto*//*Label 1366*/ GIMT_Encode4(55354), // Rule ID 4385 //
20438 /* 55329 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode),
20439 /* 55332 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20440 /* 55339 */ // (ld:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVDkm_EVEX:{ *:[v32i1] } addr:{ *:[iPTR] }:$src)
20441 /* 55339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDkm_EVEX),
20442 /* 55342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20443 /* 55344 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20444 /* 55348 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20445 /* 55352 */ GIR_RootConstrainSelectedInstOperands,
20446 /* 55353 */ // GIR_Coverage, 4385,
20447 /* 55353 */ GIR_EraseRootFromParent_Done,
20448 /* 55354 */ // Label 1366: @55354
20449 /* 55354 */ GIM_Reject,
20450 /* 55355 */ // Label 1364: @55355
20451 /* 55355 */ GIM_Reject,
20452 /* 55356 */ // Label 1303: @55356
20453 /* 55356 */ GIM_Try, /*On fail goto*//*Label 1367*/ GIMT_Encode4(55437),
20454 /* 55361 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20455 /* 55364 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20456 /* 55368 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
20457 /* 55372 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20458 /* 55376 */ GIM_Try, /*On fail goto*//*Label 1368*/ GIMT_Encode4(55406), // Rule ID 4383 //
20459 /* 55381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoEGPR),
20460 /* 55384 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20461 /* 55391 */ // (ld:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVQkm:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)
20462 /* 55391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkm),
20463 /* 55394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20464 /* 55396 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20465 /* 55400 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20466 /* 55404 */ GIR_RootConstrainSelectedInstOperands,
20467 /* 55405 */ // GIR_Coverage, 4383,
20468 /* 55405 */ GIR_EraseRootFromParent_Done,
20469 /* 55406 */ // Label 1368: @55406
20470 /* 55406 */ GIM_Try, /*On fail goto*//*Label 1369*/ GIMT_Encode4(55436), // Rule ID 4387 //
20471 /* 55411 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode),
20472 /* 55414 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20473 /* 55421 */ // (ld:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (KMOVQkm_EVEX:{ *:[v64i1] } addr:{ *:[iPTR] }:$src)
20474 /* 55421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQkm_EVEX),
20475 /* 55424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20476 /* 55426 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20477 /* 55430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20478 /* 55434 */ GIR_RootConstrainSelectedInstOperands,
20479 /* 55435 */ // GIR_Coverage, 4387,
20480 /* 55435 */ GIR_EraseRootFromParent_Done,
20481 /* 55436 */ // Label 1369: @55436
20482 /* 55436 */ GIM_Reject,
20483 /* 55437 */ // Label 1367: @55437
20484 /* 55437 */ GIM_Reject,
20485 /* 55438 */ // Label 1304: @55438
20486 /* 55438 */ GIM_Try, /*On fail goto*//*Label 1370*/ GIMT_Encode4(55691),
20487 /* 55443 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20488 /* 55446 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20489 /* 55450 */ GIM_Try, /*On fail goto*//*Label 1371*/ GIMT_Encode4(55492), // Rule ID 17908 //
20490 /* 55455 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20491 /* 55458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20492 /* 55462 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20493 /* 55466 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20494 /* 55470 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20495 /* 55477 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
20496 /* 55477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20497 /* 55480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20498 /* 55482 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20499 /* 55486 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20500 /* 55490 */ GIR_RootConstrainSelectedInstOperands,
20501 /* 55491 */ // GIR_Coverage, 17908,
20502 /* 55491 */ GIR_EraseRootFromParent_Done,
20503 /* 55492 */ // Label 1371: @55492
20504 /* 55492 */ GIM_Try, /*On fail goto*//*Label 1372*/ GIMT_Encode4(55530), // Rule ID 17912 //
20505 /* 55497 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20506 /* 55500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20507 /* 55504 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20508 /* 55508 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20509 /* 55515 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
20510 /* 55515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20511 /* 55518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20512 /* 55520 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20513 /* 55524 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20514 /* 55528 */ GIR_RootConstrainSelectedInstOperands,
20515 /* 55529 */ // GIR_Coverage, 17912,
20516 /* 55529 */ GIR_EraseRootFromParent_Done,
20517 /* 55530 */ // Label 1372: @55530
20518 /* 55530 */ GIM_Try, /*On fail goto*//*Label 1373*/ GIMT_Encode4(55572), // Rule ID 18288 //
20519 /* 55535 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20520 /* 55538 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20521 /* 55542 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20522 /* 55546 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20523 /* 55550 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20524 /* 55557 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
20525 /* 55557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
20526 /* 55560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20527 /* 55562 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20528 /* 55566 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20529 /* 55570 */ GIR_RootConstrainSelectedInstOperands,
20530 /* 55571 */ // GIR_Coverage, 18288,
20531 /* 55571 */ GIR_EraseRootFromParent_Done,
20532 /* 55572 */ // Label 1373: @55572
20533 /* 55572 */ GIM_Try, /*On fail goto*//*Label 1374*/ GIMT_Encode4(55610), // Rule ID 18292 //
20534 /* 55577 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20535 /* 55580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20536 /* 55584 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20537 /* 55588 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20538 /* 55595 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
20539 /* 55595 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
20540 /* 55598 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20541 /* 55600 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20542 /* 55604 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20543 /* 55608 */ GIR_RootConstrainSelectedInstOperands,
20544 /* 55609 */ // GIR_Coverage, 18292,
20545 /* 55609 */ GIR_EraseRootFromParent_Done,
20546 /* 55610 */ // Label 1374: @55610
20547 /* 55610 */ GIM_Try, /*On fail goto*//*Label 1375*/ GIMT_Encode4(55652), // Rule ID 19800 //
20548 /* 55615 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20549 /* 55618 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20550 /* 55622 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20551 /* 55626 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20552 /* 55630 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20553 /* 55637 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
20554 /* 55637 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
20555 /* 55640 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20556 /* 55642 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20557 /* 55646 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20558 /* 55650 */ GIR_RootConstrainSelectedInstOperands,
20559 /* 55651 */ // GIR_Coverage, 19800,
20560 /* 55651 */ GIR_EraseRootFromParent_Done,
20561 /* 55652 */ // Label 1375: @55652
20562 /* 55652 */ GIM_Try, /*On fail goto*//*Label 1376*/ GIMT_Encode4(55690), // Rule ID 19804 //
20563 /* 55657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20564 /* 55660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20565 /* 55664 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20566 /* 55668 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20567 /* 55675 */ // (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
20568 /* 55675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
20569 /* 55678 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20570 /* 55680 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20571 /* 55684 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20572 /* 55688 */ GIR_RootConstrainSelectedInstOperands,
20573 /* 55689 */ // GIR_Coverage, 19804,
20574 /* 55689 */ GIR_EraseRootFromParent_Done,
20575 /* 55690 */ // Label 1376: @55690
20576 /* 55690 */ GIM_Reject,
20577 /* 55691 */ // Label 1370: @55691
20578 /* 55691 */ GIM_Reject,
20579 /* 55692 */ // Label 1305: @55692
20580 /* 55692 */ GIM_Try, /*On fail goto*//*Label 1377*/ GIMT_Encode4(55865),
20581 /* 55697 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20582 /* 55700 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20583 /* 55704 */ GIM_Try, /*On fail goto*//*Label 1378*/ GIMT_Encode4(55746), // Rule ID 17884 //
20584 /* 55709 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20585 /* 55712 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20586 /* 55716 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20587 /* 55720 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20588 /* 55724 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20589 /* 55731 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
20590 /* 55731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
20591 /* 55734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20592 /* 55736 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20593 /* 55740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20594 /* 55744 */ GIR_RootConstrainSelectedInstOperands,
20595 /* 55745 */ // GIR_Coverage, 17884,
20596 /* 55745 */ GIR_EraseRootFromParent_Done,
20597 /* 55746 */ // Label 1378: @55746
20598 /* 55746 */ GIM_Try, /*On fail goto*//*Label 1379*/ GIMT_Encode4(55784), // Rule ID 17888 //
20599 /* 55751 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20600 /* 55754 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20601 /* 55758 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20602 /* 55762 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20603 /* 55769 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
20604 /* 55769 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
20605 /* 55772 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20606 /* 55774 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20607 /* 55778 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20608 /* 55782 */ GIR_RootConstrainSelectedInstOperands,
20609 /* 55783 */ // GIR_Coverage, 17888,
20610 /* 55783 */ GIR_EraseRootFromParent_Done,
20611 /* 55784 */ // Label 1379: @55784
20612 /* 55784 */ GIM_Try, /*On fail goto*//*Label 1380*/ GIMT_Encode4(55826), // Rule ID 19816 //
20613 /* 55789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20614 /* 55792 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20615 /* 55796 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20616 /* 55800 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20617 /* 55804 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20618 /* 55811 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
20619 /* 55811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
20620 /* 55814 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20621 /* 55816 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20622 /* 55820 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20623 /* 55824 */ GIR_RootConstrainSelectedInstOperands,
20624 /* 55825 */ // GIR_Coverage, 19816,
20625 /* 55825 */ GIR_EraseRootFromParent_Done,
20626 /* 55826 */ // Label 1380: @55826
20627 /* 55826 */ GIM_Try, /*On fail goto*//*Label 1381*/ GIMT_Encode4(55864), // Rule ID 19820 //
20628 /* 55831 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20629 /* 55834 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20630 /* 55838 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20631 /* 55842 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20632 /* 55849 */ // (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
20633 /* 55849 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
20634 /* 55852 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20635 /* 55854 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20636 /* 55858 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20637 /* 55862 */ GIR_RootConstrainSelectedInstOperands,
20638 /* 55863 */ // GIR_Coverage, 19820,
20639 /* 55863 */ GIR_EraseRootFromParent_Done,
20640 /* 55864 */ // Label 1381: @55864
20641 /* 55864 */ GIM_Reject,
20642 /* 55865 */ // Label 1377: @55865
20643 /* 55865 */ GIM_Reject,
20644 /* 55866 */ // Label 1306: @55866
20645 /* 55866 */ GIM_Try, /*On fail goto*//*Label 1382*/ GIMT_Encode4(55959),
20646 /* 55871 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20647 /* 55874 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20648 /* 55878 */ GIM_Try, /*On fail goto*//*Label 1383*/ GIMT_Encode4(55920), // Rule ID 19784 //
20649 /* 55883 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
20650 /* 55886 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20651 /* 55890 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20652 /* 55894 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20653 /* 55898 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20654 /* 55905 */ // (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Zrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
20655 /* 55905 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
20656 /* 55908 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20657 /* 55910 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20658 /* 55914 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20659 /* 55918 */ GIR_RootConstrainSelectedInstOperands,
20660 /* 55919 */ // GIR_Coverage, 19784,
20661 /* 55919 */ GIR_EraseRootFromParent_Done,
20662 /* 55920 */ // Label 1383: @55920
20663 /* 55920 */ GIM_Try, /*On fail goto*//*Label 1384*/ GIMT_Encode4(55958), // Rule ID 19788 //
20664 /* 55925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
20665 /* 55928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
20666 /* 55932 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20667 /* 55936 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20668 /* 55943 */ // (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
20669 /* 55943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
20670 /* 55946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20671 /* 55948 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20672 /* 55952 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20673 /* 55956 */ GIR_RootConstrainSelectedInstOperands,
20674 /* 55957 */ // GIR_Coverage, 19788,
20675 /* 55957 */ GIR_EraseRootFromParent_Done,
20676 /* 55958 */ // Label 1384: @55958
20677 /* 55958 */ GIM_Reject,
20678 /* 55959 */ // Label 1382: @55959
20679 /* 55959 */ GIM_Reject,
20680 /* 55960 */ // Label 1307: @55960
20681 /* 55960 */ GIM_Try, /*On fail goto*//*Label 1385*/ GIMT_Encode4(56533),
20682 /* 55965 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20683 /* 55968 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20684 /* 55972 */ GIM_Try, /*On fail goto*//*Label 1386*/ GIMT_Encode4(56014), // Rule ID 17897 //
20685 /* 55977 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20686 /* 55980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20687 /* 55984 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20688 /* 55988 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20689 /* 55992 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20690 /* 55999 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20691 /* 55999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSrm),
20692 /* 56002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20693 /* 56004 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20694 /* 56008 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20695 /* 56012 */ GIR_RootConstrainSelectedInstOperands,
20696 /* 56013 */ // GIR_Coverage, 17897,
20697 /* 56013 */ GIR_EraseRootFromParent_Done,
20698 /* 56014 */ // Label 1386: @56014
20699 /* 56014 */ GIM_Try, /*On fail goto*//*Label 1387*/ GIMT_Encode4(56052), // Rule ID 17898 //
20700 /* 56019 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20701 /* 56022 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20702 /* 56026 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20703 /* 56030 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20704 /* 56037 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20705 /* 56037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
20706 /* 56040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20707 /* 56042 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20708 /* 56046 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20709 /* 56050 */ GIR_RootConstrainSelectedInstOperands,
20710 /* 56051 */ // GIR_Coverage, 17898,
20711 /* 56051 */ GIR_EraseRootFromParent_Done,
20712 /* 56052 */ // Label 1387: @56052
20713 /* 56052 */ GIM_Try, /*On fail goto*//*Label 1388*/ GIMT_Encode4(56094), // Rule ID 17907 //
20714 /* 56057 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20715 /* 56060 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20716 /* 56064 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20717 /* 56068 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20718 /* 56072 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20719 /* 56079 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20720 /* 56079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20721 /* 56082 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20722 /* 56084 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20723 /* 56088 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20724 /* 56092 */ GIR_RootConstrainSelectedInstOperands,
20725 /* 56093 */ // GIR_Coverage, 17907,
20726 /* 56093 */ GIR_EraseRootFromParent_Done,
20727 /* 56094 */ // Label 1388: @56094
20728 /* 56094 */ GIM_Try, /*On fail goto*//*Label 1389*/ GIMT_Encode4(56132), // Rule ID 17911 //
20729 /* 56099 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
20730 /* 56102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20731 /* 56106 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20732 /* 56110 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20733 /* 56117 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20734 /* 56117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20735 /* 56120 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20736 /* 56122 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20737 /* 56126 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20738 /* 56130 */ GIR_RootConstrainSelectedInstOperands,
20739 /* 56131 */ // GIR_Coverage, 17911,
20740 /* 56131 */ GIR_EraseRootFromParent_Done,
20741 /* 56132 */ // Label 1389: @56132
20742 /* 56132 */ GIM_Try, /*On fail goto*//*Label 1390*/ GIMT_Encode4(56174), // Rule ID 17921 //
20743 /* 56137 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
20744 /* 56140 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20745 /* 56144 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20746 /* 56148 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20747 /* 56152 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20748 /* 56159 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20749 /* 56159 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
20750 /* 56162 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20751 /* 56164 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20752 /* 56168 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20753 /* 56172 */ GIR_RootConstrainSelectedInstOperands,
20754 /* 56173 */ // GIR_Coverage, 17921,
20755 /* 56173 */ GIR_EraseRootFromParent_Done,
20756 /* 56174 */ // Label 1390: @56174
20757 /* 56174 */ GIM_Try, /*On fail goto*//*Label 1391*/ GIMT_Encode4(56212), // Rule ID 17922 //
20758 /* 56179 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
20759 /* 56182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20760 /* 56186 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20761 /* 56190 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20762 /* 56197 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20763 /* 56197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
20764 /* 56200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20765 /* 56202 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20766 /* 56206 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20767 /* 56210 */ GIR_RootConstrainSelectedInstOperands,
20768 /* 56211 */ // GIR_Coverage, 17922,
20769 /* 56211 */ GIR_EraseRootFromParent_Done,
20770 /* 56212 */ // Label 1391: @56212
20771 /* 56212 */ GIM_Try, /*On fail goto*//*Label 1392*/ GIMT_Encode4(56254), // Rule ID 18286 //
20772 /* 56217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20773 /* 56220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20774 /* 56224 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20775 /* 56228 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20776 /* 56232 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20777 /* 56239 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20778 /* 56239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
20779 /* 56242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20780 /* 56244 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20781 /* 56248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20782 /* 56252 */ GIR_RootConstrainSelectedInstOperands,
20783 /* 56253 */ // GIR_Coverage, 18286,
20784 /* 56253 */ GIR_EraseRootFromParent_Done,
20785 /* 56254 */ // Label 1392: @56254
20786 /* 56254 */ GIM_Try, /*On fail goto*//*Label 1393*/ GIMT_Encode4(56296), // Rule ID 18287 //
20787 /* 56259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20788 /* 56262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20789 /* 56266 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20790 /* 56270 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20791 /* 56274 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20792 /* 56281 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20793 /* 56281 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
20794 /* 56284 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20795 /* 56286 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20796 /* 56290 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20797 /* 56294 */ GIR_RootConstrainSelectedInstOperands,
20798 /* 56295 */ // GIR_Coverage, 18287,
20799 /* 56295 */ GIR_EraseRootFromParent_Done,
20800 /* 56296 */ // Label 1393: @56296
20801 /* 56296 */ GIM_Try, /*On fail goto*//*Label 1394*/ GIMT_Encode4(56334), // Rule ID 18290 //
20802 /* 56301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20803 /* 56304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20804 /* 56308 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20805 /* 56312 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20806 /* 56319 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20807 /* 56319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
20808 /* 56322 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20809 /* 56324 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20810 /* 56328 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20811 /* 56332 */ GIR_RootConstrainSelectedInstOperands,
20812 /* 56333 */ // GIR_Coverage, 18290,
20813 /* 56333 */ GIR_EraseRootFromParent_Done,
20814 /* 56334 */ // Label 1394: @56334
20815 /* 56334 */ GIM_Try, /*On fail goto*//*Label 1395*/ GIMT_Encode4(56372), // Rule ID 18291 //
20816 /* 56339 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20817 /* 56342 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
20818 /* 56346 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20819 /* 56350 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20820 /* 56357 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20821 /* 56357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
20822 /* 56360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20823 /* 56362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20824 /* 56366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20825 /* 56370 */ GIR_RootConstrainSelectedInstOperands,
20826 /* 56371 */ // GIR_Coverage, 18291,
20827 /* 56371 */ GIR_EraseRootFromParent_Done,
20828 /* 56372 */ // Label 1395: @56372
20829 /* 56372 */ GIM_Try, /*On fail goto*//*Label 1396*/ GIMT_Encode4(56414), // Rule ID 19798 //
20830 /* 56377 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20831 /* 56380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20832 /* 56384 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20833 /* 56388 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20834 /* 56392 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20835 /* 56399 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20836 /* 56399 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
20837 /* 56402 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20838 /* 56404 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20839 /* 56408 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20840 /* 56412 */ GIR_RootConstrainSelectedInstOperands,
20841 /* 56413 */ // GIR_Coverage, 19798,
20842 /* 56413 */ GIR_EraseRootFromParent_Done,
20843 /* 56414 */ // Label 1396: @56414
20844 /* 56414 */ GIM_Try, /*On fail goto*//*Label 1397*/ GIMT_Encode4(56456), // Rule ID 19799 //
20845 /* 56419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20846 /* 56422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20847 /* 56426 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20848 /* 56430 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20849 /* 56434 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20850 /* 56441 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20851 /* 56441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rm),
20852 /* 56444 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20853 /* 56446 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20854 /* 56450 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20855 /* 56454 */ GIR_RootConstrainSelectedInstOperands,
20856 /* 56455 */ // GIR_Coverage, 19799,
20857 /* 56455 */ GIR_EraseRootFromParent_Done,
20858 /* 56456 */ // Label 1397: @56456
20859 /* 56456 */ GIM_Try, /*On fail goto*//*Label 1398*/ GIMT_Encode4(56494), // Rule ID 19802 //
20860 /* 56461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20861 /* 56464 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20862 /* 56468 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20863 /* 56472 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20864 /* 56479 */ // (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
20865 /* 56479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
20866 /* 56482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20867 /* 56484 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20868 /* 56488 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20869 /* 56492 */ GIR_RootConstrainSelectedInstOperands,
20870 /* 56493 */ // GIR_Coverage, 19802,
20871 /* 56493 */ GIR_EraseRootFromParent_Done,
20872 /* 56494 */ // Label 1398: @56494
20873 /* 56494 */ GIM_Try, /*On fail goto*//*Label 1399*/ GIMT_Encode4(56532), // Rule ID 19803 //
20874 /* 56499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20875 /* 56502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
20876 /* 56506 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20877 /* 56510 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20878 /* 56517 */ // (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
20879 /* 56517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
20880 /* 56520 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20881 /* 56522 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20882 /* 56526 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20883 /* 56530 */ GIR_RootConstrainSelectedInstOperands,
20884 /* 56531 */ // GIR_Coverage, 19803,
20885 /* 56531 */ GIR_EraseRootFromParent_Done,
20886 /* 56532 */ // Label 1399: @56532
20887 /* 56532 */ GIM_Reject,
20888 /* 56533 */ // Label 1385: @56533
20889 /* 56533 */ GIM_Reject,
20890 /* 56534 */ // Label 1308: @56534
20891 /* 56534 */ GIM_Try, /*On fail goto*//*Label 1400*/ GIMT_Encode4(56867),
20892 /* 56539 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
20893 /* 56542 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
20894 /* 56546 */ GIM_Try, /*On fail goto*//*Label 1401*/ GIMT_Encode4(56588), // Rule ID 17883 //
20895 /* 56551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20896 /* 56554 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20897 /* 56558 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20898 /* 56562 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20899 /* 56566 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20900 /* 56573 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
20901 /* 56573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
20902 /* 56576 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20903 /* 56578 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20904 /* 56582 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20905 /* 56586 */ GIR_RootConstrainSelectedInstOperands,
20906 /* 56587 */ // GIR_Coverage, 17883,
20907 /* 56587 */ GIR_EraseRootFromParent_Done,
20908 /* 56588 */ // Label 1401: @56588
20909 /* 56588 */ GIM_Try, /*On fail goto*//*Label 1402*/ GIMT_Encode4(56626), // Rule ID 17887 //
20910 /* 56593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20911 /* 56596 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20912 /* 56600 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20913 /* 56604 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20914 /* 56611 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
20915 /* 56611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
20916 /* 56614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20917 /* 56616 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20918 /* 56620 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20919 /* 56624 */ GIR_RootConstrainSelectedInstOperands,
20920 /* 56625 */ // GIR_Coverage, 17887,
20921 /* 56625 */ GIR_EraseRootFromParent_Done,
20922 /* 56626 */ // Label 1402: @56626
20923 /* 56626 */ GIM_Try, /*On fail goto*//*Label 1403*/ GIMT_Encode4(56668), // Rule ID 17901 //
20924 /* 56631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20925 /* 56634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20926 /* 56638 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20927 /* 56642 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20928 /* 56646 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20929 /* 56653 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
20930 /* 56653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
20931 /* 56656 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20932 /* 56658 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20933 /* 56662 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20934 /* 56666 */ GIR_RootConstrainSelectedInstOperands,
20935 /* 56667 */ // GIR_Coverage, 17901,
20936 /* 56667 */ GIR_EraseRootFromParent_Done,
20937 /* 56668 */ // Label 1403: @56668
20938 /* 56668 */ GIM_Try, /*On fail goto*//*Label 1404*/ GIMT_Encode4(56706), // Rule ID 17902 //
20939 /* 56673 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
20940 /* 56676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
20941 /* 56680 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20942 /* 56684 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20943 /* 56691 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
20944 /* 56691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
20945 /* 56694 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20946 /* 56696 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20947 /* 56700 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20948 /* 56704 */ GIR_RootConstrainSelectedInstOperands,
20949 /* 56705 */ // GIR_Coverage, 17902,
20950 /* 56705 */ GIR_EraseRootFromParent_Done,
20951 /* 56706 */ // Label 1404: @56706
20952 /* 56706 */ GIM_Try, /*On fail goto*//*Label 1405*/ GIMT_Encode4(56748), // Rule ID 19814 //
20953 /* 56711 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20954 /* 56714 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20955 /* 56718 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20956 /* 56722 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20957 /* 56726 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20958 /* 56733 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
20959 /* 56733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
20960 /* 56736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20961 /* 56738 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20962 /* 56742 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20963 /* 56746 */ GIR_RootConstrainSelectedInstOperands,
20964 /* 56747 */ // GIR_Coverage, 19814,
20965 /* 56747 */ GIR_EraseRootFromParent_Done,
20966 /* 56748 */ // Label 1405: @56748
20967 /* 56748 */ GIM_Try, /*On fail goto*//*Label 1406*/ GIMT_Encode4(56790), // Rule ID 19815 //
20968 /* 56753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20969 /* 56756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20970 /* 56760 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20971 /* 56764 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
20972 /* 56768 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20973 /* 56775 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
20974 /* 56775 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rm),
20975 /* 56778 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20976 /* 56780 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20977 /* 56784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20978 /* 56788 */ GIR_RootConstrainSelectedInstOperands,
20979 /* 56789 */ // GIR_Coverage, 19815,
20980 /* 56789 */ GIR_EraseRootFromParent_Done,
20981 /* 56790 */ // Label 1406: @56790
20982 /* 56790 */ GIM_Try, /*On fail goto*//*Label 1407*/ GIMT_Encode4(56828), // Rule ID 19818 //
20983 /* 56795 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20984 /* 56798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20985 /* 56802 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
20986 /* 56806 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
20987 /* 56813 */ // (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
20988 /* 56813 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
20989 /* 56816 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
20990 /* 56818 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
20991 /* 56822 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
20992 /* 56826 */ GIR_RootConstrainSelectedInstOperands,
20993 /* 56827 */ // GIR_Coverage, 19818,
20994 /* 56827 */ GIR_EraseRootFromParent_Done,
20995 /* 56828 */ // Label 1407: @56828
20996 /* 56828 */ GIM_Try, /*On fail goto*//*Label 1408*/ GIMT_Encode4(56866), // Rule ID 19819 //
20997 /* 56833 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
20998 /* 56836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
20999 /* 56840 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21000 /* 56844 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21001 /* 56851 */ // (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
21002 /* 56851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256rm),
21003 /* 56854 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21004 /* 56856 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21005 /* 56860 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21006 /* 56864 */ GIR_RootConstrainSelectedInstOperands,
21007 /* 56865 */ // GIR_Coverage, 19819,
21008 /* 56865 */ GIR_EraseRootFromParent_Done,
21009 /* 56866 */ // Label 1408: @56866
21010 /* 56866 */ GIM_Reject,
21011 /* 56867 */ // Label 1400: @56867
21012 /* 56867 */ GIM_Reject,
21013 /* 56868 */ // Label 1309: @56868
21014 /* 56868 */ GIM_Try, /*On fail goto*//*Label 1409*/ GIMT_Encode4(57041),
21015 /* 56873 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21016 /* 56876 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21017 /* 56880 */ GIM_Try, /*On fail goto*//*Label 1410*/ GIMT_Encode4(56922), // Rule ID 19782 //
21018 /* 56885 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21019 /* 56888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21020 /* 56892 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21021 /* 56896 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21022 /* 56900 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21023 /* 56907 */ // (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Zrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
21024 /* 56907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
21025 /* 56910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21026 /* 56912 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21027 /* 56916 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21028 /* 56920 */ GIR_RootConstrainSelectedInstOperands,
21029 /* 56921 */ // GIR_Coverage, 19782,
21030 /* 56921 */ GIR_EraseRootFromParent_Done,
21031 /* 56922 */ // Label 1410: @56922
21032 /* 56922 */ GIM_Try, /*On fail goto*//*Label 1411*/ GIMT_Encode4(56964), // Rule ID 19783 //
21033 /* 56927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21034 /* 56930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21035 /* 56934 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21036 /* 56938 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21037 /* 56942 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21038 /* 56949 */ // (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
21039 /* 56949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrm),
21040 /* 56952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21041 /* 56954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21042 /* 56958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21043 /* 56962 */ GIR_RootConstrainSelectedInstOperands,
21044 /* 56963 */ // GIR_Coverage, 19783,
21045 /* 56963 */ GIR_EraseRootFromParent_Done,
21046 /* 56964 */ // Label 1411: @56964
21047 /* 56964 */ GIM_Try, /*On fail goto*//*Label 1412*/ GIMT_Encode4(57002), // Rule ID 19786 //
21048 /* 56969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21049 /* 56972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21050 /* 56976 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21051 /* 56980 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21052 /* 56987 */ // (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
21053 /* 56987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
21054 /* 56990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21055 /* 56992 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21056 /* 56996 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21057 /* 57000 */ GIR_RootConstrainSelectedInstOperands,
21058 /* 57001 */ // GIR_Coverage, 19786,
21059 /* 57001 */ GIR_EraseRootFromParent_Done,
21060 /* 57002 */ // Label 1412: @57002
21061 /* 57002 */ GIM_Try, /*On fail goto*//*Label 1413*/ GIMT_Encode4(57040), // Rule ID 19787 //
21062 /* 57007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21063 /* 57010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21064 /* 57014 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21065 /* 57018 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21066 /* 57025 */ // (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
21067 /* 57025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZrm),
21068 /* 57028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21069 /* 57030 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21070 /* 57034 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21071 /* 57038 */ GIR_RootConstrainSelectedInstOperands,
21072 /* 57039 */ // GIR_Coverage, 19787,
21073 /* 57039 */ GIR_EraseRootFromParent_Done,
21074 /* 57040 */ // Label 1413: @57040
21075 /* 57040 */ GIM_Reject,
21076 /* 57041 */ // Label 1409: @57041
21077 /* 57041 */ GIM_Reject,
21078 /* 57042 */ // Label 1310: @57042
21079 /* 57042 */ GIM_Try, /*On fail goto*//*Label 1414*/ GIMT_Encode4(57535),
21080 /* 57047 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21081 /* 57050 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21082 /* 57054 */ GIM_Try, /*On fail goto*//*Label 1415*/ GIMT_Encode4(57096), // Rule ID 1679 //
21083 /* 57059 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21084 /* 57062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21085 /* 57066 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21086 /* 57070 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21087 /* 57074 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21088 /* 57081 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
21089 /* 57081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSrm),
21090 /* 57084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21091 /* 57086 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21092 /* 57090 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21093 /* 57094 */ GIR_RootConstrainSelectedInstOperands,
21094 /* 57095 */ // GIR_Coverage, 1679,
21095 /* 57095 */ GIR_EraseRootFromParent_Done,
21096 /* 57096 */ // Label 1415: @57096
21097 /* 57096 */ GIM_Try, /*On fail goto*//*Label 1416*/ GIMT_Encode4(57134), // Rule ID 1681 //
21098 /* 57101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21099 /* 57104 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21100 /* 57108 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21101 /* 57112 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21102 /* 57119 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
21103 /* 57119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSrm),
21104 /* 57122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21105 /* 57124 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21106 /* 57128 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21107 /* 57132 */ GIR_RootConstrainSelectedInstOperands,
21108 /* 57133 */ // GIR_Coverage, 1681,
21109 /* 57133 */ GIR_EraseRootFromParent_Done,
21110 /* 57134 */ // Label 1416: @57134
21111 /* 57134 */ GIM_Try, /*On fail goto*//*Label 1417*/ GIMT_Encode4(57176), // Rule ID 1687 //
21112 /* 57139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21113 /* 57142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21114 /* 57146 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21115 /* 57150 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21116 /* 57154 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21117 /* 57161 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
21118 /* 57161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
21119 /* 57164 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21120 /* 57166 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21121 /* 57170 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21122 /* 57174 */ GIR_RootConstrainSelectedInstOperands,
21123 /* 57175 */ // GIR_Coverage, 1687,
21124 /* 57175 */ GIR_EraseRootFromParent_Done,
21125 /* 57176 */ // Label 1417: @57176
21126 /* 57176 */ GIM_Try, /*On fail goto*//*Label 1418*/ GIMT_Encode4(57214), // Rule ID 1688 //
21127 /* 57181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21128 /* 57184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21129 /* 57188 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21130 /* 57192 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21131 /* 57199 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
21132 /* 57199 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
21133 /* 57202 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21134 /* 57204 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21135 /* 57208 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21136 /* 57212 */ GIR_RootConstrainSelectedInstOperands,
21137 /* 57213 */ // GIR_Coverage, 1688,
21138 /* 57213 */ GIR_EraseRootFromParent_Done,
21139 /* 57214 */ // Label 1418: @57214
21140 /* 57214 */ GIM_Try, /*On fail goto*//*Label 1419*/ GIMT_Encode4(57256), // Rule ID 4452 //
21141 /* 57219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21142 /* 57222 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21143 /* 57226 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21144 /* 57230 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21145 /* 57234 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21146 /* 57241 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
21147 /* 57241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rm),
21148 /* 57244 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21149 /* 57246 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21150 /* 57250 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21151 /* 57254 */ GIR_RootConstrainSelectedInstOperands,
21152 /* 57255 */ // GIR_Coverage, 4452,
21153 /* 57255 */ GIR_EraseRootFromParent_Done,
21154 /* 57256 */ // Label 1419: @57256
21155 /* 57256 */ GIM_Try, /*On fail goto*//*Label 1420*/ GIMT_Encode4(57294), // Rule ID 4483 //
21156 /* 57261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21157 /* 57264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21158 /* 57268 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21159 /* 57272 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21160 /* 57279 */ // (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
21161 /* 57279 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128rm),
21162 /* 57282 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21163 /* 57284 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21164 /* 57288 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21165 /* 57292 */ GIR_RootConstrainSelectedInstOperands,
21166 /* 57293 */ // GIR_Coverage, 4483,
21167 /* 57293 */ GIR_EraseRootFromParent_Done,
21168 /* 57294 */ // Label 1420: @57294
21169 /* 57294 */ GIM_Try, /*On fail goto*//*Label 1421*/ GIMT_Encode4(57336), // Rule ID 17906 //
21170 /* 57299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21171 /* 57302 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21172 /* 57306 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21173 /* 57310 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21174 /* 57314 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21175 /* 57321 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
21176 /* 57321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
21177 /* 57324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21178 /* 57326 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21179 /* 57330 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21180 /* 57334 */ GIR_RootConstrainSelectedInstOperands,
21181 /* 57335 */ // GIR_Coverage, 17906,
21182 /* 57335 */ GIR_EraseRootFromParent_Done,
21183 /* 57336 */ // Label 1421: @57336
21184 /* 57336 */ GIM_Try, /*On fail goto*//*Label 1422*/ GIMT_Encode4(57374), // Rule ID 17910 //
21185 /* 57341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21186 /* 57344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21187 /* 57348 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21188 /* 57352 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21189 /* 57359 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
21190 /* 57359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
21191 /* 57362 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21192 /* 57364 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21193 /* 57368 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21194 /* 57372 */ GIR_RootConstrainSelectedInstOperands,
21195 /* 57373 */ // GIR_Coverage, 17910,
21196 /* 57373 */ GIR_EraseRootFromParent_Done,
21197 /* 57374 */ // Label 1422: @57374
21198 /* 57374 */ GIM_Try, /*On fail goto*//*Label 1423*/ GIMT_Encode4(57416), // Rule ID 18285 //
21199 /* 57379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21200 /* 57382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21201 /* 57386 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21202 /* 57390 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21203 /* 57394 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21204 /* 57401 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
21205 /* 57401 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
21206 /* 57404 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21207 /* 57406 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21208 /* 57410 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21209 /* 57414 */ GIR_RootConstrainSelectedInstOperands,
21210 /* 57415 */ // GIR_Coverage, 18285,
21211 /* 57415 */ GIR_EraseRootFromParent_Done,
21212 /* 57416 */ // Label 1423: @57416
21213 /* 57416 */ GIM_Try, /*On fail goto*//*Label 1424*/ GIMT_Encode4(57454), // Rule ID 18289 //
21214 /* 57421 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21215 /* 57424 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21216 /* 57428 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21217 /* 57432 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21218 /* 57439 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
21219 /* 57439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
21220 /* 57442 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21221 /* 57444 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21222 /* 57448 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21223 /* 57452 */ GIR_RootConstrainSelectedInstOperands,
21224 /* 57453 */ // GIR_Coverage, 18289,
21225 /* 57453 */ GIR_EraseRootFromParent_Done,
21226 /* 57454 */ // Label 1424: @57454
21227 /* 57454 */ GIM_Try, /*On fail goto*//*Label 1425*/ GIMT_Encode4(57496), // Rule ID 19797 //
21228 /* 57459 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21229 /* 57462 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21230 /* 57466 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21231 /* 57470 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21232 /* 57474 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21233 /* 57481 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
21234 /* 57481 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
21235 /* 57484 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21236 /* 57486 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21237 /* 57490 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21238 /* 57494 */ GIR_RootConstrainSelectedInstOperands,
21239 /* 57495 */ // GIR_Coverage, 19797,
21240 /* 57495 */ GIR_EraseRootFromParent_Done,
21241 /* 57496 */ // Label 1425: @57496
21242 /* 57496 */ GIM_Try, /*On fail goto*//*Label 1426*/ GIMT_Encode4(57534), // Rule ID 19801 //
21243 /* 57501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21244 /* 57504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21245 /* 57508 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21246 /* 57512 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21247 /* 57519 */ // (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
21248 /* 57519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
21249 /* 57522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21250 /* 57524 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21251 /* 57528 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21252 /* 57532 */ GIR_RootConstrainSelectedInstOperands,
21253 /* 57533 */ // GIR_Coverage, 19801,
21254 /* 57533 */ GIR_EraseRootFromParent_Done,
21255 /* 57534 */ // Label 1426: @57534
21256 /* 57534 */ GIM_Reject,
21257 /* 57535 */ // Label 1414: @57535
21258 /* 57535 */ GIM_Reject,
21259 /* 57536 */ // Label 1311: @57536
21260 /* 57536 */ GIM_Try, /*On fail goto*//*Label 1427*/ GIMT_Encode4(57869),
21261 /* 57541 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21262 /* 57544 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21263 /* 57548 */ GIM_Try, /*On fail goto*//*Label 1428*/ GIMT_Encode4(57590), // Rule ID 1683 //
21264 /* 57553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21265 /* 57556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21266 /* 57560 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21267 /* 57564 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21268 /* 57568 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21269 /* 57575 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
21270 /* 57575 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
21271 /* 57578 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21272 /* 57580 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21273 /* 57584 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21274 /* 57588 */ GIR_RootConstrainSelectedInstOperands,
21275 /* 57589 */ // GIR_Coverage, 1683,
21276 /* 57589 */ GIR_EraseRootFromParent_Done,
21277 /* 57590 */ // Label 1428: @57590
21278 /* 57590 */ GIM_Try, /*On fail goto*//*Label 1429*/ GIMT_Encode4(57628), // Rule ID 1685 //
21279 /* 57595 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21280 /* 57598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21281 /* 57602 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21282 /* 57606 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21283 /* 57613 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
21284 /* 57613 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
21285 /* 57616 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21286 /* 57618 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21287 /* 57622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21288 /* 57626 */ GIR_RootConstrainSelectedInstOperands,
21289 /* 57627 */ // GIR_Coverage, 1685,
21290 /* 57627 */ GIR_EraseRootFromParent_Done,
21291 /* 57628 */ // Label 1429: @57628
21292 /* 57628 */ GIM_Try, /*On fail goto*//*Label 1430*/ GIMT_Encode4(57670), // Rule ID 4447 //
21293 /* 57633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21294 /* 57636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21295 /* 57640 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21296 /* 57644 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21297 /* 57648 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21298 /* 57655 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
21299 /* 57655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rm),
21300 /* 57658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21301 /* 57660 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21302 /* 57664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21303 /* 57668 */ GIR_RootConstrainSelectedInstOperands,
21304 /* 57669 */ // GIR_Coverage, 4447,
21305 /* 57669 */ GIR_EraseRootFromParent_Done,
21306 /* 57670 */ // Label 1430: @57670
21307 /* 57670 */ GIM_Try, /*On fail goto*//*Label 1431*/ GIMT_Encode4(57708), // Rule ID 4480 //
21308 /* 57675 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21309 /* 57678 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21310 /* 57682 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21311 /* 57686 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21312 /* 57693 */ // (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
21313 /* 57693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256rm),
21314 /* 57696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21315 /* 57698 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21316 /* 57702 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21317 /* 57706 */ GIR_RootConstrainSelectedInstOperands,
21318 /* 57707 */ // GIR_Coverage, 4480,
21319 /* 57707 */ GIR_EraseRootFromParent_Done,
21320 /* 57708 */ // Label 1431: @57708
21321 /* 57708 */ GIM_Try, /*On fail goto*//*Label 1432*/ GIMT_Encode4(57750), // Rule ID 17882 //
21322 /* 57713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21323 /* 57716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21324 /* 57720 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21325 /* 57724 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21326 /* 57728 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21327 /* 57735 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
21328 /* 57735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
21329 /* 57738 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21330 /* 57740 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21331 /* 57744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21332 /* 57748 */ GIR_RootConstrainSelectedInstOperands,
21333 /* 57749 */ // GIR_Coverage, 17882,
21334 /* 57749 */ GIR_EraseRootFromParent_Done,
21335 /* 57750 */ // Label 1432: @57750
21336 /* 57750 */ GIM_Try, /*On fail goto*//*Label 1433*/ GIMT_Encode4(57788), // Rule ID 17886 //
21337 /* 57755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21338 /* 57758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21339 /* 57762 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21340 /* 57766 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21341 /* 57773 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
21342 /* 57773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
21343 /* 57776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21344 /* 57778 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21345 /* 57782 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21346 /* 57786 */ GIR_RootConstrainSelectedInstOperands,
21347 /* 57787 */ // GIR_Coverage, 17886,
21348 /* 57787 */ GIR_EraseRootFromParent_Done,
21349 /* 57788 */ // Label 1433: @57788
21350 /* 57788 */ GIM_Try, /*On fail goto*//*Label 1434*/ GIMT_Encode4(57830), // Rule ID 19813 //
21351 /* 57793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21352 /* 57796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21353 /* 57800 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21354 /* 57804 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21355 /* 57808 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21356 /* 57815 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
21357 /* 57815 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
21358 /* 57818 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21359 /* 57820 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21360 /* 57824 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21361 /* 57828 */ GIR_RootConstrainSelectedInstOperands,
21362 /* 57829 */ // GIR_Coverage, 19813,
21363 /* 57829 */ GIR_EraseRootFromParent_Done,
21364 /* 57830 */ // Label 1434: @57830
21365 /* 57830 */ GIM_Try, /*On fail goto*//*Label 1435*/ GIMT_Encode4(57868), // Rule ID 19817 //
21366 /* 57835 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
21367 /* 57838 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21368 /* 57842 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21369 /* 57846 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21370 /* 57853 */ // (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
21371 /* 57853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
21372 /* 57856 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21373 /* 57858 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21374 /* 57862 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21375 /* 57866 */ GIR_RootConstrainSelectedInstOperands,
21376 /* 57867 */ // GIR_Coverage, 19817,
21377 /* 57867 */ GIR_EraseRootFromParent_Done,
21378 /* 57868 */ // Label 1435: @57868
21379 /* 57868 */ GIM_Reject,
21380 /* 57869 */ // Label 1427: @57869
21381 /* 57869 */ GIM_Reject,
21382 /* 57870 */ // Label 1312: @57870
21383 /* 57870 */ GIM_Try, /*On fail goto*//*Label 1436*/ GIMT_Encode4(58043),
21384 /* 57875 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21385 /* 57878 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21386 /* 57882 */ GIM_Try, /*On fail goto*//*Label 1437*/ GIMT_Encode4(57924), // Rule ID 4442 //
21387 /* 57887 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21388 /* 57890 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21389 /* 57894 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21390 /* 57898 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21391 /* 57902 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21392 /* 57909 */ // (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
21393 /* 57909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrm),
21394 /* 57912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21395 /* 57914 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21396 /* 57918 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21397 /* 57922 */ GIR_RootConstrainSelectedInstOperands,
21398 /* 57923 */ // GIR_Coverage, 4442,
21399 /* 57923 */ GIR_EraseRootFromParent_Done,
21400 /* 57924 */ // Label 1437: @57924
21401 /* 57924 */ GIM_Try, /*On fail goto*//*Label 1438*/ GIMT_Encode4(57962), // Rule ID 4477 //
21402 /* 57929 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21403 /* 57932 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21404 /* 57936 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21405 /* 57940 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21406 /* 57947 */ // (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
21407 /* 57947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZrm),
21408 /* 57950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21409 /* 57952 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21410 /* 57956 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21411 /* 57960 */ GIR_RootConstrainSelectedInstOperands,
21412 /* 57961 */ // GIR_Coverage, 4477,
21413 /* 57961 */ GIR_EraseRootFromParent_Done,
21414 /* 57962 */ // Label 1438: @57962
21415 /* 57962 */ GIM_Try, /*On fail goto*//*Label 1439*/ GIMT_Encode4(58004), // Rule ID 19781 //
21416 /* 57967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21417 /* 57970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21418 /* 57974 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21419 /* 57978 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21420 /* 57982 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21421 /* 57989 */ // (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Zrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
21422 /* 57989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
21423 /* 57992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21424 /* 57994 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21425 /* 57998 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21426 /* 58002 */ GIR_RootConstrainSelectedInstOperands,
21427 /* 58003 */ // GIR_Coverage, 19781,
21428 /* 58003 */ GIR_EraseRootFromParent_Done,
21429 /* 58004 */ // Label 1439: @58004
21430 /* 58004 */ GIM_Try, /*On fail goto*//*Label 1440*/ GIMT_Encode4(58042), // Rule ID 19785 //
21431 /* 58009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21432 /* 58012 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21433 /* 58016 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21434 /* 58020 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21435 /* 58027 */ // (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
21436 /* 58027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
21437 /* 58030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21438 /* 58032 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21439 /* 58036 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21440 /* 58040 */ GIR_RootConstrainSelectedInstOperands,
21441 /* 58041 */ // GIR_Coverage, 19785,
21442 /* 58041 */ GIR_EraseRootFromParent_Done,
21443 /* 58042 */ // Label 1440: @58042
21444 /* 58042 */ GIM_Reject,
21445 /* 58043 */ // Label 1436: @58043
21446 /* 58043 */ GIM_Reject,
21447 /* 58044 */ // Label 1313: @58044
21448 /* 58044 */ GIM_Try, /*On fail goto*//*Label 1441*/ GIMT_Encode4(58537),
21449 /* 58049 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21450 /* 58052 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21451 /* 58056 */ GIM_Try, /*On fail goto*//*Label 1442*/ GIMT_Encode4(58098), // Rule ID 1680 //
21452 /* 58061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21453 /* 58064 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21454 /* 58068 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21455 /* 58072 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21456 /* 58076 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21457 /* 58083 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
21458 /* 58083 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDrm),
21459 /* 58086 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21460 /* 58088 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21461 /* 58092 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21462 /* 58096 */ GIR_RootConstrainSelectedInstOperands,
21463 /* 58097 */ // GIR_Coverage, 1680,
21464 /* 58097 */ GIR_EraseRootFromParent_Done,
21465 /* 58098 */ // Label 1442: @58098
21466 /* 58098 */ GIM_Try, /*On fail goto*//*Label 1443*/ GIMT_Encode4(58136), // Rule ID 1682 //
21467 /* 58103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21468 /* 58106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21469 /* 58110 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21470 /* 58114 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21471 /* 58121 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
21472 /* 58121 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDrm),
21473 /* 58124 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21474 /* 58126 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21475 /* 58130 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21476 /* 58134 */ GIR_RootConstrainSelectedInstOperands,
21477 /* 58135 */ // GIR_Coverage, 1682,
21478 /* 58135 */ GIR_EraseRootFromParent_Done,
21479 /* 58136 */ // Label 1443: @58136
21480 /* 58136 */ GIM_Try, /*On fail goto*//*Label 1444*/ GIMT_Encode4(58178), // Rule ID 1689 //
21481 /* 58141 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
21482 /* 58144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21483 /* 58148 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21484 /* 58152 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21485 /* 58156 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21486 /* 58163 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
21487 /* 58163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDrm),
21488 /* 58166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21489 /* 58168 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21490 /* 58172 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21491 /* 58176 */ GIR_RootConstrainSelectedInstOperands,
21492 /* 58177 */ // GIR_Coverage, 1689,
21493 /* 58177 */ GIR_EraseRootFromParent_Done,
21494 /* 58178 */ // Label 1444: @58178
21495 /* 58178 */ GIM_Try, /*On fail goto*//*Label 1445*/ GIMT_Encode4(58216), // Rule ID 1690 //
21496 /* 58183 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
21497 /* 58186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21498 /* 58190 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21499 /* 58194 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21500 /* 58201 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
21501 /* 58201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPDrm),
21502 /* 58204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21503 /* 58206 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21504 /* 58210 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21505 /* 58214 */ GIR_RootConstrainSelectedInstOperands,
21506 /* 58215 */ // GIR_Coverage, 1690,
21507 /* 58215 */ GIR_EraseRootFromParent_Done,
21508 /* 58216 */ // Label 1445: @58216
21509 /* 58216 */ GIM_Try, /*On fail goto*//*Label 1446*/ GIMT_Encode4(58258), // Rule ID 2494 //
21510 /* 58221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21511 /* 58224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21512 /* 58228 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21513 /* 58232 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21514 /* 58236 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21515 /* 58243 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQArm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
21516 /* 58243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQArm),
21517 /* 58246 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21518 /* 58248 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21519 /* 58252 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21520 /* 58256 */ GIR_RootConstrainSelectedInstOperands,
21521 /* 58257 */ // GIR_Coverage, 2494,
21522 /* 58257 */ GIR_EraseRootFromParent_Done,
21523 /* 58258 */ // Label 1446: @58258
21524 /* 58258 */ GIM_Try, /*On fail goto*//*Label 1447*/ GIMT_Encode4(58296), // Rule ID 2495 //
21525 /* 58263 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21526 /* 58266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21527 /* 58270 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21528 /* 58274 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21529 /* 58281 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQUrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
21530 /* 58281 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUrm),
21531 /* 58284 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21532 /* 58286 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21533 /* 58290 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21534 /* 58294 */ GIR_RootConstrainSelectedInstOperands,
21535 /* 58295 */ // GIR_Coverage, 2495,
21536 /* 58295 */ GIR_EraseRootFromParent_Done,
21537 /* 58296 */ // Label 1447: @58296
21538 /* 58296 */ GIM_Try, /*On fail goto*//*Label 1448*/ GIMT_Encode4(58338), // Rule ID 4470 //
21539 /* 58301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21540 /* 58304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21541 /* 58308 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21542 /* 58312 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21543 /* 58316 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21544 /* 58323 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
21545 /* 58323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rm),
21546 /* 58326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21547 /* 58328 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21548 /* 58332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21549 /* 58336 */ GIR_RootConstrainSelectedInstOperands,
21550 /* 58337 */ // GIR_Coverage, 4470,
21551 /* 58337 */ GIR_EraseRootFromParent_Done,
21552 /* 58338 */ // Label 1448: @58338
21553 /* 58338 */ GIM_Try, /*On fail goto*//*Label 1449*/ GIMT_Encode4(58376), // Rule ID 4495 //
21554 /* 58343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21555 /* 58346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21556 /* 58350 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21557 /* 58354 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21558 /* 58361 */ // (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
21559 /* 58361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ128rm),
21560 /* 58364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21561 /* 58366 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21562 /* 58370 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21563 /* 58374 */ GIR_RootConstrainSelectedInstOperands,
21564 /* 58375 */ // GIR_Coverage, 4495,
21565 /* 58375 */ GIR_EraseRootFromParent_Done,
21566 /* 58376 */ // Label 1449: @58376
21567 /* 58376 */ GIM_Try, /*On fail goto*//*Label 1450*/ GIMT_Encode4(58418), // Rule ID 4524 //
21568 /* 58381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21569 /* 58384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21570 /* 58388 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21571 /* 58392 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21572 /* 58396 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21573 /* 58403 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
21574 /* 58403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rm),
21575 /* 58406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21576 /* 58408 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21577 /* 58412 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21578 /* 58416 */ GIR_RootConstrainSelectedInstOperands,
21579 /* 58417 */ // GIR_Coverage, 4524,
21580 /* 58417 */ GIR_EraseRootFromParent_Done,
21581 /* 58418 */ // Label 1450: @58418
21582 /* 58418 */ GIM_Try, /*On fail goto*//*Label 1451*/ GIMT_Encode4(58456), // Rule ID 4567 //
21583 /* 58423 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21584 /* 58426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
21585 /* 58430 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21586 /* 58434 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21587 /* 58441 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
21588 /* 58441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128rm),
21589 /* 58444 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21590 /* 58446 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21591 /* 58450 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21592 /* 58454 */ GIR_RootConstrainSelectedInstOperands,
21593 /* 58455 */ // GIR_Coverage, 4567,
21594 /* 58455 */ GIR_EraseRootFromParent_Done,
21595 /* 58456 */ // Label 1451: @58456
21596 /* 58456 */ GIM_Try, /*On fail goto*//*Label 1452*/ GIMT_Encode4(58498), // Rule ID 17905 //
21597 /* 58461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21598 /* 58464 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21599 /* 58468 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21600 /* 58472 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21601 /* 58476 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21602 /* 58483 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (MOVAPSrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
21603 /* 58483 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSrm),
21604 /* 58486 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21605 /* 58488 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21606 /* 58492 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21607 /* 58496 */ GIR_RootConstrainSelectedInstOperands,
21608 /* 58497 */ // GIR_Coverage, 17905,
21609 /* 58497 */ GIR_EraseRootFromParent_Done,
21610 /* 58498 */ // Label 1452: @58498
21611 /* 58498 */ GIM_Try, /*On fail goto*//*Label 1453*/ GIMT_Encode4(58536), // Rule ID 17909 //
21612 /* 58503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
21613 /* 58506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
21614 /* 58510 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21615 /* 58514 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21616 /* 58521 */ // (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (MOVUPSrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
21617 /* 58521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSrm),
21618 /* 58524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21619 /* 58526 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21620 /* 58530 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21621 /* 58534 */ GIR_RootConstrainSelectedInstOperands,
21622 /* 58535 */ // GIR_Coverage, 17909,
21623 /* 58535 */ GIR_EraseRootFromParent_Done,
21624 /* 58536 */ // Label 1453: @58536
21625 /* 58536 */ GIM_Reject,
21626 /* 58537 */ // Label 1441: @58537
21627 /* 58537 */ GIM_Reject,
21628 /* 58538 */ // Label 1314: @58538
21629 /* 58538 */ GIM_Try, /*On fail goto*//*Label 1454*/ GIMT_Encode4(58871),
21630 /* 58543 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21631 /* 58546 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21632 /* 58550 */ GIM_Try, /*On fail goto*//*Label 1455*/ GIMT_Encode4(58592), // Rule ID 1684 //
21633 /* 58555 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21634 /* 58558 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21635 /* 58562 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21636 /* 58566 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21637 /* 58570 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21638 /* 58577 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
21639 /* 58577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDYrm),
21640 /* 58580 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21641 /* 58582 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21642 /* 58586 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21643 /* 58590 */ GIR_RootConstrainSelectedInstOperands,
21644 /* 58591 */ // GIR_Coverage, 1684,
21645 /* 58591 */ GIR_EraseRootFromParent_Done,
21646 /* 58592 */ // Label 1455: @58592
21647 /* 58592 */ GIM_Try, /*On fail goto*//*Label 1456*/ GIMT_Encode4(58630), // Rule ID 1686 //
21648 /* 58597 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21649 /* 58600 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21650 /* 58604 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21651 /* 58608 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21652 /* 58615 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
21653 /* 58615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDYrm),
21654 /* 58618 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21655 /* 58620 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21656 /* 58624 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21657 /* 58628 */ GIR_RootConstrainSelectedInstOperands,
21658 /* 58629 */ // GIR_Coverage, 1686,
21659 /* 58629 */ GIR_EraseRootFromParent_Done,
21660 /* 58630 */ // Label 1456: @58630
21661 /* 58630 */ GIM_Try, /*On fail goto*//*Label 1457*/ GIMT_Encode4(58672), // Rule ID 4465 //
21662 /* 58635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21663 /* 58638 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21664 /* 58642 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21665 /* 58646 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21666 /* 58650 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21667 /* 58657 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
21668 /* 58657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rm),
21669 /* 58660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21670 /* 58662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21671 /* 58666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21672 /* 58670 */ GIR_RootConstrainSelectedInstOperands,
21673 /* 58671 */ // GIR_Coverage, 4465,
21674 /* 58671 */ GIR_EraseRootFromParent_Done,
21675 /* 58672 */ // Label 1457: @58672
21676 /* 58672 */ GIM_Try, /*On fail goto*//*Label 1458*/ GIMT_Encode4(58710), // Rule ID 4492 //
21677 /* 58677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21678 /* 58680 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21679 /* 58684 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21680 /* 58688 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21681 /* 58695 */ // (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
21682 /* 58695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ256rm),
21683 /* 58698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21684 /* 58700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21685 /* 58704 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21686 /* 58708 */ GIR_RootConstrainSelectedInstOperands,
21687 /* 58709 */ // GIR_Coverage, 4492,
21688 /* 58709 */ GIR_EraseRootFromParent_Done,
21689 /* 58710 */ // Label 1458: @58710
21690 /* 58710 */ GIM_Try, /*On fail goto*//*Label 1459*/ GIMT_Encode4(58752), // Rule ID 4519 //
21691 /* 58715 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21692 /* 58718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21693 /* 58722 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21694 /* 58726 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21695 /* 58730 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21696 /* 58737 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Z256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
21697 /* 58737 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rm),
21698 /* 58740 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21699 /* 58742 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21700 /* 58746 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21701 /* 58750 */ GIR_RootConstrainSelectedInstOperands,
21702 /* 58751 */ // GIR_Coverage, 4519,
21703 /* 58751 */ GIR_EraseRootFromParent_Done,
21704 /* 58752 */ // Label 1459: @58752
21705 /* 58752 */ GIM_Try, /*On fail goto*//*Label 1460*/ GIMT_Encode4(58790), // Rule ID 4564 //
21706 /* 58757 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
21707 /* 58760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
21708 /* 58764 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21709 /* 58768 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21710 /* 58775 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Z256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
21711 /* 58775 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256rm),
21712 /* 58778 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21713 /* 58780 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21714 /* 58784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21715 /* 58788 */ GIR_RootConstrainSelectedInstOperands,
21716 /* 58789 */ // GIR_Coverage, 4564,
21717 /* 58789 */ GIR_EraseRootFromParent_Done,
21718 /* 58790 */ // Label 1460: @58790
21719 /* 58790 */ GIM_Try, /*On fail goto*//*Label 1461*/ GIMT_Encode4(58832), // Rule ID 17881 //
21720 /* 58795 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21721 /* 58798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21722 /* 58802 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21723 /* 58806 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21724 /* 58810 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21725 /* 58817 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPSYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
21726 /* 58817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYrm),
21727 /* 58820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21728 /* 58822 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21729 /* 58826 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21730 /* 58830 */ GIR_RootConstrainSelectedInstOperands,
21731 /* 58831 */ // GIR_Coverage, 17881,
21732 /* 58831 */ GIR_EraseRootFromParent_Done,
21733 /* 58832 */ // Label 1461: @58832
21734 /* 58832 */ GIM_Try, /*On fail goto*//*Label 1462*/ GIMT_Encode4(58870), // Rule ID 17885 //
21735 /* 58837 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
21736 /* 58840 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
21737 /* 58844 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21738 /* 58848 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21739 /* 58855 */ // (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPSYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
21740 /* 58855 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYrm),
21741 /* 58858 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21742 /* 58860 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21743 /* 58864 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21744 /* 58868 */ GIR_RootConstrainSelectedInstOperands,
21745 /* 58869 */ // GIR_Coverage, 17885,
21746 /* 58869 */ GIR_EraseRootFromParent_Done,
21747 /* 58870 */ // Label 1462: @58870
21748 /* 58870 */ GIM_Reject,
21749 /* 58871 */ // Label 1454: @58871
21750 /* 58871 */ GIM_Reject,
21751 /* 58872 */ // Label 1315: @58872
21752 /* 58872 */ GIM_Try, /*On fail goto*//*Label 1463*/ GIMT_Encode4(59045),
21753 /* 58877 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21754 /* 58880 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
21755 /* 58884 */ GIM_Try, /*On fail goto*//*Label 1464*/ GIMT_Encode4(58926), // Rule ID 4460 //
21756 /* 58889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21757 /* 58892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21758 /* 58896 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21759 /* 58900 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21760 /* 58904 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21761 /* 58911 */ // (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVAPDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
21762 /* 58911 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrm),
21763 /* 58914 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21764 /* 58916 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21765 /* 58920 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21766 /* 58924 */ GIR_RootConstrainSelectedInstOperands,
21767 /* 58925 */ // GIR_Coverage, 4460,
21768 /* 58925 */ GIR_EraseRootFromParent_Done,
21769 /* 58926 */ // Label 1464: @58926
21770 /* 58926 */ GIM_Try, /*On fail goto*//*Label 1465*/ GIMT_Encode4(58964), // Rule ID 4489 //
21771 /* 58931 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21772 /* 58934 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21773 /* 58938 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21774 /* 58942 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21775 /* 58949 */ // (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVUPDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
21776 /* 58949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZrm),
21777 /* 58952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21778 /* 58954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21779 /* 58958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21780 /* 58962 */ GIR_RootConstrainSelectedInstOperands,
21781 /* 58963 */ // GIR_Coverage, 4489,
21782 /* 58963 */ GIR_EraseRootFromParent_Done,
21783 /* 58964 */ // Label 1465: @58964
21784 /* 58964 */ GIM_Try, /*On fail goto*//*Label 1466*/ GIMT_Encode4(59006), // Rule ID 4514 //
21785 /* 58969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21786 /* 58972 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21787 /* 58976 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21788 /* 58980 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
21789 /* 58984 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21790 /* 58991 */ // (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>><<P:Predicate_alignedload>> => (VMOVDQA64Zrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
21791 /* 58991 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrm),
21792 /* 58994 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21793 /* 58996 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21794 /* 59000 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21795 /* 59004 */ GIR_RootConstrainSelectedInstOperands,
21796 /* 59005 */ // GIR_Coverage, 4514,
21797 /* 59005 */ GIR_EraseRootFromParent_Done,
21798 /* 59006 */ // Label 1466: @59006
21799 /* 59006 */ GIM_Try, /*On fail goto*//*Label 1467*/ GIMT_Encode4(59044), // Rule ID 4561 //
21800 /* 59011 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
21801 /* 59014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
21802 /* 59018 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21803 /* 59022 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21804 /* 59029 */ // (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> => (VMOVDQU64Zrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
21805 /* 59029 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zrm),
21806 /* 59032 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21807 /* 59034 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21808 /* 59038 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21809 /* 59042 */ GIR_RootConstrainSelectedInstOperands,
21810 /* 59043 */ // GIR_Coverage, 4561,
21811 /* 59043 */ GIR_EraseRootFromParent_Done,
21812 /* 59044 */ // Label 1467: @59044
21813 /* 59044 */ GIM_Reject,
21814 /* 59045 */ // Label 1463: @59045
21815 /* 59045 */ GIM_Reject,
21816 /* 59046 */ // Label 1316: @59046
21817 /* 59046 */ GIM_Reject,
21818 /* 59047 */ // Label 12: @59047
21819 /* 59047 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 1471*/ GIMT_Encode4(59379),
21820 /* 59058 */ /*GILLT_s16*//*Label 1468*/ GIMT_Encode4(59070),
21821 /* 59062 */ /*GILLT_s32*//*Label 1469*/ GIMT_Encode4(59146),
21822 /* 59066 */ /*GILLT_s64*//*Label 1470*/ GIMT_Encode4(59240),
21823 /* 59070 */ // Label 1468: @59070
21824 /* 59070 */ GIM_Try, /*On fail goto*//*Label 1472*/ GIMT_Encode4(59145), // Rule ID 22706 //
21825 /* 59075 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21826 /* 59078 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21827 /* 59085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
21828 /* 59089 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21829 /* 59093 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21830 /* 59100 */ // (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] })
21831 /* 59100 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21832 /* 59103 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm8),
21833 /* 59107 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21834 /* 59112 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21835 /* 59116 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21836 /* 59120 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21837 /* 59122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
21838 /* 59125 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21839 /* 59127 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
21840 /* 59134 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
21841 /* 59139 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21842 /* 59144 */ // GIR_Coverage, 22706,
21843 /* 59144 */ GIR_EraseRootFromParent_Done,
21844 /* 59145 */ // Label 1472: @59145
21845 /* 59145 */ GIM_Reject,
21846 /* 59146 */ // Label 1469: @59146
21847 /* 59146 */ GIM_Try, /*On fail goto*//*Label 1473*/ GIMT_Encode4(59239),
21848 /* 59151 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21849 /* 59154 */ GIM_Try, /*On fail goto*//*Label 1474*/ GIMT_Encode4(59196), // Rule ID 590 //
21850 /* 59159 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21851 /* 59166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21852 /* 59170 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21853 /* 59174 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21854 /* 59181 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> => (MOVSX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21855 /* 59181 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm8),
21856 /* 59184 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21857 /* 59186 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21858 /* 59190 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21859 /* 59194 */ GIR_RootConstrainSelectedInstOperands,
21860 /* 59195 */ // GIR_Coverage, 590,
21861 /* 59195 */ GIR_EraseRootFromParent_Done,
21862 /* 59196 */ // Label 1474: @59196
21863 /* 59196 */ GIM_Try, /*On fail goto*//*Label 1475*/ GIMT_Encode4(59238), // Rule ID 592 //
21864 /* 59201 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
21865 /* 59208 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
21866 /* 59212 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21867 /* 59216 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21868 /* 59223 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> => (MOVSX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
21869 /* 59223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rm16),
21870 /* 59226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21871 /* 59228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21872 /* 59232 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21873 /* 59236 */ GIR_RootConstrainSelectedInstOperands,
21874 /* 59237 */ // GIR_Coverage, 592,
21875 /* 59237 */ GIR_EraseRootFromParent_Done,
21876 /* 59238 */ // Label 1475: @59238
21877 /* 59238 */ GIM_Reject,
21878 /* 59239 */ // Label 1473: @59239
21879 /* 59239 */ GIM_Reject,
21880 /* 59240 */ // Label 1470: @59240
21881 /* 59240 */ GIM_Try, /*On fail goto*//*Label 1476*/ GIMT_Encode4(59378),
21882 /* 59245 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21883 /* 59248 */ GIM_Try, /*On fail goto*//*Label 1477*/ GIMT_Encode4(59290), // Rule ID 598 //
21884 /* 59253 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21885 /* 59260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21886 /* 59264 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21887 /* 59268 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21888 /* 59275 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> => (MOVSX64rm8:{ *:[i64] } addr:{ *:[iPTR] }:$src)
21889 /* 59275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm8),
21890 /* 59278 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21891 /* 59280 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21892 /* 59284 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21893 /* 59288 */ GIR_RootConstrainSelectedInstOperands,
21894 /* 59289 */ // GIR_Coverage, 598,
21895 /* 59289 */ GIR_EraseRootFromParent_Done,
21896 /* 59290 */ // Label 1477: @59290
21897 /* 59290 */ GIM_Try, /*On fail goto*//*Label 1478*/ GIMT_Encode4(59332), // Rule ID 600 //
21898 /* 59295 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
21899 /* 59302 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21900 /* 59306 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21901 /* 59310 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21902 /* 59317 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> => (MOVSX64rm16:{ *:[i64] } addr:{ *:[iPTR] }:$src)
21903 /* 59317 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm16),
21904 /* 59320 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21905 /* 59322 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21906 /* 59326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21907 /* 59330 */ GIR_RootConstrainSelectedInstOperands,
21908 /* 59331 */ // GIR_Coverage, 600,
21909 /* 59331 */ GIR_EraseRootFromParent_Done,
21910 /* 59332 */ // Label 1478: @59332
21911 /* 59332 */ GIM_Try, /*On fail goto*//*Label 1479*/ GIMT_Encode4(59377), // Rule ID 602 //
21912 /* 59337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
21913 /* 59340 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
21914 /* 59347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
21915 /* 59351 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21916 /* 59355 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21917 /* 59362 */ // (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> => (MOVSX64rm32:{ *:[i64] } addr:{ *:[iPTR] }:$src)
21918 /* 59362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX64rm32),
21919 /* 59365 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21920 /* 59367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21921 /* 59371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21922 /* 59375 */ GIR_RootConstrainSelectedInstOperands,
21923 /* 59376 */ // GIR_Coverage, 602,
21924 /* 59376 */ GIR_EraseRootFromParent_Done,
21925 /* 59377 */ // Label 1479: @59377
21926 /* 59377 */ GIM_Reject,
21927 /* 59378 */ // Label 1476: @59378
21928 /* 59378 */ GIM_Reject,
21929 /* 59379 */ // Label 1471: @59379
21930 /* 59379 */ GIM_Reject,
21931 /* 59380 */ // Label 13: @59380
21932 /* 59380 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 1484*/ GIMT_Encode4(60022),
21933 /* 59391 */ /*GILLT_s8*//*Label 1480*/ GIMT_Encode4(59407),
21934 /* 59395 */ /*GILLT_s16*//*Label 1481*/ GIMT_Encode4(59453),
21935 /* 59399 */ /*GILLT_s32*//*Label 1482*/ GIMT_Encode4(59592),
21936 /* 59403 */ /*GILLT_s64*//*Label 1483*/ GIMT_Encode4(59728),
21937 /* 59407 */ // Label 1480: @59407
21938 /* 59407 */ GIM_Try, /*On fail goto*//*Label 1485*/ GIMT_Encode4(59452), // Rule ID 22634 //
21939 /* 59412 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21940 /* 59415 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21941 /* 59422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
21942 /* 59426 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21943 /* 59430 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21944 /* 59437 */ // (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> => (MOV8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
21945 /* 59437 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8rm),
21946 /* 59440 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21947 /* 59442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
21948 /* 59446 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
21949 /* 59450 */ GIR_RootConstrainSelectedInstOperands,
21950 /* 59451 */ // GIR_Coverage, 22634,
21951 /* 59451 */ GIR_EraseRootFromParent_Done,
21952 /* 59452 */ // Label 1485: @59452
21953 /* 59452 */ GIM_Reject,
21954 /* 59453 */ // Label 1481: @59453
21955 /* 59453 */ GIM_Try, /*On fail goto*//*Label 1486*/ GIMT_Encode4(59591),
21956 /* 59458 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
21957 /* 59461 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
21958 /* 59468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
21959 /* 59472 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
21960 /* 59476 */ GIM_Try, /*On fail goto*//*Label 1487*/ GIMT_Encode4(59533), // Rule ID 22635 //
21961 /* 59481 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21962 /* 59488 */ // (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] })
21963 /* 59488 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21964 /* 59491 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21965 /* 59495 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21966 /* 59500 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21967 /* 59504 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21968 /* 59508 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21969 /* 59510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
21970 /* 59513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21971 /* 59515 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
21972 /* 59522 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
21973 /* 59527 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21974 /* 59532 */ // GIR_Coverage, 22635,
21975 /* 59532 */ GIR_EraseRootFromParent_Done,
21976 /* 59533 */ // Label 1487: @59533
21977 /* 59533 */ GIM_Try, /*On fail goto*//*Label 1488*/ GIMT_Encode4(59590), // Rule ID 22708 //
21978 /* 59538 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
21979 /* 59545 */ // (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] })
21980 /* 59545 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
21981 /* 59548 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
21982 /* 59552 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
21983 /* 59557 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
21984 /* 59561 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
21985 /* 59565 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
21986 /* 59567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
21987 /* 59570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
21988 /* 59572 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
21989 /* 59579 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
21990 /* 59584 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
21991 /* 59589 */ // GIR_Coverage, 22708,
21992 /* 59589 */ GIR_EraseRootFromParent_Done,
21993 /* 59590 */ // Label 1488: @59590
21994 /* 59590 */ GIM_Reject,
21995 /* 59591 */ // Label 1486: @59591
21996 /* 59591 */ GIM_Reject,
21997 /* 59592 */ // Label 1482: @59592
21998 /* 59592 */ GIM_Try, /*On fail goto*//*Label 1489*/ GIMT_Encode4(59727),
21999 /* 59597 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22000 /* 59600 */ GIM_Try, /*On fail goto*//*Label 1490*/ GIMT_Encode4(59642), // Rule ID 594 //
22001 /* 59605 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22002 /* 59612 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
22003 /* 59616 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22004 /* 59620 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22005 /* 59627 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
22006 /* 59627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
22007 /* 59630 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22008 /* 59632 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22009 /* 59636 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22010 /* 59640 */ GIR_RootConstrainSelectedInstOperands,
22011 /* 59641 */ // GIR_Coverage, 594,
22012 /* 59641 */ GIR_EraseRootFromParent_Done,
22013 /* 59642 */ // Label 1490: @59642
22014 /* 59642 */ GIM_Try, /*On fail goto*//*Label 1491*/ GIMT_Encode4(59684), // Rule ID 596 //
22015 /* 59647 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
22016 /* 59654 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
22017 /* 59658 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22018 /* 59662 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22019 /* 59669 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> => (MOVZX32rm16:{ *:[i32] } addr:{ *:[iPTR] }:$src)
22020 /* 59669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
22021 /* 59672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22022 /* 59674 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22023 /* 59678 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22024 /* 59682 */ GIR_RootConstrainSelectedInstOperands,
22025 /* 59683 */ // GIR_Coverage, 596,
22026 /* 59683 */ GIR_EraseRootFromParent_Done,
22027 /* 59684 */ // Label 1491: @59684
22028 /* 59684 */ GIM_Try, /*On fail goto*//*Label 1492*/ GIMT_Encode4(59726), // Rule ID 22636 //
22029 /* 59689 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22030 /* 59696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
22031 /* 59700 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22032 /* 59704 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22033 /* 59711 */ // (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> => (MOVZX32rm8:{ *:[i32] } addr:{ *:[iPTR] }:$src)
22034 /* 59711 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
22035 /* 59714 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22036 /* 59716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
22037 /* 59720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
22038 /* 59724 */ GIR_RootConstrainSelectedInstOperands,
22039 /* 59725 */ // GIR_Coverage, 22636,
22040 /* 59725 */ GIR_EraseRootFromParent_Done,
22041 /* 59726 */ // Label 1492: @59726
22042 /* 59726 */ GIM_Reject,
22043 /* 59727 */ // Label 1489: @59727
22044 /* 59727 */ GIM_Reject,
22045 /* 59728 */ // Label 1483: @59728
22046 /* 59728 */ GIM_Try, /*On fail goto*//*Label 1493*/ GIMT_Encode4(60021),
22047 /* 59733 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22048 /* 59736 */ GIM_Try, /*On fail goto*//*Label 1494*/ GIMT_Encode4(59807), // Rule ID 17557 //
22049 /* 59741 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22050 /* 59748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
22051 /* 59752 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22052 /* 59756 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22053 /* 59763 */ // (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] })
22054 /* 59763 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22055 /* 59766 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
22056 /* 59770 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22057 /* 59775 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
22058 /* 59779 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
22059 /* 59783 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22060 /* 59785 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
22061 /* 59788 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22062 /* 59790 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22063 /* 59793 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
22064 /* 59796 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
22065 /* 59801 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
22066 /* 59806 */ // GIR_Coverage, 17557,
22067 /* 59806 */ GIR_EraseRootFromParent_Done,
22068 /* 59807 */ // Label 1494: @59807
22069 /* 59807 */ GIM_Try, /*On fail goto*//*Label 1495*/ GIMT_Encode4(59878), // Rule ID 17559 //
22070 /* 59812 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
22071 /* 59819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
22072 /* 59823 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22073 /* 59827 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22074 /* 59834 */ // (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] })
22075 /* 59834 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22076 /* 59837 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm16),
22077 /* 59841 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22078 /* 59846 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
22079 /* 59850 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
22080 /* 59854 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22081 /* 59856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
22082 /* 59859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22083 /* 59861 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22084 /* 59864 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
22085 /* 59867 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
22086 /* 59872 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
22087 /* 59877 */ // GIR_Coverage, 17559,
22088 /* 59877 */ GIR_EraseRootFromParent_Done,
22089 /* 59878 */ // Label 1495: @59878
22090 /* 59878 */ GIM_Try, /*On fail goto*//*Label 1496*/ GIMT_Encode4(59949), // Rule ID 17561 //
22091 /* 59883 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
22092 /* 59890 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
22093 /* 59894 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22094 /* 59898 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22095 /* 59905 */ // (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] })
22096 /* 59905 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22097 /* 59908 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32rm),
22098 /* 59912 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22099 /* 59917 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
22100 /* 59921 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
22101 /* 59925 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22102 /* 59927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
22103 /* 59930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22104 /* 59932 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22105 /* 59935 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
22106 /* 59938 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
22107 /* 59943 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
22108 /* 59948 */ // GIR_Coverage, 17561,
22109 /* 59948 */ GIR_EraseRootFromParent_Done,
22110 /* 59949 */ // Label 1496: @59949
22111 /* 59949 */ GIM_Try, /*On fail goto*//*Label 1497*/ GIMT_Encode4(60020), // Rule ID 22637 //
22112 /* 59954 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22113 /* 59961 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
22114 /* 59965 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
22115 /* 59969 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22116 /* 59976 */ // (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] })
22117 /* 59976 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
22118 /* 59979 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rm8),
22119 /* 59983 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
22120 /* 59988 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
22121 /* 59992 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/1, /*MergeInsnID's*/0,
22122 /* 59996 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
22123 /* 59998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
22124 /* 60001 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
22125 /* 60003 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
22126 /* 60006 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
22127 /* 60009 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
22128 /* 60014 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
22129 /* 60019 */ // GIR_Coverage, 22637,
22130 /* 60019 */ GIR_EraseRootFromParent_Done,
22131 /* 60020 */ // Label 1497: @60020
22132 /* 60020 */ GIM_Reject,
22133 /* 60021 */ // Label 1493: @60021
22134 /* 60021 */ GIM_Reject,
22135 /* 60022 */ // Label 1484: @60022
22136 /* 60022 */ GIM_Reject,
22137 /* 60023 */ // Label 14: @60023
22138 /* 60023 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 1520*/ GIMT_Encode4(85485),
22139 /* 60034 */ /*GILLT_s8*//*Label 1498*/ GIMT_Encode4(60130),
22140 /* 60038 */ /*GILLT_s16*//*Label 1499*/ GIMT_Encode4(64800),
22141 /* 60042 */ /*GILLT_s32*//*Label 1500*/ GIMT_Encode4(70044),
22142 /* 60046 */ /*GILLT_s64*//*Label 1501*/ GIMT_Encode4(75744),
22143 /* 60050 */ /*GILLT_s80*//*Label 1502*/ GIMT_Encode4(81136),
22144 /* 60054 */ /*GILLT_s128*//*Label 1503*/ GIMT_Encode4(81295), GIMT_Encode4(0), GIMT_Encode4(0),
22145 /* 60066 */ /*GILLT_v8s1*//*Label 1504*/ GIMT_Encode4(81549),
22146 /* 60070 */ /*GILLT_v16s1*//*Label 1505*/ GIMT_Encode4(81631),
22147 /* 60074 */ /*GILLT_v32s1*//*Label 1506*/ GIMT_Encode4(81713),
22148 /* 60078 */ /*GILLT_v64s1*//*Label 1507*/ GIMT_Encode4(81795),
22149 /* 60082 */ /*GILLT_v16s8*//*Label 1508*/ GIMT_Encode4(81877),
22150 /* 60086 */ /*GILLT_v32s8*//*Label 1509*/ GIMT_Encode4(82131),
22151 /* 60090 */ /*GILLT_v64s8*//*Label 1510*/ GIMT_Encode4(82305),
22152 /* 60094 */ /*GILLT_v8s16*//*Label 1511*/ GIMT_Encode4(82399),
22153 /* 60098 */ /*GILLT_v16s16*//*Label 1512*/ GIMT_Encode4(82973),
22154 /* 60102 */ /*GILLT_v32s16*//*Label 1513*/ GIMT_Encode4(83307),
22155 /* 60106 */ /*GILLT_v4s32*//*Label 1514*/ GIMT_Encode4(83481),
22156 /* 60110 */ /*GILLT_v8s32*//*Label 1515*/ GIMT_Encode4(83975),
22157 /* 60114 */ /*GILLT_v16s32*//*Label 1516*/ GIMT_Encode4(84309),
22158 /* 60118 */ /*GILLT_v2s64*//*Label 1517*/ GIMT_Encode4(84483),
22159 /* 60122 */ /*GILLT_v4s64*//*Label 1518*/ GIMT_Encode4(84977),
22160 /* 60126 */ /*GILLT_v8s64*//*Label 1519*/ GIMT_Encode4(85311),
22161 /* 60130 */ // Label 1498: @60130
22162 /* 60130 */ GIM_Try, /*On fail goto*//*Label 1521*/ GIMT_Encode4(60226), // Rule ID 22528 //
22163 /* 60135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
22164 /* 60138 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22165 /* 60141 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22166 /* 60148 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22167 /* 60152 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22168 /* 60156 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22169 /* 60160 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22170 /* 60164 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22171 /* 60168 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22172 /* 60172 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22173 /* 60175 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22174 /* 60179 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22175 /* 60186 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22176 /* 60190 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
22177 /* 60194 */ // MIs[0] dst
22178 /* 60194 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22179 /* 60199 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22180 /* 60201 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22181 /* 60208 */ // (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)
22182 /* 60208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8m),
22183 /* 60211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22184 /* 60215 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22185 /* 60218 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22186 /* 60224 */ GIR_RootConstrainSelectedInstOperands,
22187 /* 60225 */ // GIR_Coverage, 22528,
22188 /* 60225 */ GIR_EraseRootFromParent_Done,
22189 /* 60226 */ // Label 1521: @60226
22190 /* 60226 */ GIM_Try, /*On fail goto*//*Label 1522*/ GIMT_Encode4(60322), // Rule ID 22532 //
22191 /* 60231 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
22192 /* 60234 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22193 /* 60237 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22194 /* 60244 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22195 /* 60248 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22196 /* 60252 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22197 /* 60256 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22198 /* 60260 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22199 /* 60264 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22200 /* 60268 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22201 /* 60271 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22202 /* 60275 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22203 /* 60282 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22204 /* 60286 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
22205 /* 60290 */ // MIs[0] dst
22206 /* 60290 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22207 /* 60295 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22208 /* 60297 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22209 /* 60304 */ // (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)
22210 /* 60304 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8m),
22211 /* 60307 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22212 /* 60311 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22213 /* 60314 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22214 /* 60320 */ GIR_RootConstrainSelectedInstOperands,
22215 /* 60321 */ // GIR_Coverage, 22532,
22216 /* 60321 */ GIR_EraseRootFromParent_Done,
22217 /* 60322 */ // Label 1522: @60322
22218 /* 60322 */ GIM_Try, /*On fail goto*//*Label 1523*/ GIMT_Encode4(60415), // Rule ID 22536 //
22219 /* 60327 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22220 /* 60330 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22221 /* 60337 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22222 /* 60341 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22223 /* 60345 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22224 /* 60349 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22225 /* 60353 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
22226 /* 60357 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22227 /* 60361 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22228 /* 60365 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22229 /* 60368 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22230 /* 60372 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22231 /* 60379 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22232 /* 60383 */ // MIs[0] dst
22233 /* 60383 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22234 /* 60388 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22235 /* 60390 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22236 /* 60397 */ // (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)
22237 /* 60397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8m),
22238 /* 60400 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22239 /* 60404 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22240 /* 60407 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22241 /* 60413 */ GIR_RootConstrainSelectedInstOperands,
22242 /* 60414 */ // GIR_Coverage, 22536,
22243 /* 60414 */ GIR_EraseRootFromParent_Done,
22244 /* 60415 */ // Label 1523: @60415
22245 /* 60415 */ GIM_Try, /*On fail goto*//*Label 1524*/ GIMT_Encode4(60505), // Rule ID 22540 //
22246 /* 60420 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22247 /* 60423 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22248 /* 60430 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22249 /* 60434 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22250 /* 60438 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22251 /* 60442 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22252 /* 60446 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22253 /* 60450 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22254 /* 60454 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22255 /* 60457 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22256 /* 60461 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22257 /* 60468 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22258 /* 60472 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
22259 /* 60476 */ // MIs[0] dst
22260 /* 60476 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22261 /* 60481 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22262 /* 60483 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22263 /* 60490 */ // (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)
22264 /* 60490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8m),
22265 /* 60493 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22266 /* 60497 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22267 /* 60503 */ GIR_RootConstrainSelectedInstOperands,
22268 /* 60504 */ // GIR_Coverage, 22540,
22269 /* 60504 */ GIR_EraseRootFromParent_Done,
22270 /* 60505 */ // Label 1524: @60505
22271 /* 60505 */ GIM_Try, /*On fail goto*//*Label 1525*/ GIMT_Encode4(60591), // Rule ID 223 //
22272 /* 60510 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
22273 /* 60513 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22274 /* 60516 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22275 /* 60520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22276 /* 60524 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22277 /* 60528 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22278 /* 60532 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22279 /* 60536 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22280 /* 60540 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22281 /* 60544 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22282 /* 60547 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22283 /* 60551 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22284 /* 60555 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
22285 /* 60559 */ // MIs[0] src1
22286 /* 60559 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22287 /* 60564 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22288 /* 60566 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22289 /* 60573 */ // (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)
22290 /* 60573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC8m),
22291 /* 60576 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22292 /* 60580 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22293 /* 60583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22294 /* 60589 */ GIR_RootConstrainSelectedInstOperands,
22295 /* 60590 */ // GIR_Coverage, 223,
22296 /* 60590 */ GIR_EraseRootFromParent_Done,
22297 /* 60591 */ // Label 1525: @60591
22298 /* 60591 */ GIM_Try, /*On fail goto*//*Label 1526*/ GIMT_Encode4(60677), // Rule ID 226 //
22299 /* 60596 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
22300 /* 60599 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22301 /* 60602 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22302 /* 60606 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22303 /* 60610 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22304 /* 60614 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22305 /* 60618 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22306 /* 60622 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22307 /* 60626 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22308 /* 60630 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22309 /* 60633 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22310 /* 60637 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22311 /* 60641 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
22312 /* 60645 */ // MIs[0] src1
22313 /* 60645 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22314 /* 60650 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22315 /* 60652 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22316 /* 60659 */ // (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)
22317 /* 60659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC8m),
22318 /* 60662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22319 /* 60666 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22320 /* 60669 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22321 /* 60675 */ GIR_RootConstrainSelectedInstOperands,
22322 /* 60676 */ // GIR_Coverage, 226,
22323 /* 60676 */ GIR_EraseRootFromParent_Done,
22324 /* 60677 */ // Label 1526: @60677
22325 /* 60677 */ GIM_Try, /*On fail goto*//*Label 1527*/ GIMT_Encode4(60760), // Rule ID 17578 //
22326 /* 60682 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22327 /* 60685 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22328 /* 60689 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22329 /* 60693 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
22330 /* 60697 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22331 /* 60701 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22332 /* 60705 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22333 /* 60709 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22334 /* 60713 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22335 /* 60716 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22336 /* 60720 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22337 /* 60724 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 7,
22338 /* 60728 */ // MIs[0] dst
22339 /* 60728 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22340 /* 60733 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22341 /* 60735 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22342 /* 60742 */ // (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)
22343 /* 60742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8m1),
22344 /* 60745 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22345 /* 60749 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22346 /* 60752 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22347 /* 60758 */ GIR_RootConstrainSelectedInstOperands,
22348 /* 60759 */ // GIR_Coverage, 17578,
22349 /* 60759 */ GIR_EraseRootFromParent_Done,
22350 /* 60760 */ // Label 1527: @60760
22351 /* 60760 */ GIM_Try, /*On fail goto*//*Label 1528*/ GIMT_Encode4(60843), // Rule ID 17582 //
22352 /* 60765 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22353 /* 60768 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22354 /* 60772 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22355 /* 60776 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
22356 /* 60780 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22357 /* 60784 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22358 /* 60788 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22359 /* 60792 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22360 /* 60796 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22361 /* 60799 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22362 /* 60803 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22363 /* 60807 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 7,
22364 /* 60811 */ // MIs[0] dst
22365 /* 60811 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22366 /* 60816 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22367 /* 60818 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22368 /* 60825 */ // (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)
22369 /* 60825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8m1),
22370 /* 60828 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22371 /* 60832 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22372 /* 60835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22373 /* 60841 */ GIR_RootConstrainSelectedInstOperands,
22374 /* 60842 */ // GIR_Coverage, 17582,
22375 /* 60842 */ GIR_EraseRootFromParent_Done,
22376 /* 60843 */ // Label 1528: @60843
22377 /* 60843 */ GIM_Try, /*On fail goto*//*Label 1529*/ GIMT_Encode4(60926), // Rule ID 259 //
22378 /* 60848 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22379 /* 60851 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22380 /* 60855 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22381 /* 60859 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22382 /* 60863 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22383 /* 60867 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22384 /* 60871 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
22385 /* 60875 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22386 /* 60879 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22387 /* 60883 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22388 /* 60886 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22389 /* 60890 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22390 /* 60894 */ // MIs[0] src1
22391 /* 60894 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22392 /* 60899 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22393 /* 60901 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22394 /* 60908 */ // (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)
22395 /* 60908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG8m),
22396 /* 60911 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22397 /* 60915 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22398 /* 60918 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22399 /* 60924 */ GIR_RootConstrainSelectedInstOperands,
22400 /* 60925 */ // GIR_Coverage, 259,
22401 /* 60925 */ GIR_EraseRootFromParent_Done,
22402 /* 60926 */ // Label 1529: @60926
22403 /* 60926 */ GIM_Try, /*On fail goto*//*Label 1530*/ GIMT_Encode4(61006), // Rule ID 267 //
22404 /* 60931 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22405 /* 60934 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22406 /* 60938 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22407 /* 60942 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22408 /* 60946 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22409 /* 60950 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22410 /* 60954 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22411 /* 60958 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22412 /* 60962 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22413 /* 60965 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22414 /* 60969 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22415 /* 60973 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
22416 /* 60977 */ // MIs[0] src1
22417 /* 60977 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22418 /* 60982 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22419 /* 60984 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22420 /* 60991 */ // (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)
22421 /* 60991 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT8m),
22422 /* 60994 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22423 /* 60998 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22424 /* 61004 */ GIR_RootConstrainSelectedInstOperands,
22425 /* 61005 */ // GIR_Coverage, 267,
22426 /* 61005 */ GIR_EraseRootFromParent_Done,
22427 /* 61006 */ // Label 1530: @61006
22428 /* 61006 */ GIM_Try, /*On fail goto*//*Label 1531*/ GIMT_Encode4(61101), // Rule ID 411 //
22429 /* 61011 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22430 /* 61014 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22431 /* 61018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22432 /* 61022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22433 /* 61026 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22434 /* 61030 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22435 /* 61034 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22436 /* 61038 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22437 /* 61042 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22438 /* 61045 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22439 /* 61049 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22440 /* 61053 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22441 /* 61057 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22442 /* 61061 */ // MIs[3] Operand 1
22443 /* 61061 */ // No operand predicates
22444 /* 61061 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
22445 /* 61065 */ // MIs[0] src1
22446 /* 61065 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22447 /* 61070 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22448 /* 61072 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22449 /* 61079 */ // (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)
22450 /* 61079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mi),
22451 /* 61082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22452 /* 61086 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22453 /* 61089 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22454 /* 61092 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22455 /* 61099 */ GIR_RootConstrainSelectedInstOperands,
22456 /* 61100 */ // GIR_Coverage, 411,
22457 /* 61100 */ GIR_EraseRootFromParent_Done,
22458 /* 61101 */ // Label 1531: @61101
22459 /* 61101 */ GIM_Try, /*On fail goto*//*Label 1532*/ GIMT_Encode4(61196), // Rule ID 303 //
22460 /* 61106 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22461 /* 61109 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22462 /* 61113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22463 /* 61117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22464 /* 61121 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22465 /* 61125 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22466 /* 61129 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22467 /* 61133 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22468 /* 61137 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22469 /* 61140 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22470 /* 61144 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22471 /* 61148 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22472 /* 61152 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22473 /* 61156 */ // MIs[3] Operand 1
22474 /* 61156 */ // No operand predicates
22475 /* 61156 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
22476 /* 61160 */ // MIs[0] src1
22477 /* 61160 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22478 /* 61165 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22479 /* 61167 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22480 /* 61174 */ // (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)
22481 /* 61174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mi),
22482 /* 61177 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22483 /* 61181 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22484 /* 61184 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22485 /* 61187 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22486 /* 61194 */ GIR_RootConstrainSelectedInstOperands,
22487 /* 61195 */ // GIR_Coverage, 303,
22488 /* 61195 */ GIR_EraseRootFromParent_Done,
22489 /* 61196 */ // Label 1532: @61196
22490 /* 61196 */ GIM_Try, /*On fail goto*//*Label 1533*/ GIMT_Encode4(61291), // Rule ID 339 //
22491 /* 61201 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22492 /* 61204 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22493 /* 61208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22494 /* 61212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
22495 /* 61216 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22496 /* 61220 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22497 /* 61224 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22498 /* 61228 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22499 /* 61232 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22500 /* 61235 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22501 /* 61239 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22502 /* 61243 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22503 /* 61247 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22504 /* 61251 */ // MIs[3] Operand 1
22505 /* 61251 */ // No operand predicates
22506 /* 61251 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
22507 /* 61255 */ // MIs[0] src1
22508 /* 61255 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22509 /* 61260 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22510 /* 61262 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22511 /* 61269 */ // (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)
22512 /* 61269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mi),
22513 /* 61272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22514 /* 61276 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22515 /* 61279 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22516 /* 61282 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22517 /* 61289 */ GIR_RootConstrainSelectedInstOperands,
22518 /* 61290 */ // GIR_Coverage, 339,
22519 /* 61290 */ GIR_EraseRootFromParent_Done,
22520 /* 61291 */ // Label 1533: @61291
22521 /* 61291 */ GIM_Try, /*On fail goto*//*Label 1534*/ GIMT_Encode4(61386), // Rule ID 451 //
22522 /* 61296 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22523 /* 61299 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22524 /* 61303 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22525 /* 61307 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22526 /* 61311 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22527 /* 61315 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22528 /* 61319 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22529 /* 61323 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22530 /* 61327 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22531 /* 61330 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22532 /* 61334 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22533 /* 61338 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22534 /* 61342 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22535 /* 61346 */ // MIs[3] Operand 1
22536 /* 61346 */ // No operand predicates
22537 /* 61346 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
22538 /* 61350 */ // MIs[0] src1
22539 /* 61350 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22540 /* 61355 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22541 /* 61357 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22542 /* 61364 */ // (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)
22543 /* 61364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mi),
22544 /* 61367 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22545 /* 61371 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22546 /* 61374 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22547 /* 61377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22548 /* 61384 */ GIR_RootConstrainSelectedInstOperands,
22549 /* 61385 */ // GIR_Coverage, 451,
22550 /* 61385 */ GIR_EraseRootFromParent_Done,
22551 /* 61386 */ // Label 1534: @61386
22552 /* 61386 */ GIM_Try, /*On fail goto*//*Label 1535*/ GIMT_Encode4(61481), // Rule ID 375 //
22553 /* 61391 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22554 /* 61394 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22555 /* 61398 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22556 /* 61402 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22557 /* 61406 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22558 /* 61410 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22559 /* 61414 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22560 /* 61418 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22561 /* 61422 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22562 /* 61425 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22563 /* 61429 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22564 /* 61433 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22565 /* 61437 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22566 /* 61441 */ // MIs[3] Operand 1
22567 /* 61441 */ // No operand predicates
22568 /* 61441 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
22569 /* 61445 */ // MIs[0] src1
22570 /* 61445 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22571 /* 61450 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22572 /* 61452 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22573 /* 61459 */ // (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)
22574 /* 61459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mi),
22575 /* 61462 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22576 /* 61466 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22577 /* 61469 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22578 /* 61472 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22579 /* 61479 */ GIR_RootConstrainSelectedInstOperands,
22580 /* 61480 */ // GIR_Coverage, 375,
22581 /* 61480 */ GIR_EraseRootFromParent_Done,
22582 /* 61481 */ // Label 1535: @61481
22583 /* 61481 */ GIM_Try, /*On fail goto*//*Label 1536*/ GIMT_Encode4(61582), // Rule ID 22464 //
22584 /* 61486 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22585 /* 61489 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22586 /* 61496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22587 /* 61500 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22588 /* 61504 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22589 /* 61508 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22590 /* 61512 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22591 /* 61516 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22592 /* 61520 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22593 /* 61523 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22594 /* 61527 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22595 /* 61534 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22596 /* 61538 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22597 /* 61542 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22598 /* 61546 */ // MIs[3] Operand 1
22599 /* 61546 */ // No operand predicates
22600 /* 61546 */ // MIs[0] dst
22601 /* 61546 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22602 /* 61551 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22603 /* 61553 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22604 /* 61560 */ // (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)
22605 /* 61560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mi),
22606 /* 61563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22607 /* 61567 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22608 /* 61570 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22609 /* 61573 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22610 /* 61580 */ GIR_RootConstrainSelectedInstOperands,
22611 /* 61581 */ // GIR_Coverage, 22464,
22612 /* 61581 */ GIR_EraseRootFromParent_Done,
22613 /* 61582 */ // Label 1536: @61582
22614 /* 61582 */ GIM_Try, /*On fail goto*//*Label 1537*/ GIMT_Encode4(61683), // Rule ID 22472 //
22615 /* 61587 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22616 /* 61590 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22617 /* 61597 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22618 /* 61601 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22619 /* 61605 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22620 /* 61609 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22621 /* 61613 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22622 /* 61617 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22623 /* 61621 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22624 /* 61624 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22625 /* 61628 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22626 /* 61635 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22627 /* 61639 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22628 /* 61643 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22629 /* 61647 */ // MIs[3] Operand 1
22630 /* 61647 */ // No operand predicates
22631 /* 61647 */ // MIs[0] dst
22632 /* 61647 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22633 /* 61652 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22634 /* 61654 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22635 /* 61661 */ // (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)
22636 /* 61661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mi),
22637 /* 61664 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22638 /* 61668 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22639 /* 61671 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22640 /* 61674 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22641 /* 61681 */ GIR_RootConstrainSelectedInstOperands,
22642 /* 61682 */ // GIR_Coverage, 22472,
22643 /* 61682 */ GIR_EraseRootFromParent_Done,
22644 /* 61683 */ // Label 1537: @61683
22645 /* 61683 */ GIM_Try, /*On fail goto*//*Label 1538*/ GIMT_Encode4(61784), // Rule ID 22480 //
22646 /* 61688 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22647 /* 61691 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22648 /* 61698 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22649 /* 61702 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
22650 /* 61706 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22651 /* 61710 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22652 /* 61714 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22653 /* 61718 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22654 /* 61722 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22655 /* 61725 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22656 /* 61729 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22657 /* 61736 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22658 /* 61740 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22659 /* 61744 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22660 /* 61748 */ // MIs[3] Operand 1
22661 /* 61748 */ // No operand predicates
22662 /* 61748 */ // MIs[0] dst
22663 /* 61748 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22664 /* 61753 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22665 /* 61755 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22666 /* 61762 */ // (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)
22667 /* 61762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mi),
22668 /* 61765 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22669 /* 61769 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22670 /* 61772 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22671 /* 61775 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22672 /* 61782 */ GIR_RootConstrainSelectedInstOperands,
22673 /* 61783 */ // GIR_Coverage, 22480,
22674 /* 61783 */ GIR_EraseRootFromParent_Done,
22675 /* 61784 */ // Label 1538: @61784
22676 /* 61784 */ GIM_Try, /*On fail goto*//*Label 1539*/ GIMT_Encode4(61885), // Rule ID 22496 //
22677 /* 61789 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22678 /* 61792 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22679 /* 61799 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22680 /* 61803 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
22681 /* 61807 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22682 /* 61811 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22683 /* 61815 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22684 /* 61819 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22685 /* 61823 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22686 /* 61826 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22687 /* 61830 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22688 /* 61837 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22689 /* 61841 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22690 /* 61845 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22691 /* 61849 */ // MIs[3] Operand 1
22692 /* 61849 */ // No operand predicates
22693 /* 61849 */ // MIs[0] dst
22694 /* 61849 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22695 /* 61854 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22696 /* 61856 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22697 /* 61863 */ // (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)
22698 /* 61863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mi),
22699 /* 61866 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22700 /* 61870 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22701 /* 61873 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22702 /* 61876 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22703 /* 61883 */ GIR_RootConstrainSelectedInstOperands,
22704 /* 61884 */ // GIR_Coverage, 22496,
22705 /* 61884 */ GIR_EraseRootFromParent_Done,
22706 /* 61885 */ // Label 1539: @61885
22707 /* 61885 */ GIM_Try, /*On fail goto*//*Label 1540*/ GIMT_Encode4(61986), // Rule ID 22488 //
22708 /* 61890 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22709 /* 61893 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22710 /* 61900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22711 /* 61904 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
22712 /* 61908 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22713 /* 61912 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22714 /* 61916 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22715 /* 61920 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22716 /* 61924 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22717 /* 61927 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22718 /* 61931 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22719 /* 61938 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22720 /* 61942 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22721 /* 61946 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22722 /* 61950 */ // MIs[3] Operand 1
22723 /* 61950 */ // No operand predicates
22724 /* 61950 */ // MIs[0] dst
22725 /* 61950 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22726 /* 61955 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22727 /* 61957 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22728 /* 61964 */ // (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)
22729 /* 61964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mi),
22730 /* 61967 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22731 /* 61971 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
22732 /* 61974 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22733 /* 61977 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22734 /* 61984 */ GIR_RootConstrainSelectedInstOperands,
22735 /* 61985 */ // GIR_Coverage, 22488,
22736 /* 61985 */ GIR_EraseRootFromParent_Done,
22737 /* 61986 */ // Label 1540: @61986
22738 /* 61986 */ GIM_Try, /*On fail goto*//*Label 1541*/ GIMT_Encode4(62077), // Rule ID 709 //
22739 /* 61991 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22740 /* 61994 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22741 /* 61998 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22742 /* 62002 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
22743 /* 62006 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22744 /* 62010 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22745 /* 62014 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22746 /* 62018 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22747 /* 62022 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22748 /* 62025 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22749 /* 62029 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22750 /* 62033 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22751 /* 62037 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22752 /* 62041 */ // MIs[3] Operand 1
22753 /* 62041 */ // No operand predicates
22754 /* 62041 */ // MIs[0] src1
22755 /* 62041 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22756 /* 62046 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22757 /* 62048 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22758 /* 62055 */ // (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)
22759 /* 62055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8mi),
22760 /* 62058 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22761 /* 62062 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22762 /* 62065 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22763 /* 62068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22764 /* 62075 */ GIR_RootConstrainSelectedInstOperands,
22765 /* 62076 */ // GIR_Coverage, 709,
22766 /* 62076 */ GIR_EraseRootFromParent_Done,
22767 /* 62077 */ // Label 1541: @62077
22768 /* 62077 */ GIM_Try, /*On fail goto*//*Label 1542*/ GIMT_Encode4(62168), // Rule ID 677 //
22769 /* 62082 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22770 /* 62085 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22771 /* 62089 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22772 /* 62093 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
22773 /* 62097 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22774 /* 62101 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22775 /* 62105 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22776 /* 62109 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22777 /* 62113 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22778 /* 62116 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22779 /* 62120 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22780 /* 62124 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22781 /* 62128 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22782 /* 62132 */ // MIs[3] Operand 1
22783 /* 62132 */ // No operand predicates
22784 /* 62132 */ // MIs[0] src1
22785 /* 62132 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22786 /* 62137 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22787 /* 62139 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22788 /* 62146 */ // (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)
22789 /* 62146 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8mi),
22790 /* 62149 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22791 /* 62153 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22792 /* 62156 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22793 /* 62159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22794 /* 62166 */ GIR_RootConstrainSelectedInstOperands,
22795 /* 62167 */ // GIR_Coverage, 677,
22796 /* 62167 */ GIR_EraseRootFromParent_Done,
22797 /* 62168 */ // Label 1542: @62168
22798 /* 62168 */ GIM_Try, /*On fail goto*//*Label 1543*/ GIMT_Encode4(62259), // Rule ID 741 //
22799 /* 62173 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22800 /* 62176 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22801 /* 62180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22802 /* 62184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
22803 /* 62188 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22804 /* 62192 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22805 /* 62196 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22806 /* 62200 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22807 /* 62204 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22808 /* 62207 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22809 /* 62211 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22810 /* 62215 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22811 /* 62219 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22812 /* 62223 */ // MIs[3] Operand 1
22813 /* 62223 */ // No operand predicates
22814 /* 62223 */ // MIs[0] src1
22815 /* 62223 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22816 /* 62228 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22817 /* 62230 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22818 /* 62237 */ // (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)
22819 /* 62237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8mi),
22820 /* 62240 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22821 /* 62244 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22822 /* 62247 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22823 /* 62250 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22824 /* 62257 */ GIR_RootConstrainSelectedInstOperands,
22825 /* 62258 */ // GIR_Coverage, 741,
22826 /* 62258 */ GIR_EraseRootFromParent_Done,
22827 /* 62259 */ // Label 1543: @62259
22828 /* 62259 */ GIM_Try, /*On fail goto*//*Label 1544*/ GIMT_Encode4(62350), // Rule ID 773 //
22829 /* 62264 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22830 /* 62267 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22831 /* 62271 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22832 /* 62275 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
22833 /* 62279 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22834 /* 62283 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22835 /* 62287 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22836 /* 62291 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22837 /* 62295 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22838 /* 62298 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22839 /* 62302 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22840 /* 62306 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22841 /* 62310 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22842 /* 62314 */ // MIs[3] Operand 1
22843 /* 62314 */ // No operand predicates
22844 /* 62314 */ // MIs[0] src1
22845 /* 62314 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22846 /* 62319 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22847 /* 62321 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22848 /* 62328 */ // (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)
22849 /* 62328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8mi),
22850 /* 62331 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22851 /* 62335 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22852 /* 62338 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22853 /* 62341 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22854 /* 62348 */ GIR_RootConstrainSelectedInstOperands,
22855 /* 62349 */ // GIR_Coverage, 773,
22856 /* 62349 */ GIR_EraseRootFromParent_Done,
22857 /* 62350 */ // Label 1544: @62350
22858 /* 62350 */ GIM_Try, /*On fail goto*//*Label 1545*/ GIMT_Encode4(62441), // Rule ID 645 //
22859 /* 62355 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22860 /* 62358 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
22861 /* 62362 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22862 /* 62366 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
22863 /* 62370 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22864 /* 62374 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22865 /* 62378 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22866 /* 62382 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22867 /* 62386 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
22868 /* 62389 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22869 /* 62393 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
22870 /* 62397 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
22871 /* 62401 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
22872 /* 62405 */ // MIs[3] Operand 1
22873 /* 62405 */ // No operand predicates
22874 /* 62405 */ // MIs[0] src1
22875 /* 62405 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22876 /* 62410 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
22877 /* 62412 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22878 /* 62419 */ // (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)
22879 /* 62419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8mi),
22880 /* 62422 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
22881 /* 62426 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
22882 /* 62429 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22883 /* 62432 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
22884 /* 62439 */ GIR_RootConstrainSelectedInstOperands,
22885 /* 62440 */ // GIR_Coverage, 645,
22886 /* 62440 */ GIR_EraseRootFromParent_Done,
22887 /* 62441 */ // Label 1545: @62441
22888 /* 62441 */ GIM_Try, /*On fail goto*//*Label 1546*/ GIMT_Encode4(62539), // Rule ID 22468 //
22889 /* 62446 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22890 /* 62449 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22891 /* 62456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22892 /* 62460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22893 /* 62464 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22894 /* 62468 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22895 /* 62472 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22896 /* 62476 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22897 /* 62480 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22898 /* 62483 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22899 /* 62487 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22900 /* 62494 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22901 /* 62498 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22902 /* 62503 */ // MIs[0] dst
22903 /* 62503 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22904 /* 62508 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22905 /* 62510 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22906 /* 62517 */ // (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)
22907 /* 62517 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
22908 /* 62520 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22909 /* 62524 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22910 /* 62528 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22911 /* 62531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22912 /* 62537 */ GIR_RootConstrainSelectedInstOperands,
22913 /* 62538 */ // GIR_Coverage, 22468,
22914 /* 62538 */ GIR_EraseRootFromParent_Done,
22915 /* 62539 */ // Label 1546: @62539
22916 /* 62539 */ GIM_Try, /*On fail goto*//*Label 1547*/ GIMT_Encode4(62637), // Rule ID 26060 //
22917 /* 62544 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22918 /* 62547 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22919 /* 62554 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22920 /* 62558 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
22921 /* 62562 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22922 /* 62566 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22923 /* 62570 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22924 /* 62575 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22925 /* 62579 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22926 /* 62583 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22927 /* 62586 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22928 /* 62590 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22929 /* 62597 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22930 /* 62601 */ // MIs[0] dst
22931 /* 62601 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22932 /* 62606 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22933 /* 62608 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22934 /* 62615 */ // (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)
22935 /* 62615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
22936 /* 62618 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22937 /* 62622 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
22938 /* 62626 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22939 /* 62629 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22940 /* 62635 */ GIR_RootConstrainSelectedInstOperands,
22941 /* 62636 */ // GIR_Coverage, 26060,
22942 /* 62636 */ GIR_EraseRootFromParent_Done,
22943 /* 62637 */ // Label 1547: @62637
22944 /* 62637 */ GIM_Try, /*On fail goto*//*Label 1548*/ GIMT_Encode4(62735), // Rule ID 22476 //
22945 /* 62642 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22946 /* 62645 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22947 /* 62652 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22948 /* 62656 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22949 /* 62660 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22950 /* 62664 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22951 /* 62668 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
22952 /* 62672 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22953 /* 62676 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22954 /* 62679 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22955 /* 62683 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22956 /* 62690 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22957 /* 62694 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22958 /* 62699 */ // MIs[0] dst
22959 /* 62699 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22960 /* 62704 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22961 /* 62706 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22962 /* 62713 */ // (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)
22963 /* 62713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
22964 /* 62716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22965 /* 62720 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
22966 /* 62724 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22967 /* 62727 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22968 /* 62733 */ GIR_RootConstrainSelectedInstOperands,
22969 /* 62734 */ // GIR_Coverage, 22476,
22970 /* 62734 */ GIR_EraseRootFromParent_Done,
22971 /* 62735 */ // Label 1548: @62735
22972 /* 62735 */ GIM_Try, /*On fail goto*//*Label 1549*/ GIMT_Encode4(62833), // Rule ID 26064 //
22973 /* 62740 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22974 /* 62743 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22975 /* 62750 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
22976 /* 62754 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
22977 /* 62758 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
22978 /* 62762 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
22979 /* 62766 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
22980 /* 62771 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
22981 /* 62775 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
22982 /* 62779 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
22983 /* 62782 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
22984 /* 62786 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
22985 /* 62793 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
22986 /* 62797 */ // MIs[0] dst
22987 /* 62797 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
22988 /* 62802 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
22989 /* 62804 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
22990 /* 62811 */ // (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)
22991 /* 62811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
22992 /* 62814 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
22993 /* 62818 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
22994 /* 62822 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
22995 /* 62825 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
22996 /* 62831 */ GIR_RootConstrainSelectedInstOperands,
22997 /* 62832 */ // GIR_Coverage, 26064,
22998 /* 62832 */ GIR_EraseRootFromParent_Done,
22999 /* 62833 */ // Label 1549: @62833
23000 /* 62833 */ GIM_Try, /*On fail goto*//*Label 1550*/ GIMT_Encode4(62931), // Rule ID 22484 //
23001 /* 62838 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23002 /* 62841 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23003 /* 62848 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23004 /* 62852 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23005 /* 62856 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23006 /* 62860 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23007 /* 62864 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23008 /* 62868 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23009 /* 62872 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23010 /* 62875 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23011 /* 62879 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23012 /* 62886 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23013 /* 62890 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23014 /* 62895 */ // MIs[0] dst
23015 /* 62895 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23016 /* 62900 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23017 /* 62902 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23018 /* 62909 */ // (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)
23019 /* 62909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
23020 /* 62912 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23021 /* 62916 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23022 /* 62920 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23023 /* 62923 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23024 /* 62929 */ GIR_RootConstrainSelectedInstOperands,
23025 /* 62930 */ // GIR_Coverage, 22484,
23026 /* 62930 */ GIR_EraseRootFromParent_Done,
23027 /* 62931 */ // Label 1550: @62931
23028 /* 62931 */ GIM_Try, /*On fail goto*//*Label 1551*/ GIMT_Encode4(63029), // Rule ID 26068 //
23029 /* 62936 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23030 /* 62939 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23031 /* 62946 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23032 /* 62950 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23033 /* 62954 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23034 /* 62958 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23035 /* 62962 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23036 /* 62967 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23037 /* 62971 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23038 /* 62975 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23039 /* 62978 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23040 /* 62982 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23041 /* 62989 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23042 /* 62993 */ // MIs[0] dst
23043 /* 62993 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23044 /* 62998 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23045 /* 63000 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23046 /* 63007 */ // (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)
23047 /* 63007 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
23048 /* 63010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23049 /* 63014 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
23050 /* 63018 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23051 /* 63021 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23052 /* 63027 */ GIR_RootConstrainSelectedInstOperands,
23053 /* 63028 */ // GIR_Coverage, 26068,
23054 /* 63028 */ GIR_EraseRootFromParent_Done,
23055 /* 63029 */ // Label 1551: @63029
23056 /* 63029 */ GIM_Try, /*On fail goto*//*Label 1552*/ GIMT_Encode4(63127), // Rule ID 22500 //
23057 /* 63034 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23058 /* 63037 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23059 /* 63044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23060 /* 63048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23061 /* 63052 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23062 /* 63056 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23063 /* 63060 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23064 /* 63064 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23065 /* 63068 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23066 /* 63071 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23067 /* 63075 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23068 /* 63082 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23069 /* 63086 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23070 /* 63091 */ // MIs[0] dst
23071 /* 63091 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23072 /* 63096 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23073 /* 63098 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23074 /* 63105 */ // (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)
23075 /* 63105 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mr),
23076 /* 63108 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23077 /* 63112 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23078 /* 63116 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23079 /* 63119 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23080 /* 63125 */ GIR_RootConstrainSelectedInstOperands,
23081 /* 63126 */ // GIR_Coverage, 22500,
23082 /* 63126 */ GIR_EraseRootFromParent_Done,
23083 /* 63127 */ // Label 1552: @63127
23084 /* 63127 */ GIM_Try, /*On fail goto*//*Label 1553*/ GIMT_Encode4(63225), // Rule ID 22492 //
23085 /* 63132 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23086 /* 63135 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23087 /* 63142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23088 /* 63146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23089 /* 63150 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23090 /* 63154 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23091 /* 63158 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23092 /* 63162 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23093 /* 63166 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23094 /* 63169 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23095 /* 63173 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23096 /* 63180 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23097 /* 63184 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23098 /* 63189 */ // MIs[0] dst
23099 /* 63189 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23100 /* 63194 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23101 /* 63196 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23102 /* 63203 */ // (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)
23103 /* 63203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
23104 /* 63206 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23105 /* 63210 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
23106 /* 63214 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23107 /* 63217 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23108 /* 63223 */ GIR_RootConstrainSelectedInstOperands,
23109 /* 63224 */ // GIR_Coverage, 22492,
23110 /* 63224 */ GIR_EraseRootFromParent_Done,
23111 /* 63225 */ // Label 1553: @63225
23112 /* 63225 */ GIM_Try, /*On fail goto*//*Label 1554*/ GIMT_Encode4(63323), // Rule ID 26072 //
23113 /* 63230 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23114 /* 63233 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23115 /* 63240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23116 /* 63244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23117 /* 63248 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23118 /* 63252 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23119 /* 63256 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23120 /* 63261 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23121 /* 63265 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23122 /* 63269 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23123 /* 63272 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23124 /* 63276 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23125 /* 63283 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23126 /* 63287 */ // MIs[0] dst
23127 /* 63287 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23128 /* 63292 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23129 /* 63294 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23130 /* 63301 */ // (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)
23131 /* 63301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
23132 /* 63304 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23133 /* 63308 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
23134 /* 63312 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23135 /* 63315 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23136 /* 63321 */ GIR_RootConstrainSelectedInstOperands,
23137 /* 63322 */ // GIR_Coverage, 26072,
23138 /* 63322 */ GIR_EraseRootFromParent_Done,
23139 /* 63323 */ // Label 1554: @63323
23140 /* 63323 */ GIM_Try, /*On fail goto*//*Label 1555*/ GIMT_Encode4(63411), // Rule ID 407 //
23141 /* 63328 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23142 /* 63331 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23143 /* 63335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23144 /* 63339 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23145 /* 63343 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23146 /* 63347 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23147 /* 63351 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23148 /* 63355 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23149 /* 63359 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23150 /* 63362 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23151 /* 63366 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23152 /* 63370 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23153 /* 63375 */ // MIs[0] src1
23154 /* 63375 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23155 /* 63380 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23156 /* 63382 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23157 /* 63389 */ // (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)
23158 /* 63389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
23159 /* 63392 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23160 /* 63396 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23161 /* 63400 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23162 /* 63403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23163 /* 63409 */ GIR_RootConstrainSelectedInstOperands,
23164 /* 63410 */ // GIR_Coverage, 407,
23165 /* 63410 */ GIR_EraseRootFromParent_Done,
23166 /* 63411 */ // Label 1555: @63411
23167 /* 63411 */ GIM_Try, /*On fail goto*//*Label 1556*/ GIMT_Encode4(63499), // Rule ID 23280 //
23168 /* 63416 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23169 /* 63419 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23170 /* 63423 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23171 /* 63427 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23172 /* 63431 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23173 /* 63435 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23174 /* 63439 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23175 /* 63444 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23176 /* 63448 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23177 /* 63452 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23178 /* 63455 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23179 /* 63459 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23180 /* 63463 */ // MIs[0] src1
23181 /* 63463 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23182 /* 63468 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23183 /* 63470 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23184 /* 63477 */ // (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)
23185 /* 63477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8mr),
23186 /* 63480 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23187 /* 63484 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
23188 /* 63488 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23189 /* 63491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23190 /* 63497 */ GIR_RootConstrainSelectedInstOperands,
23191 /* 63498 */ // GIR_Coverage, 23280,
23192 /* 63498 */ GIR_EraseRootFromParent_Done,
23193 /* 63499 */ // Label 1556: @63499
23194 /* 63499 */ GIM_Try, /*On fail goto*//*Label 1557*/ GIMT_Encode4(63587), // Rule ID 299 //
23195 /* 63504 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23196 /* 63507 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23197 /* 63511 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23198 /* 63515 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23199 /* 63519 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23200 /* 63523 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23201 /* 63527 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23202 /* 63531 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23203 /* 63535 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23204 /* 63538 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23205 /* 63542 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23206 /* 63546 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23207 /* 63551 */ // MIs[0] src1
23208 /* 63551 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23209 /* 63556 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23210 /* 63558 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23211 /* 63565 */ // (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)
23212 /* 63565 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
23213 /* 63568 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23214 /* 63572 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23215 /* 63576 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23216 /* 63579 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23217 /* 63585 */ GIR_RootConstrainSelectedInstOperands,
23218 /* 63586 */ // GIR_Coverage, 299,
23219 /* 63586 */ GIR_EraseRootFromParent_Done,
23220 /* 63587 */ // Label 1557: @63587
23221 /* 63587 */ GIM_Try, /*On fail goto*//*Label 1558*/ GIMT_Encode4(63675), // Rule ID 23244 //
23222 /* 63592 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23223 /* 63595 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23224 /* 63599 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23225 /* 63603 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23226 /* 63607 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23227 /* 63611 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23228 /* 63615 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23229 /* 63620 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23230 /* 63624 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23231 /* 63628 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23232 /* 63631 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23233 /* 63635 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23234 /* 63639 */ // MIs[0] src1
23235 /* 63639 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23236 /* 63644 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23237 /* 63646 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23238 /* 63653 */ // (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)
23239 /* 63653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND8mr),
23240 /* 63656 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23241 /* 63660 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
23242 /* 63664 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23243 /* 63667 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23244 /* 63673 */ GIR_RootConstrainSelectedInstOperands,
23245 /* 63674 */ // GIR_Coverage, 23244,
23246 /* 63674 */ GIR_EraseRootFromParent_Done,
23247 /* 63675 */ // Label 1558: @63675
23248 /* 63675 */ GIM_Try, /*On fail goto*//*Label 1559*/ GIMT_Encode4(63773), // Rule ID 725 //
23249 /* 63680 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23250 /* 63683 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23251 /* 63687 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23252 /* 63691 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
23253 /* 63695 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23254 /* 63699 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23255 /* 63703 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23256 /* 63707 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23257 /* 63711 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23258 /* 63714 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23259 /* 63718 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23260 /* 63722 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
23261 /* 63727 */ // MIs[0] src1
23262 /* 63727 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23263 /* 63732 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23264 /* 63734 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23265 /* 63741 */ // (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)
23266 /* 63741 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
23267 /* 63745 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23268 /* 63751 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
23269 /* 63755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8mCL),
23270 /* 63758 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23271 /* 63762 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23272 /* 63765 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23273 /* 63771 */ GIR_RootConstrainSelectedInstOperands,
23274 /* 63772 */ // GIR_Coverage, 725,
23275 /* 63772 */ GIR_EraseRootFromParent_Done,
23276 /* 63773 */ // Label 1559: @63773
23277 /* 63773 */ GIM_Try, /*On fail goto*//*Label 1560*/ GIMT_Encode4(63871), // Rule ID 693 //
23278 /* 63778 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23279 /* 63781 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23280 /* 63785 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23281 /* 63789 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
23282 /* 63793 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23283 /* 63797 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23284 /* 63801 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23285 /* 63805 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23286 /* 63809 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23287 /* 63812 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23288 /* 63816 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23289 /* 63820 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
23290 /* 63825 */ // MIs[0] src1
23291 /* 63825 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23292 /* 63830 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23293 /* 63832 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23294 /* 63839 */ // (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)
23295 /* 63839 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
23296 /* 63843 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23297 /* 63849 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
23298 /* 63853 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8mCL),
23299 /* 63856 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23300 /* 63860 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23301 /* 63863 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23302 /* 63869 */ GIR_RootConstrainSelectedInstOperands,
23303 /* 63870 */ // GIR_Coverage, 693,
23304 /* 63870 */ GIR_EraseRootFromParent_Done,
23305 /* 63871 */ // Label 1560: @63871
23306 /* 63871 */ GIM_Try, /*On fail goto*//*Label 1561*/ GIMT_Encode4(63959), // Rule ID 335 //
23307 /* 63876 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23308 /* 63879 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23309 /* 63883 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23310 /* 63887 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23311 /* 63891 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23312 /* 63895 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23313 /* 63899 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23314 /* 63903 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23315 /* 63907 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23316 /* 63910 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23317 /* 63914 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23318 /* 63918 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23319 /* 63923 */ // MIs[0] src1
23320 /* 63923 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23321 /* 63928 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23322 /* 63930 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23323 /* 63937 */ // (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)
23324 /* 63937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
23325 /* 63940 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23326 /* 63944 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23327 /* 63948 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23328 /* 63951 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23329 /* 63957 */ GIR_RootConstrainSelectedInstOperands,
23330 /* 63958 */ // GIR_Coverage, 335,
23331 /* 63958 */ GIR_EraseRootFromParent_Done,
23332 /* 63959 */ // Label 1561: @63959
23333 /* 63959 */ GIM_Try, /*On fail goto*//*Label 1562*/ GIMT_Encode4(64047), // Rule ID 23256 //
23334 /* 63964 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23335 /* 63967 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23336 /* 63971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23337 /* 63975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23338 /* 63979 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23339 /* 63983 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23340 /* 63987 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23341 /* 63992 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23342 /* 63996 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23343 /* 64000 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23344 /* 64003 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23345 /* 64007 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23346 /* 64011 */ // MIs[0] src1
23347 /* 64011 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23348 /* 64016 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23349 /* 64018 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23350 /* 64025 */ // (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)
23351 /* 64025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR8mr),
23352 /* 64028 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23353 /* 64032 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
23354 /* 64036 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23355 /* 64039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23356 /* 64045 */ GIR_RootConstrainSelectedInstOperands,
23357 /* 64046 */ // GIR_Coverage, 23256,
23358 /* 64046 */ GIR_EraseRootFromParent_Done,
23359 /* 64047 */ // Label 1562: @64047
23360 /* 64047 */ GIM_Try, /*On fail goto*//*Label 1563*/ GIMT_Encode4(64145), // Rule ID 757 //
23361 /* 64052 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23362 /* 64055 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23363 /* 64059 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23364 /* 64063 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
23365 /* 64067 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23366 /* 64071 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23367 /* 64075 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23368 /* 64079 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23369 /* 64083 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23370 /* 64086 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23371 /* 64090 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23372 /* 64094 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
23373 /* 64099 */ // MIs[0] src1
23374 /* 64099 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23375 /* 64104 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23376 /* 64106 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23377 /* 64113 */ // (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)
23378 /* 64113 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
23379 /* 64117 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23380 /* 64123 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
23381 /* 64127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8mCL),
23382 /* 64130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23383 /* 64134 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23384 /* 64137 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23385 /* 64143 */ GIR_RootConstrainSelectedInstOperands,
23386 /* 64144 */ // GIR_Coverage, 757,
23387 /* 64144 */ GIR_EraseRootFromParent_Done,
23388 /* 64145 */ // Label 1563: @64145
23389 /* 64145 */ GIM_Try, /*On fail goto*//*Label 1564*/ GIMT_Encode4(64243), // Rule ID 789 //
23390 /* 64150 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23391 /* 64153 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23392 /* 64157 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23393 /* 64161 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
23394 /* 64165 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23395 /* 64169 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23396 /* 64173 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23397 /* 64177 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23398 /* 64181 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23399 /* 64184 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23400 /* 64188 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23401 /* 64192 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
23402 /* 64197 */ // MIs[0] src1
23403 /* 64197 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23404 /* 64202 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23405 /* 64204 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23406 /* 64211 */ // (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)
23407 /* 64211 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
23408 /* 64215 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23409 /* 64221 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
23410 /* 64225 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8mCL),
23411 /* 64228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23412 /* 64232 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23413 /* 64235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23414 /* 64241 */ GIR_RootConstrainSelectedInstOperands,
23415 /* 64242 */ // GIR_Coverage, 789,
23416 /* 64242 */ GIR_EraseRootFromParent_Done,
23417 /* 64243 */ // Label 1564: @64243
23418 /* 64243 */ GIM_Try, /*On fail goto*//*Label 1565*/ GIMT_Encode4(64341), // Rule ID 661 //
23419 /* 64248 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23420 /* 64251 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23421 /* 64255 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23422 /* 64259 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
23423 /* 64263 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23424 /* 64267 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23425 /* 64271 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23426 /* 64275 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23427 /* 64279 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23428 /* 64282 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23429 /* 64286 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi8),
23430 /* 64290 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
23431 /* 64295 */ // MIs[0] src1
23432 /* 64295 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23433 /* 64300 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23434 /* 64302 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23435 /* 64309 */ // (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)
23436 /* 64309 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
23437 /* 64313 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
23438 /* 64319 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
23439 /* 64323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8mCL),
23440 /* 64326 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23441 /* 64330 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23442 /* 64333 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23443 /* 64339 */ GIR_RootConstrainSelectedInstOperands,
23444 /* 64340 */ // GIR_Coverage, 661,
23445 /* 64340 */ GIR_EraseRootFromParent_Done,
23446 /* 64341 */ // Label 1565: @64341
23447 /* 64341 */ GIM_Try, /*On fail goto*//*Label 1566*/ GIMT_Encode4(64429), // Rule ID 443 //
23448 /* 64346 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23449 /* 64349 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23450 /* 64353 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23451 /* 64357 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23452 /* 64361 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23453 /* 64365 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23454 /* 64369 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23455 /* 64373 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23456 /* 64377 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23457 /* 64380 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23458 /* 64384 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23459 /* 64388 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23460 /* 64393 */ // MIs[0] src1
23461 /* 64393 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23462 /* 64398 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23463 /* 64400 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23464 /* 64407 */ // (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)
23465 /* 64407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB8mr),
23466 /* 64410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23467 /* 64414 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23468 /* 64418 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23469 /* 64421 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23470 /* 64427 */ GIR_RootConstrainSelectedInstOperands,
23471 /* 64428 */ // GIR_Coverage, 443,
23472 /* 64428 */ GIR_EraseRootFromParent_Done,
23473 /* 64429 */ // Label 1566: @64429
23474 /* 64429 */ GIM_Try, /*On fail goto*//*Label 1567*/ GIMT_Encode4(64517), // Rule ID 371 //
23475 /* 64434 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23476 /* 64437 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23477 /* 64441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23478 /* 64445 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23479 /* 64449 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23480 /* 64453 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23481 /* 64457 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23482 /* 64461 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23483 /* 64465 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23484 /* 64468 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23485 /* 64472 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23486 /* 64476 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23487 /* 64481 */ // MIs[0] src1
23488 /* 64481 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23489 /* 64486 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23490 /* 64488 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23491 /* 64495 */ // (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)
23492 /* 64495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
23493 /* 64498 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23494 /* 64502 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
23495 /* 64506 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23496 /* 64509 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23497 /* 64515 */ GIR_RootConstrainSelectedInstOperands,
23498 /* 64516 */ // GIR_Coverage, 371,
23499 /* 64516 */ GIR_EraseRootFromParent_Done,
23500 /* 64517 */ // Label 1567: @64517
23501 /* 64517 */ GIM_Try, /*On fail goto*//*Label 1568*/ GIMT_Encode4(64605), // Rule ID 23268 //
23502 /* 64522 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23503 /* 64525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23504 /* 64529 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23505 /* 64533 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23506 /* 64537 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s8,
23507 /* 64541 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23508 /* 64545 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23509 /* 64550 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23510 /* 64554 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23511 /* 64558 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23512 /* 64561 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23513 /* 64565 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23514 /* 64569 */ // MIs[0] src1
23515 /* 64569 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23516 /* 64574 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23517 /* 64576 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23518 /* 64583 */ // (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)
23519 /* 64583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR8mr),
23520 /* 64586 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23521 /* 64590 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
23522 /* 64594 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23523 /* 64597 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23524 /* 64603 */ GIR_RootConstrainSelectedInstOperands,
23525 /* 64604 */ // GIR_Coverage, 23268,
23526 /* 64604 */ GIR_EraseRootFromParent_Done,
23527 /* 64605 */ // Label 1568: @64605
23528 /* 64605 */ GIM_Try, /*On fail goto*//*Label 1569*/ GIMT_Encode4(64659), // Rule ID 24 //
23529 /* 64610 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23530 /* 64613 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23531 /* 64617 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23532 /* 64621 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23533 /* 64625 */ // MIs[1] Operand 1
23534 /* 64625 */ // No operand predicates
23535 /* 64625 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23536 /* 64629 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
23537 /* 64633 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23538 /* 64635 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23539 /* 64642 */ // (st (imm:{ *:[i8] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV8mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
23540 /* 64642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mi),
23541 /* 64645 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23542 /* 64649 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
23543 /* 64652 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
23544 /* 64657 */ GIR_RootConstrainSelectedInstOperands,
23545 /* 64658 */ // GIR_Coverage, 24,
23546 /* 64658 */ GIR_EraseRootFromParent_Done,
23547 /* 64659 */ // Label 1569: @64659
23548 /* 64659 */ GIM_Try, /*On fail goto*//*Label 1570*/ GIMT_Encode4(64712), // Rule ID 22544 //
23549 /* 64664 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23550 /* 64667 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23551 /* 64674 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23552 /* 64678 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23553 /* 64682 */ // MIs[1] Operand 1
23554 /* 64682 */ // No operand predicates
23555 /* 64682 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
23556 /* 64686 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
23557 /* 64688 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23558 /* 64695 */ // (atomic_store (imm:{ *:[i8] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (MOV8mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
23559 /* 64695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mi),
23560 /* 64698 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23561 /* 64702 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
23562 /* 64705 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
23563 /* 64710 */ GIR_RootConstrainSelectedInstOperands,
23564 /* 64711 */ // GIR_Coverage, 22544,
23565 /* 64711 */ GIR_EraseRootFromParent_Done,
23566 /* 64712 */ // Label 1570: @64712
23567 /* 64712 */ GIM_Try, /*On fail goto*//*Label 1571*/ GIMT_Encode4(64757), // Rule ID 22548 //
23568 /* 64717 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23569 /* 64720 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
23570 /* 64727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23571 /* 64731 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
23572 /* 64735 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23573 /* 64742 */ // (atomic_store GR8:{ *:[i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_8>> => (MOV8mr addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
23574 /* 64742 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mr),
23575 /* 64745 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23576 /* 64749 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
23577 /* 64751 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
23578 /* 64755 */ GIR_RootConstrainSelectedInstOperands,
23579 /* 64756 */ // GIR_Coverage, 22548,
23580 /* 64756 */ GIR_EraseRootFromParent_Done,
23581 /* 64757 */ // Label 1571: @64757
23582 /* 64757 */ GIM_Try, /*On fail goto*//*Label 1572*/ GIMT_Encode4(64799), // Rule ID 32 //
23583 /* 64762 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23584 /* 64765 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23585 /* 64769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
23586 /* 64773 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
23587 /* 64777 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23588 /* 64784 */ // (st GR8:{ *:[i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV8mr addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
23589 /* 64784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8mr),
23590 /* 64787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23591 /* 64791 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
23592 /* 64793 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
23593 /* 64797 */ GIR_RootConstrainSelectedInstOperands,
23594 /* 64798 */ // GIR_Coverage, 32,
23595 /* 64798 */ GIR_EraseRootFromParent_Done,
23596 /* 64799 */ // Label 1572: @64799
23597 /* 64799 */ GIM_Reject,
23598 /* 64800 */ // Label 1499: @64800
23599 /* 64800 */ GIM_Try, /*On fail goto*//*Label 1573*/ GIMT_Encode4(64896), // Rule ID 22529 //
23600 /* 64805 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
23601 /* 64808 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23602 /* 64811 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23603 /* 64818 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23604 /* 64822 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23605 /* 64826 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23606 /* 64830 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23607 /* 64834 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23608 /* 64838 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23609 /* 64842 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23610 /* 64845 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23611 /* 64849 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23612 /* 64856 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23613 /* 64860 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
23614 /* 64864 */ // MIs[0] dst
23615 /* 64864 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23616 /* 64869 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23617 /* 64871 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23618 /* 64878 */ // (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)
23619 /* 64878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16m),
23620 /* 64881 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23621 /* 64885 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23622 /* 64888 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23623 /* 64894 */ GIR_RootConstrainSelectedInstOperands,
23624 /* 64895 */ // GIR_Coverage, 22529,
23625 /* 64895 */ GIR_EraseRootFromParent_Done,
23626 /* 64896 */ // Label 1573: @64896
23627 /* 64896 */ GIM_Try, /*On fail goto*//*Label 1574*/ GIMT_Encode4(64992), // Rule ID 22533 //
23628 /* 64901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
23629 /* 64904 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23630 /* 64907 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23631 /* 64914 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23632 /* 64918 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23633 /* 64922 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23634 /* 64926 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23635 /* 64930 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23636 /* 64934 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23637 /* 64938 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23638 /* 64941 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23639 /* 64945 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23640 /* 64952 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23641 /* 64956 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
23642 /* 64960 */ // MIs[0] dst
23643 /* 64960 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23644 /* 64965 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23645 /* 64967 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23646 /* 64974 */ // (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)
23647 /* 64974 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16m),
23648 /* 64977 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23649 /* 64981 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23650 /* 64984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23651 /* 64990 */ GIR_RootConstrainSelectedInstOperands,
23652 /* 64991 */ // GIR_Coverage, 22533,
23653 /* 64991 */ GIR_EraseRootFromParent_Done,
23654 /* 64992 */ // Label 1574: @64992
23655 /* 64992 */ GIM_Try, /*On fail goto*//*Label 1575*/ GIMT_Encode4(65085), // Rule ID 22537 //
23656 /* 64997 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23657 /* 65000 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23658 /* 65007 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23659 /* 65011 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23660 /* 65015 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23661 /* 65019 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23662 /* 65023 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
23663 /* 65027 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23664 /* 65031 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23665 /* 65035 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23666 /* 65038 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23667 /* 65042 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23668 /* 65049 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23669 /* 65053 */ // MIs[0] dst
23670 /* 65053 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23671 /* 65058 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23672 /* 65060 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23673 /* 65067 */ // (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)
23674 /* 65067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16m),
23675 /* 65070 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23676 /* 65074 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23677 /* 65077 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23678 /* 65083 */ GIR_RootConstrainSelectedInstOperands,
23679 /* 65084 */ // GIR_Coverage, 22537,
23680 /* 65084 */ GIR_EraseRootFromParent_Done,
23681 /* 65085 */ // Label 1575: @65085
23682 /* 65085 */ GIM_Try, /*On fail goto*//*Label 1576*/ GIMT_Encode4(65175), // Rule ID 22541 //
23683 /* 65090 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23684 /* 65093 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23685 /* 65100 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23686 /* 65104 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23687 /* 65108 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23688 /* 65112 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23689 /* 65116 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23690 /* 65120 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23691 /* 65124 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
23692 /* 65127 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23693 /* 65131 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
23694 /* 65138 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23695 /* 65142 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
23696 /* 65146 */ // MIs[0] dst
23697 /* 65146 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23698 /* 65151 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23699 /* 65153 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23700 /* 65160 */ // (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)
23701 /* 65160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16m),
23702 /* 65163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23703 /* 65167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23704 /* 65173 */ GIR_RootConstrainSelectedInstOperands,
23705 /* 65174 */ // GIR_Coverage, 22541,
23706 /* 65174 */ GIR_EraseRootFromParent_Done,
23707 /* 65175 */ // Label 1576: @65175
23708 /* 65175 */ GIM_Try, /*On fail goto*//*Label 1577*/ GIMT_Encode4(65261), // Rule ID 224 //
23709 /* 65180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
23710 /* 65183 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23711 /* 65186 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23712 /* 65190 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23713 /* 65194 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23714 /* 65198 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23715 /* 65202 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23716 /* 65206 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23717 /* 65210 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23718 /* 65214 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23719 /* 65217 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23720 /* 65221 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23721 /* 65225 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
23722 /* 65229 */ // MIs[0] src1
23723 /* 65229 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23724 /* 65234 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23725 /* 65236 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23726 /* 65243 */ // (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)
23727 /* 65243 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC16m),
23728 /* 65246 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23729 /* 65250 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23730 /* 65253 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23731 /* 65259 */ GIR_RootConstrainSelectedInstOperands,
23732 /* 65260 */ // GIR_Coverage, 224,
23733 /* 65260 */ GIR_EraseRootFromParent_Done,
23734 /* 65261 */ // Label 1577: @65261
23735 /* 65261 */ GIM_Try, /*On fail goto*//*Label 1578*/ GIMT_Encode4(65347), // Rule ID 227 //
23736 /* 65266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
23737 /* 65269 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23738 /* 65272 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23739 /* 65276 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23740 /* 65280 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23741 /* 65284 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23742 /* 65288 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23743 /* 65292 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23744 /* 65296 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23745 /* 65300 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23746 /* 65303 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23747 /* 65307 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23748 /* 65311 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
23749 /* 65315 */ // MIs[0] src1
23750 /* 65315 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23751 /* 65320 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23752 /* 65322 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23753 /* 65329 */ // (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)
23754 /* 65329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC16m),
23755 /* 65332 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23756 /* 65336 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23757 /* 65339 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23758 /* 65345 */ GIR_RootConstrainSelectedInstOperands,
23759 /* 65346 */ // GIR_Coverage, 227,
23760 /* 65346 */ GIR_EraseRootFromParent_Done,
23761 /* 65347 */ // Label 1578: @65347
23762 /* 65347 */ GIM_Try, /*On fail goto*//*Label 1579*/ GIMT_Encode4(65440), // Rule ID 22672 //
23763 /* 65352 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23764 /* 65355 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23765 /* 65359 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23766 /* 65363 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23767 /* 65367 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23768 /* 65371 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23769 /* 65375 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23770 /* 65379 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23771 /* 65383 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23772 /* 65386 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23773 /* 65390 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23774 /* 65394 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
23775 /* 65405 */ // MIs[0] dst
23776 /* 65405 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23777 /* 65410 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23778 /* 65412 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23779 /* 65419 */ // (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] })
23780 /* 65419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
23781 /* 65422 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23782 /* 65426 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
23783 /* 65429 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23784 /* 65432 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23785 /* 65438 */ GIR_RootConstrainSelectedInstOperands,
23786 /* 65439 */ // GIR_Coverage, 22672,
23787 /* 65439 */ GIR_EraseRootFromParent_Done,
23788 /* 65440 */ // Label 1579: @65440
23789 /* 65440 */ GIM_Try, /*On fail goto*//*Label 1580*/ GIMT_Encode4(65523), // Rule ID 17579 //
23790 /* 65445 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23791 /* 65448 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23792 /* 65452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23793 /* 65456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
23794 /* 65460 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23795 /* 65464 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23796 /* 65468 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23797 /* 65472 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23798 /* 65476 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23799 /* 65479 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23800 /* 65483 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23801 /* 65487 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 15,
23802 /* 65491 */ // MIs[0] dst
23803 /* 65491 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23804 /* 65496 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23805 /* 65498 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23806 /* 65505 */ // (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)
23807 /* 65505 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16m1),
23808 /* 65508 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23809 /* 65512 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23810 /* 65515 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23811 /* 65521 */ GIR_RootConstrainSelectedInstOperands,
23812 /* 65522 */ // GIR_Coverage, 17579,
23813 /* 65522 */ GIR_EraseRootFromParent_Done,
23814 /* 65523 */ // Label 1580: @65523
23815 /* 65523 */ GIM_Try, /*On fail goto*//*Label 1581*/ GIMT_Encode4(65606), // Rule ID 17583 //
23816 /* 65528 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23817 /* 65531 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23818 /* 65535 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23819 /* 65539 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
23820 /* 65543 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23821 /* 65547 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
23822 /* 65551 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23823 /* 65555 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23824 /* 65559 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23825 /* 65562 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23826 /* 65566 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23827 /* 65570 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 15,
23828 /* 65574 */ // MIs[0] dst
23829 /* 65574 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23830 /* 65579 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23831 /* 65581 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23832 /* 65588 */ // (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)
23833 /* 65588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16m1),
23834 /* 65591 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
23835 /* 65595 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23836 /* 65598 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23837 /* 65604 */ GIR_RootConstrainSelectedInstOperands,
23838 /* 65605 */ // GIR_Coverage, 17583,
23839 /* 65605 */ GIR_EraseRootFromParent_Done,
23840 /* 65606 */ // Label 1581: @65606
23841 /* 65606 */ GIM_Try, /*On fail goto*//*Label 1582*/ GIMT_Encode4(65689), // Rule ID 260 //
23842 /* 65611 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23843 /* 65614 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23844 /* 65618 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23845 /* 65622 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23846 /* 65626 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23847 /* 65630 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23848 /* 65634 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
23849 /* 65638 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
23850 /* 65642 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23851 /* 65646 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23852 /* 65649 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23853 /* 65653 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23854 /* 65657 */ // MIs[0] src1
23855 /* 65657 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23856 /* 65662 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23857 /* 65664 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23858 /* 65671 */ // (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)
23859 /* 65671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG16m),
23860 /* 65674 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23861 /* 65678 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23862 /* 65681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23863 /* 65687 */ GIR_RootConstrainSelectedInstOperands,
23864 /* 65688 */ // GIR_Coverage, 260,
23865 /* 65688 */ GIR_EraseRootFromParent_Done,
23866 /* 65689 */ // Label 1582: @65689
23867 /* 65689 */ GIM_Try, /*On fail goto*//*Label 1583*/ GIMT_Encode4(65769), // Rule ID 268 //
23868 /* 65694 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23869 /* 65697 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23870 /* 65701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23871 /* 65705 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
23872 /* 65709 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23873 /* 65713 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23874 /* 65717 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23875 /* 65721 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23876 /* 65725 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23877 /* 65728 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23878 /* 65732 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
23879 /* 65736 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
23880 /* 65740 */ // MIs[0] src1
23881 /* 65740 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23882 /* 65745 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
23883 /* 65747 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23884 /* 65754 */ // (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)
23885 /* 65754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT16m),
23886 /* 65757 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23887 /* 65761 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
23888 /* 65767 */ GIR_RootConstrainSelectedInstOperands,
23889 /* 65768 */ // GIR_Coverage, 268,
23890 /* 65768 */ GIR_EraseRootFromParent_Done,
23891 /* 65769 */ // Label 1583: @65769
23892 /* 65769 */ GIM_Try, /*On fail goto*//*Label 1584*/ GIMT_Encode4(65864), // Rule ID 412 //
23893 /* 65774 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23894 /* 65777 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23895 /* 65781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23896 /* 65785 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
23897 /* 65789 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23898 /* 65793 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23899 /* 65797 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23900 /* 65801 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23901 /* 65805 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23902 /* 65808 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23903 /* 65812 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23904 /* 65816 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23905 /* 65820 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23906 /* 65824 */ // MIs[3] Operand 1
23907 /* 65824 */ // No operand predicates
23908 /* 65824 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23909 /* 65828 */ // MIs[0] src1
23910 /* 65828 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23911 /* 65833 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23912 /* 65835 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23913 /* 65842 */ // (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)
23914 /* 65842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mi),
23915 /* 65845 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23916 /* 65849 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23917 /* 65852 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23918 /* 65855 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23919 /* 65862 */ GIR_RootConstrainSelectedInstOperands,
23920 /* 65863 */ // GIR_Coverage, 412,
23921 /* 65863 */ GIR_EraseRootFromParent_Done,
23922 /* 65864 */ // Label 1584: @65864
23923 /* 65864 */ GIM_Try, /*On fail goto*//*Label 1585*/ GIMT_Encode4(65959), // Rule ID 304 //
23924 /* 65869 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23925 /* 65872 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23926 /* 65876 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23927 /* 65880 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
23928 /* 65884 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23929 /* 65888 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23930 /* 65892 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23931 /* 65896 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23932 /* 65900 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23933 /* 65903 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23934 /* 65907 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23935 /* 65911 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23936 /* 65915 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23937 /* 65919 */ // MIs[3] Operand 1
23938 /* 65919 */ // No operand predicates
23939 /* 65919 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23940 /* 65923 */ // MIs[0] src1
23941 /* 65923 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23942 /* 65928 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23943 /* 65930 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23944 /* 65937 */ // (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)
23945 /* 65937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mi),
23946 /* 65940 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23947 /* 65944 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23948 /* 65947 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23949 /* 65950 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23950 /* 65957 */ GIR_RootConstrainSelectedInstOperands,
23951 /* 65958 */ // GIR_Coverage, 304,
23952 /* 65958 */ GIR_EraseRootFromParent_Done,
23953 /* 65959 */ // Label 1585: @65959
23954 /* 65959 */ GIM_Try, /*On fail goto*//*Label 1586*/ GIMT_Encode4(66054), // Rule ID 340 //
23955 /* 65964 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23956 /* 65967 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23957 /* 65971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23958 /* 65975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
23959 /* 65979 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23960 /* 65983 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23961 /* 65987 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23962 /* 65991 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23963 /* 65995 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23964 /* 65998 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23965 /* 66002 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23966 /* 66006 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23967 /* 66010 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23968 /* 66014 */ // MIs[3] Operand 1
23969 /* 66014 */ // No operand predicates
23970 /* 66014 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
23971 /* 66018 */ // MIs[0] src1
23972 /* 66018 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
23973 /* 66023 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
23974 /* 66025 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
23975 /* 66032 */ // (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)
23976 /* 66032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mi),
23977 /* 66035 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
23978 /* 66039 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
23979 /* 66042 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
23980 /* 66045 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
23981 /* 66052 */ GIR_RootConstrainSelectedInstOperands,
23982 /* 66053 */ // GIR_Coverage, 340,
23983 /* 66053 */ GIR_EraseRootFromParent_Done,
23984 /* 66054 */ // Label 1586: @66054
23985 /* 66054 */ GIM_Try, /*On fail goto*//*Label 1587*/ GIMT_Encode4(66149), // Rule ID 452 //
23986 /* 66059 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23987 /* 66062 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
23988 /* 66066 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
23989 /* 66070 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
23990 /* 66074 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
23991 /* 66078 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
23992 /* 66082 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
23993 /* 66086 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
23994 /* 66090 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
23995 /* 66093 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
23996 /* 66097 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
23997 /* 66101 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
23998 /* 66105 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
23999 /* 66109 */ // MIs[3] Operand 1
24000 /* 66109 */ // No operand predicates
24001 /* 66109 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24002 /* 66113 */ // MIs[0] src1
24003 /* 66113 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24004 /* 66118 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24005 /* 66120 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24006 /* 66127 */ // (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)
24007 /* 66127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
24008 /* 66130 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24009 /* 66134 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24010 /* 66137 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24011 /* 66140 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24012 /* 66147 */ GIR_RootConstrainSelectedInstOperands,
24013 /* 66148 */ // GIR_Coverage, 452,
24014 /* 66148 */ GIR_EraseRootFromParent_Done,
24015 /* 66149 */ // Label 1587: @66149
24016 /* 66149 */ GIM_Try, /*On fail goto*//*Label 1588*/ GIMT_Encode4(66244), // Rule ID 376 //
24017 /* 66154 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24018 /* 66157 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24019 /* 66161 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24020 /* 66165 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24021 /* 66169 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24022 /* 66173 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24023 /* 66177 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24024 /* 66181 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24025 /* 66185 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24026 /* 66188 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24027 /* 66192 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24028 /* 66196 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24029 /* 66200 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24030 /* 66204 */ // MIs[3] Operand 1
24031 /* 66204 */ // No operand predicates
24032 /* 66204 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
24033 /* 66208 */ // MIs[0] src1
24034 /* 66208 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24035 /* 66213 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24036 /* 66215 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24037 /* 66222 */ // (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)
24038 /* 66222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mi),
24039 /* 66225 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24040 /* 66229 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24041 /* 66232 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24042 /* 66235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24043 /* 66242 */ GIR_RootConstrainSelectedInstOperands,
24044 /* 66243 */ // GIR_Coverage, 376,
24045 /* 66243 */ GIR_EraseRootFromParent_Done,
24046 /* 66244 */ // Label 1588: @66244
24047 /* 66244 */ GIM_Try, /*On fail goto*//*Label 1589*/ GIMT_Encode4(66345), // Rule ID 22465 //
24048 /* 66249 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24049 /* 66252 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24050 /* 66259 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24051 /* 66263 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24052 /* 66267 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24053 /* 66271 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24054 /* 66275 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24055 /* 66279 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24056 /* 66283 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24057 /* 66286 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24058 /* 66290 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24059 /* 66297 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24060 /* 66301 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24061 /* 66305 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24062 /* 66309 */ // MIs[3] Operand 1
24063 /* 66309 */ // No operand predicates
24064 /* 66309 */ // MIs[0] dst
24065 /* 66309 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24066 /* 66314 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24067 /* 66316 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24068 /* 66323 */ // (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)
24069 /* 66323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mi),
24070 /* 66326 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24071 /* 66330 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24072 /* 66333 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24073 /* 66336 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24074 /* 66343 */ GIR_RootConstrainSelectedInstOperands,
24075 /* 66344 */ // GIR_Coverage, 22465,
24076 /* 66344 */ GIR_EraseRootFromParent_Done,
24077 /* 66345 */ // Label 1589: @66345
24078 /* 66345 */ GIM_Try, /*On fail goto*//*Label 1590*/ GIMT_Encode4(66446), // Rule ID 22473 //
24079 /* 66350 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24080 /* 66353 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24081 /* 66360 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24082 /* 66364 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24083 /* 66368 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24084 /* 66372 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24085 /* 66376 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24086 /* 66380 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24087 /* 66384 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24088 /* 66387 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24089 /* 66391 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24090 /* 66398 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24091 /* 66402 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24092 /* 66406 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24093 /* 66410 */ // MIs[3] Operand 1
24094 /* 66410 */ // No operand predicates
24095 /* 66410 */ // MIs[0] dst
24096 /* 66410 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24097 /* 66415 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24098 /* 66417 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24099 /* 66424 */ // (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)
24100 /* 66424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mi),
24101 /* 66427 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24102 /* 66431 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24103 /* 66434 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24104 /* 66437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24105 /* 66444 */ GIR_RootConstrainSelectedInstOperands,
24106 /* 66445 */ // GIR_Coverage, 22473,
24107 /* 66445 */ GIR_EraseRootFromParent_Done,
24108 /* 66446 */ // Label 1590: @66446
24109 /* 66446 */ GIM_Try, /*On fail goto*//*Label 1591*/ GIMT_Encode4(66547), // Rule ID 22481 //
24110 /* 66451 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24111 /* 66454 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24112 /* 66461 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24113 /* 66465 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24114 /* 66469 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24115 /* 66473 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24116 /* 66477 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24117 /* 66481 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24118 /* 66485 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24119 /* 66488 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24120 /* 66492 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24121 /* 66499 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24122 /* 66503 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24123 /* 66507 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24124 /* 66511 */ // MIs[3] Operand 1
24125 /* 66511 */ // No operand predicates
24126 /* 66511 */ // MIs[0] dst
24127 /* 66511 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24128 /* 66516 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24129 /* 66518 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24130 /* 66525 */ // (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)
24131 /* 66525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mi),
24132 /* 66528 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24133 /* 66532 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24134 /* 66535 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24135 /* 66538 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24136 /* 66545 */ GIR_RootConstrainSelectedInstOperands,
24137 /* 66546 */ // GIR_Coverage, 22481,
24138 /* 66546 */ GIR_EraseRootFromParent_Done,
24139 /* 66547 */ // Label 1591: @66547
24140 /* 66547 */ GIM_Try, /*On fail goto*//*Label 1592*/ GIMT_Encode4(66648), // Rule ID 22497 //
24141 /* 66552 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24142 /* 66555 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24143 /* 66562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24144 /* 66566 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24145 /* 66570 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24146 /* 66574 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24147 /* 66578 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24148 /* 66582 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24149 /* 66586 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24150 /* 66589 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24151 /* 66593 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24152 /* 66600 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24153 /* 66604 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24154 /* 66608 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24155 /* 66612 */ // MIs[3] Operand 1
24156 /* 66612 */ // No operand predicates
24157 /* 66612 */ // MIs[0] dst
24158 /* 66612 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24159 /* 66617 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24160 /* 66619 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24161 /* 66626 */ // (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)
24162 /* 66626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mi),
24163 /* 66629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24164 /* 66633 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24165 /* 66636 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24166 /* 66639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24167 /* 66646 */ GIR_RootConstrainSelectedInstOperands,
24168 /* 66647 */ // GIR_Coverage, 22497,
24169 /* 66647 */ GIR_EraseRootFromParent_Done,
24170 /* 66648 */ // Label 1592: @66648
24171 /* 66648 */ GIM_Try, /*On fail goto*//*Label 1593*/ GIMT_Encode4(66749), // Rule ID 22489 //
24172 /* 66653 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24173 /* 66656 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24174 /* 66663 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24175 /* 66667 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24176 /* 66671 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24177 /* 66675 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24178 /* 66679 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24179 /* 66683 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24180 /* 66687 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24181 /* 66690 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24182 /* 66694 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24183 /* 66701 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24184 /* 66705 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24185 /* 66709 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24186 /* 66713 */ // MIs[3] Operand 1
24187 /* 66713 */ // No operand predicates
24188 /* 66713 */ // MIs[0] dst
24189 /* 66713 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24190 /* 66718 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24191 /* 66720 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24192 /* 66727 */ // (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)
24193 /* 66727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mi),
24194 /* 66730 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24195 /* 66734 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
24196 /* 66737 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24197 /* 66740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24198 /* 66747 */ GIR_RootConstrainSelectedInstOperands,
24199 /* 66748 */ // GIR_Coverage, 22489,
24200 /* 66748 */ GIR_EraseRootFromParent_Done,
24201 /* 66749 */ // Label 1593: @66749
24202 /* 66749 */ GIM_Try, /*On fail goto*//*Label 1594*/ GIMT_Encode4(66840), // Rule ID 710 //
24203 /* 66754 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24204 /* 66757 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24205 /* 66761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24206 /* 66765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
24207 /* 66769 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24208 /* 66773 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24209 /* 66777 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24210 /* 66781 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24211 /* 66785 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24212 /* 66788 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24213 /* 66792 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24214 /* 66796 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24215 /* 66800 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24216 /* 66804 */ // MIs[3] Operand 1
24217 /* 66804 */ // No operand predicates
24218 /* 66804 */ // MIs[0] src1
24219 /* 66804 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24220 /* 66809 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24221 /* 66811 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24222 /* 66818 */ // (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)
24223 /* 66818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16mi),
24224 /* 66821 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24225 /* 66825 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24226 /* 66828 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24227 /* 66831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24228 /* 66838 */ GIR_RootConstrainSelectedInstOperands,
24229 /* 66839 */ // GIR_Coverage, 710,
24230 /* 66839 */ GIR_EraseRootFromParent_Done,
24231 /* 66840 */ // Label 1594: @66840
24232 /* 66840 */ GIM_Try, /*On fail goto*//*Label 1595*/ GIMT_Encode4(66931), // Rule ID 678 //
24233 /* 66845 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24234 /* 66848 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24235 /* 66852 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24236 /* 66856 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
24237 /* 66860 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24238 /* 66864 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24239 /* 66868 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24240 /* 66872 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24241 /* 66876 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24242 /* 66879 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24243 /* 66883 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24244 /* 66887 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24245 /* 66891 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24246 /* 66895 */ // MIs[3] Operand 1
24247 /* 66895 */ // No operand predicates
24248 /* 66895 */ // MIs[0] src1
24249 /* 66895 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24250 /* 66900 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24251 /* 66902 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24252 /* 66909 */ // (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)
24253 /* 66909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16mi),
24254 /* 66912 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24255 /* 66916 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24256 /* 66919 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24257 /* 66922 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24258 /* 66929 */ GIR_RootConstrainSelectedInstOperands,
24259 /* 66930 */ // GIR_Coverage, 678,
24260 /* 66930 */ GIR_EraseRootFromParent_Done,
24261 /* 66931 */ // Label 1595: @66931
24262 /* 66931 */ GIM_Try, /*On fail goto*//*Label 1596*/ GIMT_Encode4(67022), // Rule ID 742 //
24263 /* 66936 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24264 /* 66939 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24265 /* 66943 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24266 /* 66947 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
24267 /* 66951 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24268 /* 66955 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24269 /* 66959 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24270 /* 66963 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24271 /* 66967 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24272 /* 66970 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24273 /* 66974 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24274 /* 66978 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24275 /* 66982 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24276 /* 66986 */ // MIs[3] Operand 1
24277 /* 66986 */ // No operand predicates
24278 /* 66986 */ // MIs[0] src1
24279 /* 66986 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24280 /* 66991 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24281 /* 66993 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24282 /* 67000 */ // (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)
24283 /* 67000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16mi),
24284 /* 67003 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24285 /* 67007 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24286 /* 67010 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24287 /* 67013 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24288 /* 67020 */ GIR_RootConstrainSelectedInstOperands,
24289 /* 67021 */ // GIR_Coverage, 742,
24290 /* 67021 */ GIR_EraseRootFromParent_Done,
24291 /* 67022 */ // Label 1596: @67022
24292 /* 67022 */ GIM_Try, /*On fail goto*//*Label 1597*/ GIMT_Encode4(67113), // Rule ID 774 //
24293 /* 67027 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24294 /* 67030 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24295 /* 67034 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24296 /* 67038 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
24297 /* 67042 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24298 /* 67046 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24299 /* 67050 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24300 /* 67054 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24301 /* 67058 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24302 /* 67061 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24303 /* 67065 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24304 /* 67069 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24305 /* 67073 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24306 /* 67077 */ // MIs[3] Operand 1
24307 /* 67077 */ // No operand predicates
24308 /* 67077 */ // MIs[0] src1
24309 /* 67077 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24310 /* 67082 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24311 /* 67084 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24312 /* 67091 */ // (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)
24313 /* 67091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16mi),
24314 /* 67094 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24315 /* 67098 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24316 /* 67101 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24317 /* 67104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24318 /* 67111 */ GIR_RootConstrainSelectedInstOperands,
24319 /* 67112 */ // GIR_Coverage, 774,
24320 /* 67112 */ GIR_EraseRootFromParent_Done,
24321 /* 67113 */ // Label 1597: @67113
24322 /* 67113 */ GIM_Try, /*On fail goto*//*Label 1598*/ GIMT_Encode4(67204), // Rule ID 646 //
24323 /* 67118 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24324 /* 67121 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24325 /* 67125 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24326 /* 67129 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
24327 /* 67133 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24328 /* 67137 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24329 /* 67141 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24330 /* 67145 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24331 /* 67149 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24332 /* 67152 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24333 /* 67156 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24334 /* 67160 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
24335 /* 67164 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24336 /* 67168 */ // MIs[3] Operand 1
24337 /* 67168 */ // No operand predicates
24338 /* 67168 */ // MIs[0] src1
24339 /* 67168 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24340 /* 67173 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
24341 /* 67175 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24342 /* 67182 */ // (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)
24343 /* 67182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16mi),
24344 /* 67185 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24345 /* 67189 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
24346 /* 67192 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24347 /* 67195 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
24348 /* 67202 */ GIR_RootConstrainSelectedInstOperands,
24349 /* 67203 */ // GIR_Coverage, 646,
24350 /* 67203 */ GIR_EraseRootFromParent_Done,
24351 /* 67204 */ // Label 1598: @67204
24352 /* 67204 */ GIM_Try, /*On fail goto*//*Label 1599*/ GIMT_Encode4(67302), // Rule ID 22469 //
24353 /* 67209 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24354 /* 67212 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24355 /* 67219 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24356 /* 67223 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24357 /* 67227 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24358 /* 67231 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24359 /* 67235 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24360 /* 67239 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24361 /* 67243 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24362 /* 67246 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24363 /* 67250 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24364 /* 67257 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24365 /* 67261 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24366 /* 67266 */ // MIs[0] dst
24367 /* 67266 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24368 /* 67271 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24369 /* 67273 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24370 /* 67280 */ // (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)
24371 /* 67280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
24372 /* 67283 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24373 /* 67287 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
24374 /* 67291 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24375 /* 67294 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24376 /* 67300 */ GIR_RootConstrainSelectedInstOperands,
24377 /* 67301 */ // GIR_Coverage, 22469,
24378 /* 67301 */ GIR_EraseRootFromParent_Done,
24379 /* 67302 */ // Label 1599: @67302
24380 /* 67302 */ GIM_Try, /*On fail goto*//*Label 1600*/ GIMT_Encode4(67400), // Rule ID 26061 //
24381 /* 67307 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24382 /* 67310 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24383 /* 67317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24384 /* 67321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24385 /* 67325 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24386 /* 67329 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24387 /* 67333 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24388 /* 67338 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24389 /* 67342 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24390 /* 67346 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24391 /* 67349 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24392 /* 67353 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24393 /* 67360 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24394 /* 67364 */ // MIs[0] dst
24395 /* 67364 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24396 /* 67369 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24397 /* 67371 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24398 /* 67378 */ // (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)
24399 /* 67378 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
24400 /* 67381 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24401 /* 67385 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
24402 /* 67389 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24403 /* 67392 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24404 /* 67398 */ GIR_RootConstrainSelectedInstOperands,
24405 /* 67399 */ // GIR_Coverage, 26061,
24406 /* 67399 */ GIR_EraseRootFromParent_Done,
24407 /* 67400 */ // Label 1600: @67400
24408 /* 67400 */ GIM_Try, /*On fail goto*//*Label 1601*/ GIMT_Encode4(67498), // Rule ID 22477 //
24409 /* 67405 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24410 /* 67408 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24411 /* 67415 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24412 /* 67419 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24413 /* 67423 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24414 /* 67427 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24415 /* 67431 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24416 /* 67435 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24417 /* 67439 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24418 /* 67442 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24419 /* 67446 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24420 /* 67453 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24421 /* 67457 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24422 /* 67462 */ // MIs[0] dst
24423 /* 67462 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24424 /* 67467 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24425 /* 67469 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24426 /* 67476 */ // (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)
24427 /* 67476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
24428 /* 67479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24429 /* 67483 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
24430 /* 67487 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24431 /* 67490 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24432 /* 67496 */ GIR_RootConstrainSelectedInstOperands,
24433 /* 67497 */ // GIR_Coverage, 22477,
24434 /* 67497 */ GIR_EraseRootFromParent_Done,
24435 /* 67498 */ // Label 1601: @67498
24436 /* 67498 */ GIM_Try, /*On fail goto*//*Label 1602*/ GIMT_Encode4(67596), // Rule ID 26065 //
24437 /* 67503 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24438 /* 67506 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24439 /* 67513 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24440 /* 67517 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24441 /* 67521 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24442 /* 67525 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24443 /* 67529 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24444 /* 67534 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24445 /* 67538 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24446 /* 67542 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24447 /* 67545 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24448 /* 67549 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24449 /* 67556 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24450 /* 67560 */ // MIs[0] dst
24451 /* 67560 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24452 /* 67565 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24453 /* 67567 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24454 /* 67574 */ // (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)
24455 /* 67574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
24456 /* 67577 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24457 /* 67581 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
24458 /* 67585 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24459 /* 67588 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24460 /* 67594 */ GIR_RootConstrainSelectedInstOperands,
24461 /* 67595 */ // GIR_Coverage, 26065,
24462 /* 67595 */ GIR_EraseRootFromParent_Done,
24463 /* 67596 */ // Label 1602: @67596
24464 /* 67596 */ GIM_Try, /*On fail goto*//*Label 1603*/ GIMT_Encode4(67694), // Rule ID 22485 //
24465 /* 67601 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24466 /* 67604 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24467 /* 67611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24468 /* 67615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24469 /* 67619 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24470 /* 67623 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24471 /* 67627 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24472 /* 67631 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24473 /* 67635 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24474 /* 67638 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24475 /* 67642 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24476 /* 67649 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24477 /* 67653 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24478 /* 67658 */ // MIs[0] dst
24479 /* 67658 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24480 /* 67663 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24481 /* 67665 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24482 /* 67672 */ // (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)
24483 /* 67672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
24484 /* 67675 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24485 /* 67679 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
24486 /* 67683 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24487 /* 67686 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24488 /* 67692 */ GIR_RootConstrainSelectedInstOperands,
24489 /* 67693 */ // GIR_Coverage, 22485,
24490 /* 67693 */ GIR_EraseRootFromParent_Done,
24491 /* 67694 */ // Label 1603: @67694
24492 /* 67694 */ GIM_Try, /*On fail goto*//*Label 1604*/ GIMT_Encode4(67792), // Rule ID 26069 //
24493 /* 67699 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24494 /* 67702 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24495 /* 67709 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24496 /* 67713 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24497 /* 67717 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24498 /* 67721 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24499 /* 67725 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24500 /* 67730 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24501 /* 67734 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24502 /* 67738 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24503 /* 67741 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24504 /* 67745 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24505 /* 67752 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24506 /* 67756 */ // MIs[0] dst
24507 /* 67756 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24508 /* 67761 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24509 /* 67763 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24510 /* 67770 */ // (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)
24511 /* 67770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
24512 /* 67773 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24513 /* 67777 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
24514 /* 67781 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24515 /* 67784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24516 /* 67790 */ GIR_RootConstrainSelectedInstOperands,
24517 /* 67791 */ // GIR_Coverage, 26069,
24518 /* 67791 */ GIR_EraseRootFromParent_Done,
24519 /* 67792 */ // Label 1604: @67792
24520 /* 67792 */ GIM_Try, /*On fail goto*//*Label 1605*/ GIMT_Encode4(67890), // Rule ID 22501 //
24521 /* 67797 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24522 /* 67800 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24523 /* 67807 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24524 /* 67811 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24525 /* 67815 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24526 /* 67819 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24527 /* 67823 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24528 /* 67827 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24529 /* 67831 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24530 /* 67834 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24531 /* 67838 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24532 /* 67845 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24533 /* 67849 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24534 /* 67854 */ // MIs[0] dst
24535 /* 67854 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24536 /* 67859 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24537 /* 67861 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24538 /* 67868 */ // (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)
24539 /* 67868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mr),
24540 /* 67871 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24541 /* 67875 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
24542 /* 67879 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24543 /* 67882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24544 /* 67888 */ GIR_RootConstrainSelectedInstOperands,
24545 /* 67889 */ // GIR_Coverage, 22501,
24546 /* 67889 */ GIR_EraseRootFromParent_Done,
24547 /* 67890 */ // Label 1605: @67890
24548 /* 67890 */ GIM_Try, /*On fail goto*//*Label 1606*/ GIMT_Encode4(67988), // Rule ID 22493 //
24549 /* 67895 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24550 /* 67898 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24551 /* 67905 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24552 /* 67909 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24553 /* 67913 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24554 /* 67917 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24555 /* 67921 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24556 /* 67925 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24557 /* 67929 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24558 /* 67932 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24559 /* 67936 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24560 /* 67943 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24561 /* 67947 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24562 /* 67952 */ // MIs[0] dst
24563 /* 67952 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24564 /* 67957 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24565 /* 67959 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24566 /* 67966 */ // (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)
24567 /* 67966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
24568 /* 67969 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24569 /* 67973 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
24570 /* 67977 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24571 /* 67980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24572 /* 67986 */ GIR_RootConstrainSelectedInstOperands,
24573 /* 67987 */ // GIR_Coverage, 22493,
24574 /* 67987 */ GIR_EraseRootFromParent_Done,
24575 /* 67988 */ // Label 1606: @67988
24576 /* 67988 */ GIM_Try, /*On fail goto*//*Label 1607*/ GIMT_Encode4(68086), // Rule ID 26073 //
24577 /* 67993 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24578 /* 67996 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24579 /* 68003 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24580 /* 68007 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24581 /* 68011 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24582 /* 68015 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24583 /* 68019 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24584 /* 68024 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24585 /* 68028 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24586 /* 68032 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
24587 /* 68035 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24588 /* 68039 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(2),
24589 /* 68046 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24590 /* 68050 */ // MIs[0] dst
24591 /* 68050 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24592 /* 68055 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24593 /* 68057 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24594 /* 68064 */ // (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)
24595 /* 68064 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
24596 /* 68067 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
24597 /* 68071 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
24598 /* 68075 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24599 /* 68078 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24600 /* 68084 */ GIR_RootConstrainSelectedInstOperands,
24601 /* 68085 */ // GIR_Coverage, 26073,
24602 /* 68085 */ GIR_EraseRootFromParent_Done,
24603 /* 68086 */ // Label 1607: @68086
24604 /* 68086 */ GIM_Try, /*On fail goto*//*Label 1608*/ GIMT_Encode4(68174), // Rule ID 408 //
24605 /* 68091 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24606 /* 68094 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24607 /* 68098 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24608 /* 68102 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24609 /* 68106 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24610 /* 68110 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24611 /* 68114 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24612 /* 68118 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24613 /* 68122 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24614 /* 68125 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24615 /* 68129 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24616 /* 68133 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24617 /* 68138 */ // MIs[0] src1
24618 /* 68138 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24619 /* 68143 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24620 /* 68145 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24621 /* 68152 */ // (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)
24622 /* 68152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
24623 /* 68155 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24624 /* 68159 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24625 /* 68163 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24626 /* 68166 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24627 /* 68172 */ GIR_RootConstrainSelectedInstOperands,
24628 /* 68173 */ // GIR_Coverage, 408,
24629 /* 68173 */ GIR_EraseRootFromParent_Done,
24630 /* 68174 */ // Label 1608: @68174
24631 /* 68174 */ GIM_Try, /*On fail goto*//*Label 1609*/ GIMT_Encode4(68262), // Rule ID 23281 //
24632 /* 68179 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24633 /* 68182 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24634 /* 68186 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24635 /* 68190 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
24636 /* 68194 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24637 /* 68198 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24638 /* 68202 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24639 /* 68207 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24640 /* 68211 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24641 /* 68215 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24642 /* 68218 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24643 /* 68222 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24644 /* 68226 */ // MIs[0] src1
24645 /* 68226 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24646 /* 68231 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24647 /* 68233 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24648 /* 68240 */ // (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)
24649 /* 68240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16mr),
24650 /* 68243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24651 /* 68247 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24652 /* 68251 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24653 /* 68254 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24654 /* 68260 */ GIR_RootConstrainSelectedInstOperands,
24655 /* 68261 */ // GIR_Coverage, 23281,
24656 /* 68261 */ GIR_EraseRootFromParent_Done,
24657 /* 68262 */ // Label 1609: @68262
24658 /* 68262 */ GIM_Try, /*On fail goto*//*Label 1610*/ GIMT_Encode4(68350), // Rule ID 300 //
24659 /* 68267 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24660 /* 68270 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24661 /* 68274 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24662 /* 68278 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24663 /* 68282 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24664 /* 68286 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24665 /* 68290 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24666 /* 68294 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24667 /* 68298 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24668 /* 68301 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24669 /* 68305 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24670 /* 68309 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24671 /* 68314 */ // MIs[0] src1
24672 /* 68314 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24673 /* 68319 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24674 /* 68321 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24675 /* 68328 */ // (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)
24676 /* 68328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
24677 /* 68331 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24678 /* 68335 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24679 /* 68339 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24680 /* 68342 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24681 /* 68348 */ GIR_RootConstrainSelectedInstOperands,
24682 /* 68349 */ // GIR_Coverage, 300,
24683 /* 68349 */ GIR_EraseRootFromParent_Done,
24684 /* 68350 */ // Label 1610: @68350
24685 /* 68350 */ GIM_Try, /*On fail goto*//*Label 1611*/ GIMT_Encode4(68438), // Rule ID 23245 //
24686 /* 68355 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24687 /* 68358 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24688 /* 68362 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24689 /* 68366 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
24690 /* 68370 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24691 /* 68374 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24692 /* 68378 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24693 /* 68383 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24694 /* 68387 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24695 /* 68391 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24696 /* 68394 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24697 /* 68398 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24698 /* 68402 */ // MIs[0] src1
24699 /* 68402 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24700 /* 68407 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24701 /* 68409 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24702 /* 68416 */ // (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)
24703 /* 68416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND16mr),
24704 /* 68419 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24705 /* 68423 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24706 /* 68427 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24707 /* 68430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24708 /* 68436 */ GIR_RootConstrainSelectedInstOperands,
24709 /* 68437 */ // GIR_Coverage, 23245,
24710 /* 68437 */ GIR_EraseRootFromParent_Done,
24711 /* 68438 */ // Label 1611: @68438
24712 /* 68438 */ GIM_Try, /*On fail goto*//*Label 1612*/ GIMT_Encode4(68536), // Rule ID 726 //
24713 /* 68443 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24714 /* 68446 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24715 /* 68450 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24716 /* 68454 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
24717 /* 68458 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24718 /* 68462 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24719 /* 68466 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24720 /* 68470 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24721 /* 68474 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24722 /* 68477 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24723 /* 68481 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24724 /* 68485 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24725 /* 68490 */ // MIs[0] src1
24726 /* 68490 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24727 /* 68495 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24728 /* 68497 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24729 /* 68504 */ // (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)
24730 /* 68504 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24731 /* 68508 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24732 /* 68514 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24733 /* 68518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16mCL),
24734 /* 68521 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24735 /* 68525 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24736 /* 68528 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24737 /* 68534 */ GIR_RootConstrainSelectedInstOperands,
24738 /* 68535 */ // GIR_Coverage, 726,
24739 /* 68535 */ GIR_EraseRootFromParent_Done,
24740 /* 68536 */ // Label 1612: @68536
24741 /* 68536 */ GIM_Try, /*On fail goto*//*Label 1613*/ GIMT_Encode4(68634), // Rule ID 694 //
24742 /* 68541 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24743 /* 68544 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24744 /* 68548 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24745 /* 68552 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
24746 /* 68556 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24747 /* 68560 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24748 /* 68564 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24749 /* 68568 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24750 /* 68572 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24751 /* 68575 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24752 /* 68579 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24753 /* 68583 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24754 /* 68588 */ // MIs[0] src1
24755 /* 68588 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24756 /* 68593 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24757 /* 68595 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24758 /* 68602 */ // (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)
24759 /* 68602 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24760 /* 68606 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24761 /* 68612 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24762 /* 68616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16mCL),
24763 /* 68619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24764 /* 68623 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24765 /* 68626 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24766 /* 68632 */ GIR_RootConstrainSelectedInstOperands,
24767 /* 68633 */ // GIR_Coverage, 694,
24768 /* 68633 */ GIR_EraseRootFromParent_Done,
24769 /* 68634 */ // Label 1613: @68634
24770 /* 68634 */ GIM_Try, /*On fail goto*//*Label 1614*/ GIMT_Encode4(68722), // Rule ID 336 //
24771 /* 68639 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24772 /* 68642 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24773 /* 68646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24774 /* 68650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24775 /* 68654 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24776 /* 68658 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24777 /* 68662 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24778 /* 68666 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24779 /* 68670 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24780 /* 68673 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24781 /* 68677 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24782 /* 68681 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24783 /* 68686 */ // MIs[0] src1
24784 /* 68686 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24785 /* 68691 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24786 /* 68693 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24787 /* 68700 */ // (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)
24788 /* 68700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
24789 /* 68703 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24790 /* 68707 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24791 /* 68711 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24792 /* 68714 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24793 /* 68720 */ GIR_RootConstrainSelectedInstOperands,
24794 /* 68721 */ // GIR_Coverage, 336,
24795 /* 68721 */ GIR_EraseRootFromParent_Done,
24796 /* 68722 */ // Label 1614: @68722
24797 /* 68722 */ GIM_Try, /*On fail goto*//*Label 1615*/ GIMT_Encode4(68810), // Rule ID 23257 //
24798 /* 68727 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24799 /* 68730 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24800 /* 68734 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24801 /* 68738 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
24802 /* 68742 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24803 /* 68746 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24804 /* 68750 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24805 /* 68755 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24806 /* 68759 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24807 /* 68763 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24808 /* 68766 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24809 /* 68770 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24810 /* 68774 */ // MIs[0] src1
24811 /* 68774 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24812 /* 68779 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24813 /* 68781 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24814 /* 68788 */ // (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)
24815 /* 68788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR16mr),
24816 /* 68791 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24817 /* 68795 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24818 /* 68799 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24819 /* 68802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24820 /* 68808 */ GIR_RootConstrainSelectedInstOperands,
24821 /* 68809 */ // GIR_Coverage, 23257,
24822 /* 68809 */ GIR_EraseRootFromParent_Done,
24823 /* 68810 */ // Label 1615: @68810
24824 /* 68810 */ GIM_Try, /*On fail goto*//*Label 1616*/ GIMT_Encode4(68908), // Rule ID 758 //
24825 /* 68815 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24826 /* 68818 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24827 /* 68822 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24828 /* 68826 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
24829 /* 68830 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24830 /* 68834 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24831 /* 68838 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24832 /* 68842 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24833 /* 68846 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24834 /* 68849 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24835 /* 68853 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24836 /* 68857 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24837 /* 68862 */ // MIs[0] src1
24838 /* 68862 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24839 /* 68867 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24840 /* 68869 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24841 /* 68876 */ // (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)
24842 /* 68876 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24843 /* 68880 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24844 /* 68886 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24845 /* 68890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16mCL),
24846 /* 68893 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24847 /* 68897 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24848 /* 68900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24849 /* 68906 */ GIR_RootConstrainSelectedInstOperands,
24850 /* 68907 */ // GIR_Coverage, 758,
24851 /* 68907 */ GIR_EraseRootFromParent_Done,
24852 /* 68908 */ // Label 1616: @68908
24853 /* 68908 */ GIM_Try, /*On fail goto*//*Label 1617*/ GIMT_Encode4(69006), // Rule ID 790 //
24854 /* 68913 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24855 /* 68916 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24856 /* 68920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24857 /* 68924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
24858 /* 68928 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24859 /* 68932 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24860 /* 68936 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24861 /* 68940 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24862 /* 68944 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24863 /* 68947 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24864 /* 68951 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24865 /* 68955 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24866 /* 68960 */ // MIs[0] src1
24867 /* 68960 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24868 /* 68965 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24869 /* 68967 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24870 /* 68974 */ // (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)
24871 /* 68974 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24872 /* 68978 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24873 /* 68984 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24874 /* 68988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16mCL),
24875 /* 68991 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24876 /* 68995 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24877 /* 68998 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24878 /* 69004 */ GIR_RootConstrainSelectedInstOperands,
24879 /* 69005 */ // GIR_Coverage, 790,
24880 /* 69005 */ GIR_EraseRootFromParent_Done,
24881 /* 69006 */ // Label 1617: @69006
24882 /* 69006 */ GIM_Try, /*On fail goto*//*Label 1618*/ GIMT_Encode4(69104), // Rule ID 662 //
24883 /* 69011 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24884 /* 69014 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24885 /* 69018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24886 /* 69022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
24887 /* 69026 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24888 /* 69030 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
24889 /* 69034 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24890 /* 69038 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24891 /* 69042 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24892 /* 69045 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24893 /* 69049 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
24894 /* 69053 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
24895 /* 69058 */ // MIs[0] src1
24896 /* 69058 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24897 /* 69063 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24898 /* 69065 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24899 /* 69072 */ // (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)
24900 /* 69072 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
24901 /* 69076 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
24902 /* 69082 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
24903 /* 69086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16mCL),
24904 /* 69089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24905 /* 69093 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24906 /* 69096 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24907 /* 69102 */ GIR_RootConstrainSelectedInstOperands,
24908 /* 69103 */ // GIR_Coverage, 662,
24909 /* 69103 */ GIR_EraseRootFromParent_Done,
24910 /* 69104 */ // Label 1618: @69104
24911 /* 69104 */ GIM_Try, /*On fail goto*//*Label 1619*/ GIMT_Encode4(69192), // Rule ID 444 //
24912 /* 69109 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24913 /* 69112 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24914 /* 69116 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24915 /* 69120 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
24916 /* 69124 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24917 /* 69128 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24918 /* 69132 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24919 /* 69136 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24920 /* 69140 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24921 /* 69143 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24922 /* 69147 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24923 /* 69151 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24924 /* 69156 */ // MIs[0] src1
24925 /* 69156 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24926 /* 69161 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24927 /* 69163 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24928 /* 69170 */ // (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)
24929 /* 69170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB16mr),
24930 /* 69173 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24931 /* 69177 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24932 /* 69181 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24933 /* 69184 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24934 /* 69190 */ GIR_RootConstrainSelectedInstOperands,
24935 /* 69191 */ // GIR_Coverage, 444,
24936 /* 69191 */ GIR_EraseRootFromParent_Done,
24937 /* 69192 */ // Label 1619: @69192
24938 /* 69192 */ GIM_Try, /*On fail goto*//*Label 1620*/ GIMT_Encode4(69280), // Rule ID 372 //
24939 /* 69197 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24940 /* 69200 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24941 /* 69204 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24942 /* 69208 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24943 /* 69212 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24944 /* 69216 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24945 /* 69220 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
24946 /* 69224 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24947 /* 69228 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24948 /* 69231 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24949 /* 69235 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24950 /* 69239 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24951 /* 69244 */ // MIs[0] src1
24952 /* 69244 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24953 /* 69249 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24954 /* 69251 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24955 /* 69258 */ // (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)
24956 /* 69258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
24957 /* 69261 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24958 /* 69265 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
24959 /* 69269 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24960 /* 69272 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24961 /* 69278 */ GIR_RootConstrainSelectedInstOperands,
24962 /* 69279 */ // GIR_Coverage, 372,
24963 /* 69279 */ GIR_EraseRootFromParent_Done,
24964 /* 69280 */ // Label 1620: @69280
24965 /* 69280 */ GIM_Try, /*On fail goto*//*Label 1621*/ GIMT_Encode4(69368), // Rule ID 23269 //
24966 /* 69285 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24967 /* 69288 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24968 /* 69292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24969 /* 69296 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
24970 /* 69300 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
24971 /* 69304 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
24972 /* 69308 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
24973 /* 69313 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
24974 /* 69317 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
24975 /* 69321 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24976 /* 69324 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
24977 /* 69328 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
24978 /* 69332 */ // MIs[0] src1
24979 /* 69332 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
24980 /* 69337 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
24981 /* 69339 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
24982 /* 69346 */ // (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)
24983 /* 69346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR16mr),
24984 /* 69349 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
24985 /* 69353 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
24986 /* 69357 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
24987 /* 69360 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
24988 /* 69366 */ GIR_RootConstrainSelectedInstOperands,
24989 /* 69367 */ // GIR_Coverage, 23269,
24990 /* 69367 */ GIR_EraseRootFromParent_Done,
24991 /* 69368 */ // Label 1621: @69368
24992 /* 69368 */ GIM_Try, /*On fail goto*//*Label 1622*/ GIMT_Encode4(69422), // Rule ID 25 //
24993 /* 69373 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
24994 /* 69376 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
24995 /* 69380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
24996 /* 69384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
24997 /* 69388 */ // MIs[1] Operand 1
24998 /* 69388 */ // No operand predicates
24999 /* 69388 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25000 /* 69392 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25001 /* 69396 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25002 /* 69398 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25003 /* 69405 */ // (st (imm:{ *:[i16] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV16mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
25004 /* 69405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mi),
25005 /* 69408 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25006 /* 69412 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
25007 /* 69415 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25008 /* 69420 */ GIR_RootConstrainSelectedInstOperands,
25009 /* 69421 */ // GIR_Coverage, 25,
25010 /* 69421 */ GIR_EraseRootFromParent_Done,
25011 /* 69422 */ // Label 1622: @69422
25012 /* 69422 */ GIM_Try, /*On fail goto*//*Label 1623*/ GIMT_Encode4(69475), // Rule ID 22545 //
25013 /* 69427 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25014 /* 69430 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25015 /* 69437 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25016 /* 69441 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25017 /* 69445 */ // MIs[1] Operand 1
25018 /* 69445 */ // No operand predicates
25019 /* 69445 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25020 /* 69449 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25021 /* 69451 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25022 /* 69458 */ // (atomic_store (imm:{ *:[i16] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (MOV16mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
25023 /* 69458 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mi),
25024 /* 69461 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25025 /* 69465 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
25026 /* 69468 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25027 /* 69473 */ GIR_RootConstrainSelectedInstOperands,
25028 /* 69474 */ // GIR_Coverage, 22545,
25029 /* 69474 */ GIR_EraseRootFromParent_Done,
25030 /* 69475 */ // Label 1623: @69475
25031 /* 69475 */ GIM_Try, /*On fail goto*//*Label 1624*/ GIMT_Encode4(69538), // Rule ID 50 //
25032 /* 69480 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
25033 /* 69483 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25034 /* 69486 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25035 /* 69490 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25036 /* 69494 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
25037 /* 69498 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25038 /* 69502 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25039 /* 69507 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25040 /* 69511 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25041 /* 69513 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25042 /* 69520 */ // (st (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src1)
25043 /* 69520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16mr),
25044 /* 69523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25045 /* 69527 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
25046 /* 69531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25047 /* 69536 */ GIR_RootConstrainSelectedInstOperands,
25048 /* 69537 */ // GIR_Coverage, 50,
25049 /* 69537 */ GIR_EraseRootFromParent_Done,
25050 /* 69538 */ // Label 1624: @69538
25051 /* 69538 */ GIM_Try, /*On fail goto*//*Label 1625*/ GIMT_Encode4(69601), // Rule ID 56 //
25052 /* 69543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
25053 /* 69546 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25054 /* 69549 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25055 /* 69553 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25056 /* 69557 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
25057 /* 69561 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
25058 /* 69565 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25059 /* 69570 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25060 /* 69574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
25061 /* 69576 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25062 /* 69583 */ // (st (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE16mr_EVEX addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src1)
25063 /* 69583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16mr_EVEX),
25064 /* 69586 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25065 /* 69590 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
25066 /* 69594 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
25067 /* 69599 */ GIR_RootConstrainSelectedInstOperands,
25068 /* 69600 */ // GIR_Coverage, 56,
25069 /* 69600 */ GIR_EraseRootFromParent_Done,
25070 /* 69601 */ // Label 1625: @69601
25071 /* 69601 */ GIM_Try, /*On fail goto*//*Label 1626*/ GIMT_Encode4(69646), // Rule ID 22549 //
25072 /* 69606 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25073 /* 69609 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
25074 /* 69616 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25075 /* 69620 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25076 /* 69624 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25077 /* 69631 */ // (atomic_store GR16:{ *:[i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_16>> => (MOV16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
25078 /* 69631 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
25079 /* 69634 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25080 /* 69638 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
25081 /* 69640 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25082 /* 69644 */ GIR_RootConstrainSelectedInstOperands,
25083 /* 69645 */ // GIR_Coverage, 22549,
25084 /* 69645 */ GIR_EraseRootFromParent_Done,
25085 /* 69646 */ // Label 1626: @69646
25086 /* 69646 */ GIM_Try, /*On fail goto*//*Label 1627*/ GIMT_Encode4(69688), // Rule ID 33 //
25087 /* 69651 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25088 /* 69654 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25089 /* 69658 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
25090 /* 69662 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25091 /* 69666 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25092 /* 69673 */ // (st GR16:{ *:[i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
25093 /* 69673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
25094 /* 69676 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25095 /* 69680 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
25096 /* 69682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25097 /* 69686 */ GIR_RootConstrainSelectedInstOperands,
25098 /* 69687 */ // GIR_Coverage, 33,
25099 /* 69687 */ GIR_EraseRootFromParent_Done,
25100 /* 69688 */ // Label 1627: @69688
25101 /* 69688 */ GIM_Try, /*On fail goto*//*Label 1628*/ GIMT_Encode4(69733), // Rule ID 4602 //
25102 /* 69693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
25103 /* 69696 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25104 /* 69699 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25105 /* 69703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
25106 /* 69707 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25107 /* 69711 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25108 /* 69718 */ // (st FR16X:{ *:[f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSHZmr addr:{ *:[iPTR] }:$dst, FR16X:{ *:[f16] }:$src)
25109 /* 69718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSHZmr),
25110 /* 69721 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25111 /* 69725 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
25112 /* 69727 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25113 /* 69731 */ GIR_RootConstrainSelectedInstOperands,
25114 /* 69732 */ // GIR_Coverage, 4602,
25115 /* 69732 */ GIR_EraseRootFromParent_Done,
25116 /* 69733 */ // Label 1628: @69733
25117 /* 69733 */ GIM_Try, /*On fail goto*//*Label 1629*/ GIMT_Encode4(69799), // Rule ID 18513 //
25118 /* 69738 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
25119 /* 69741 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25120 /* 69744 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25121 /* 69748 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25122 /* 69752 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25123 /* 69759 */ // (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] })
25124 /* 69759 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
25125 /* 69762 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25126 /* 69766 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25127 /* 69771 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
25128 /* 69775 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
25129 /* 69780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PEXTRWmri),
25130 /* 69783 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25131 /* 69787 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
25132 /* 69790 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
25133 /* 69793 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25134 /* 69797 */ GIR_RootConstrainSelectedInstOperands,
25135 /* 69798 */ // GIR_Coverage, 18513,
25136 /* 69798 */ GIR_EraseRootFromParent_Done,
25137 /* 69799 */ // Label 1629: @69799
25138 /* 69799 */ GIM_Try, /*On fail goto*//*Label 1630*/ GIMT_Encode4(69865), // Rule ID 18514 //
25139 /* 69804 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoBWI),
25140 /* 69807 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25141 /* 69810 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25142 /* 69814 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25143 /* 69818 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25144 /* 69825 */ // (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] })
25145 /* 69825 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
25146 /* 69828 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25147 /* 69832 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25148 /* 69837 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
25149 /* 69841 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
25150 /* 69846 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPEXTRWmri),
25151 /* 69849 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25152 /* 69853 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
25153 /* 69856 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
25154 /* 69859 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25155 /* 69863 */ GIR_RootConstrainSelectedInstOperands,
25156 /* 69864 */ // GIR_Coverage, 18514,
25157 /* 69864 */ GIR_EraseRootFromParent_Done,
25158 /* 69865 */ // Label 1630: @69865
25159 /* 69865 */ GIM_Try, /*On fail goto*//*Label 1631*/ GIMT_Encode4(69977), // Rule ID 18302 //
25160 /* 69870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
25161 /* 69873 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25162 /* 69876 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25163 /* 69880 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25164 /* 69884 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25165 /* 69891 */ // (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] }))
25166 /* 69891 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s16,
25167 /* 69894 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25168 /* 69898 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25169 /* 69903 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/0, // src
25170 /* 69907 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
25171 /* 69912 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
25172 /* 69915 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::PEXTRWrri),
25173 /* 69919 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25174 /* 69924 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
25175 /* 69927 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/0,
25176 /* 69930 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
25177 /* 69932 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
25178 /* 69935 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25179 /* 69939 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25180 /* 69944 */ GIR_AddTempSubRegister, /*InsnID*/1, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
25181 /* 69951 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
25182 /* 69956 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
25183 /* 69961 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16mr),
25184 /* 69964 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25185 /* 69968 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
25186 /* 69971 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25187 /* 69975 */ GIR_RootConstrainSelectedInstOperands,
25188 /* 69976 */ // GIR_Coverage, 18302,
25189 /* 69976 */ GIR_EraseRootFromParent_Done,
25190 /* 69977 */ // Label 1631: @69977
25191 /* 69977 */ GIM_Try, /*On fail goto*//*Label 1632*/ GIMT_Encode4(70043), // Rule ID 21827 //
25192 /* 69982 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
25193 /* 69985 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25194 /* 69988 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25195 /* 69992 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
25196 /* 69996 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25197 /* 70003 */ // (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] })
25198 /* 70003 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s16,
25199 /* 70006 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
25200 /* 70010 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
25201 /* 70015 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/0, // src
25202 /* 70019 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR128RegClassID),
25203 /* 70024 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPEXTRWZmri),
25204 /* 70027 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25205 /* 70031 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
25206 /* 70034 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/0,
25207 /* 70037 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
25208 /* 70041 */ GIR_RootConstrainSelectedInstOperands,
25209 /* 70042 */ // GIR_Coverage, 21827,
25210 /* 70042 */ GIR_EraseRootFromParent_Done,
25211 /* 70043 */ // Label 1632: @70043
25212 /* 70043 */ GIM_Reject,
25213 /* 70044 */ // Label 1500: @70044
25214 /* 70044 */ GIM_Try, /*On fail goto*//*Label 1633*/ GIMT_Encode4(70140), // Rule ID 22530 //
25215 /* 70049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
25216 /* 70052 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25217 /* 70055 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25218 /* 70062 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25219 /* 70066 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25220 /* 70070 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25221 /* 70074 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25222 /* 70078 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25223 /* 70082 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25224 /* 70086 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25225 /* 70089 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25226 /* 70093 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25227 /* 70100 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25228 /* 70104 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
25229 /* 70108 */ // MIs[0] dst
25230 /* 70108 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25231 /* 70113 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25232 /* 70115 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25233 /* 70122 */ // (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)
25234 /* 70122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32m),
25235 /* 70125 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25236 /* 70129 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25237 /* 70132 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25238 /* 70138 */ GIR_RootConstrainSelectedInstOperands,
25239 /* 70139 */ // GIR_Coverage, 22530,
25240 /* 70139 */ GIR_EraseRootFromParent_Done,
25241 /* 70140 */ // Label 1633: @70140
25242 /* 70140 */ GIM_Try, /*On fail goto*//*Label 1634*/ GIMT_Encode4(70236), // Rule ID 22534 //
25243 /* 70145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
25244 /* 70148 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25245 /* 70151 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25246 /* 70158 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25247 /* 70162 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25248 /* 70166 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25249 /* 70170 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25250 /* 70174 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25251 /* 70178 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25252 /* 70182 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25253 /* 70185 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25254 /* 70189 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25255 /* 70196 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25256 /* 70200 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
25257 /* 70204 */ // MIs[0] dst
25258 /* 70204 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25259 /* 70209 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25260 /* 70211 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25261 /* 70218 */ // (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)
25262 /* 70218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32m),
25263 /* 70221 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25264 /* 70225 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25265 /* 70228 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25266 /* 70234 */ GIR_RootConstrainSelectedInstOperands,
25267 /* 70235 */ // GIR_Coverage, 22534,
25268 /* 70235 */ GIR_EraseRootFromParent_Done,
25269 /* 70236 */ // Label 1634: @70236
25270 /* 70236 */ GIM_Try, /*On fail goto*//*Label 1635*/ GIMT_Encode4(70329), // Rule ID 22538 //
25271 /* 70241 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25272 /* 70244 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25273 /* 70251 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25274 /* 70255 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25275 /* 70259 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25276 /* 70263 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25277 /* 70267 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
25278 /* 70271 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25279 /* 70275 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25280 /* 70279 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25281 /* 70282 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25282 /* 70286 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25283 /* 70293 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25284 /* 70297 */ // MIs[0] dst
25285 /* 70297 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25286 /* 70302 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25287 /* 70304 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25288 /* 70311 */ // (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)
25289 /* 70311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32m),
25290 /* 70314 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25291 /* 70318 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25292 /* 70321 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25293 /* 70327 */ GIR_RootConstrainSelectedInstOperands,
25294 /* 70328 */ // GIR_Coverage, 22538,
25295 /* 70328 */ GIR_EraseRootFromParent_Done,
25296 /* 70329 */ // Label 1635: @70329
25297 /* 70329 */ GIM_Try, /*On fail goto*//*Label 1636*/ GIMT_Encode4(70419), // Rule ID 22542 //
25298 /* 70334 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25299 /* 70337 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25300 /* 70344 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25301 /* 70348 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25302 /* 70352 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25303 /* 70356 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25304 /* 70360 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25305 /* 70364 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25306 /* 70368 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25307 /* 70371 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25308 /* 70375 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25309 /* 70382 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25310 /* 70386 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
25311 /* 70390 */ // MIs[0] dst
25312 /* 70390 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25313 /* 70395 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25314 /* 70397 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25315 /* 70404 */ // (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)
25316 /* 70404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32m),
25317 /* 70407 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25318 /* 70411 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25319 /* 70417 */ GIR_RootConstrainSelectedInstOperands,
25320 /* 70418 */ // GIR_Coverage, 22542,
25321 /* 70418 */ GIR_EraseRootFromParent_Done,
25322 /* 70419 */ // Label 1636: @70419
25323 /* 70419 */ GIM_Try, /*On fail goto*//*Label 1637*/ GIMT_Encode4(70505), // Rule ID 225 //
25324 /* 70424 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
25325 /* 70427 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25326 /* 70430 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25327 /* 70434 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25328 /* 70438 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25329 /* 70442 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25330 /* 70446 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25331 /* 70450 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25332 /* 70454 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25333 /* 70458 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25334 /* 70461 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25335 /* 70465 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25336 /* 70469 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
25337 /* 70473 */ // MIs[0] src1
25338 /* 70473 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25339 /* 70478 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25340 /* 70480 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25341 /* 70487 */ // (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)
25342 /* 70487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC32m),
25343 /* 70490 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25344 /* 70494 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25345 /* 70497 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25346 /* 70503 */ GIR_RootConstrainSelectedInstOperands,
25347 /* 70504 */ // GIR_Coverage, 225,
25348 /* 70504 */ GIR_EraseRootFromParent_Done,
25349 /* 70505 */ // Label 1637: @70505
25350 /* 70505 */ GIM_Try, /*On fail goto*//*Label 1638*/ GIMT_Encode4(70591), // Rule ID 228 //
25351 /* 70510 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
25352 /* 70513 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25353 /* 70516 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25354 /* 70520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25355 /* 70524 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25356 /* 70528 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25357 /* 70532 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25358 /* 70536 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25359 /* 70540 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25360 /* 70544 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25361 /* 70547 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25362 /* 70551 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25363 /* 70555 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
25364 /* 70559 */ // MIs[0] src1
25365 /* 70559 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25366 /* 70564 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25367 /* 70566 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25368 /* 70573 */ // (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)
25369 /* 70573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC32m),
25370 /* 70576 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25371 /* 70580 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25372 /* 70583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25373 /* 70589 */ GIR_RootConstrainSelectedInstOperands,
25374 /* 70590 */ // GIR_Coverage, 228,
25375 /* 70590 */ GIR_EraseRootFromParent_Done,
25376 /* 70591 */ // Label 1638: @70591
25377 /* 70591 */ GIM_Try, /*On fail goto*//*Label 1639*/ GIMT_Encode4(70684), // Rule ID 22673 //
25378 /* 70596 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25379 /* 70599 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25380 /* 70603 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25381 /* 70607 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25382 /* 70611 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25383 /* 70615 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25384 /* 70619 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25385 /* 70623 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25386 /* 70627 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25387 /* 70630 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25388 /* 70634 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25389 /* 70638 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
25390 /* 70649 */ // MIs[0] dst
25391 /* 70649 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25392 /* 70654 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25393 /* 70656 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25394 /* 70663 */ // (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] })
25395 /* 70663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
25396 /* 70666 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25397 /* 70670 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
25398 /* 70673 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25399 /* 70676 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25400 /* 70682 */ GIR_RootConstrainSelectedInstOperands,
25401 /* 70683 */ // GIR_Coverage, 22673,
25402 /* 70683 */ GIR_EraseRootFromParent_Done,
25403 /* 70684 */ // Label 1639: @70684
25404 /* 70684 */ GIM_Try, /*On fail goto*//*Label 1640*/ GIMT_Encode4(70767), // Rule ID 17580 //
25405 /* 70689 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25406 /* 70692 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25407 /* 70696 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25408 /* 70700 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
25409 /* 70704 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25410 /* 70708 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25411 /* 70712 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25412 /* 70716 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25413 /* 70720 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25414 /* 70723 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25415 /* 70727 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25416 /* 70731 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 31,
25417 /* 70735 */ // MIs[0] dst
25418 /* 70735 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25419 /* 70740 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25420 /* 70742 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25421 /* 70749 */ // (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)
25422 /* 70749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32m1),
25423 /* 70752 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25424 /* 70756 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25425 /* 70759 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25426 /* 70765 */ GIR_RootConstrainSelectedInstOperands,
25427 /* 70766 */ // GIR_Coverage, 17580,
25428 /* 70766 */ GIR_EraseRootFromParent_Done,
25429 /* 70767 */ // Label 1640: @70767
25430 /* 70767 */ GIM_Try, /*On fail goto*//*Label 1641*/ GIMT_Encode4(70850), // Rule ID 17584 //
25431 /* 70772 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25432 /* 70775 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25433 /* 70779 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25434 /* 70783 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
25435 /* 70787 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25436 /* 70791 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25437 /* 70795 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25438 /* 70799 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25439 /* 70803 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25440 /* 70806 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25441 /* 70810 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25442 /* 70814 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 31,
25443 /* 70818 */ // MIs[0] dst
25444 /* 70818 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25445 /* 70823 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25446 /* 70825 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25447 /* 70832 */ // (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)
25448 /* 70832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32m1),
25449 /* 70835 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25450 /* 70839 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25451 /* 70842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25452 /* 70848 */ GIR_RootConstrainSelectedInstOperands,
25453 /* 70849 */ // GIR_Coverage, 17584,
25454 /* 70849 */ GIR_EraseRootFromParent_Done,
25455 /* 70850 */ // Label 1641: @70850
25456 /* 70850 */ GIM_Try, /*On fail goto*//*Label 1642*/ GIMT_Encode4(70933), // Rule ID 261 //
25457 /* 70855 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25458 /* 70858 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25459 /* 70862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25460 /* 70866 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25461 /* 70870 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25462 /* 70874 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25463 /* 70878 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
25464 /* 70882 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25465 /* 70886 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25466 /* 70890 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25467 /* 70893 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25468 /* 70897 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25469 /* 70901 */ // MIs[0] src1
25470 /* 70901 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25471 /* 70906 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25472 /* 70908 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25473 /* 70915 */ // (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)
25474 /* 70915 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG32m),
25475 /* 70918 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25476 /* 70922 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25477 /* 70925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25478 /* 70931 */ GIR_RootConstrainSelectedInstOperands,
25479 /* 70932 */ // GIR_Coverage, 261,
25480 /* 70932 */ GIR_EraseRootFromParent_Done,
25481 /* 70933 */ // Label 1642: @70933
25482 /* 70933 */ GIM_Try, /*On fail goto*//*Label 1643*/ GIMT_Encode4(71013), // Rule ID 269 //
25483 /* 70938 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25484 /* 70941 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25485 /* 70945 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25486 /* 70949 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25487 /* 70953 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25488 /* 70957 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25489 /* 70961 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25490 /* 70965 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25491 /* 70969 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25492 /* 70972 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25493 /* 70976 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25494 /* 70980 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
25495 /* 70984 */ // MIs[0] src1
25496 /* 70984 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25497 /* 70989 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
25498 /* 70991 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25499 /* 70998 */ // (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)
25500 /* 70998 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT32m),
25501 /* 71001 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25502 /* 71005 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
25503 /* 71011 */ GIR_RootConstrainSelectedInstOperands,
25504 /* 71012 */ // GIR_Coverage, 269,
25505 /* 71012 */ GIR_EraseRootFromParent_Done,
25506 /* 71013 */ // Label 1643: @71013
25507 /* 71013 */ GIM_Try, /*On fail goto*//*Label 1644*/ GIMT_Encode4(71108), // Rule ID 413 //
25508 /* 71018 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25509 /* 71021 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25510 /* 71025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25511 /* 71029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25512 /* 71033 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25513 /* 71037 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25514 /* 71041 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25515 /* 71045 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25516 /* 71049 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25517 /* 71052 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25518 /* 71056 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25519 /* 71060 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25520 /* 71064 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25521 /* 71068 */ // MIs[3] Operand 1
25522 /* 71068 */ // No operand predicates
25523 /* 71068 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25524 /* 71072 */ // MIs[0] src1
25525 /* 71072 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25526 /* 71077 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25527 /* 71079 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25528 /* 71086 */ // (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)
25529 /* 71086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mi),
25530 /* 71089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25531 /* 71093 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25532 /* 71096 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25533 /* 71099 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25534 /* 71106 */ GIR_RootConstrainSelectedInstOperands,
25535 /* 71107 */ // GIR_Coverage, 413,
25536 /* 71107 */ GIR_EraseRootFromParent_Done,
25537 /* 71108 */ // Label 1644: @71108
25538 /* 71108 */ GIM_Try, /*On fail goto*//*Label 1645*/ GIMT_Encode4(71203), // Rule ID 305 //
25539 /* 71113 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25540 /* 71116 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25541 /* 71120 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25542 /* 71124 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25543 /* 71128 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25544 /* 71132 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25545 /* 71136 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25546 /* 71140 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25547 /* 71144 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25548 /* 71147 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25549 /* 71151 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25550 /* 71155 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25551 /* 71159 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25552 /* 71163 */ // MIs[3] Operand 1
25553 /* 71163 */ // No operand predicates
25554 /* 71163 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25555 /* 71167 */ // MIs[0] src1
25556 /* 71167 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25557 /* 71172 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25558 /* 71174 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25559 /* 71181 */ // (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)
25560 /* 71181 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mi),
25561 /* 71184 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25562 /* 71188 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25563 /* 71191 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25564 /* 71194 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25565 /* 71201 */ GIR_RootConstrainSelectedInstOperands,
25566 /* 71202 */ // GIR_Coverage, 305,
25567 /* 71202 */ GIR_EraseRootFromParent_Done,
25568 /* 71203 */ // Label 1645: @71203
25569 /* 71203 */ GIM_Try, /*On fail goto*//*Label 1646*/ GIMT_Encode4(71298), // Rule ID 341 //
25570 /* 71208 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25571 /* 71211 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25572 /* 71215 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25573 /* 71219 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25574 /* 71223 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25575 /* 71227 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25576 /* 71231 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25577 /* 71235 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25578 /* 71239 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25579 /* 71242 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25580 /* 71246 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25581 /* 71250 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25582 /* 71254 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25583 /* 71258 */ // MIs[3] Operand 1
25584 /* 71258 */ // No operand predicates
25585 /* 71258 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25586 /* 71262 */ // MIs[0] src1
25587 /* 71262 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25588 /* 71267 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25589 /* 71269 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25590 /* 71276 */ // (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)
25591 /* 71276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mi),
25592 /* 71279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25593 /* 71283 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25594 /* 71286 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25595 /* 71289 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25596 /* 71296 */ GIR_RootConstrainSelectedInstOperands,
25597 /* 71297 */ // GIR_Coverage, 341,
25598 /* 71297 */ GIR_EraseRootFromParent_Done,
25599 /* 71298 */ // Label 1646: @71298
25600 /* 71298 */ GIM_Try, /*On fail goto*//*Label 1647*/ GIMT_Encode4(71393), // Rule ID 453 //
25601 /* 71303 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25602 /* 71306 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25603 /* 71310 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25604 /* 71314 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25605 /* 71318 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25606 /* 71322 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25607 /* 71326 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25608 /* 71330 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25609 /* 71334 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25610 /* 71337 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25611 /* 71341 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25612 /* 71345 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25613 /* 71349 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25614 /* 71353 */ // MIs[3] Operand 1
25615 /* 71353 */ // No operand predicates
25616 /* 71353 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25617 /* 71357 */ // MIs[0] src1
25618 /* 71357 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25619 /* 71362 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25620 /* 71364 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25621 /* 71371 */ // (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)
25622 /* 71371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
25623 /* 71374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25624 /* 71378 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25625 /* 71381 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25626 /* 71384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25627 /* 71391 */ GIR_RootConstrainSelectedInstOperands,
25628 /* 71392 */ // GIR_Coverage, 453,
25629 /* 71392 */ GIR_EraseRootFromParent_Done,
25630 /* 71393 */ // Label 1647: @71393
25631 /* 71393 */ GIM_Try, /*On fail goto*//*Label 1648*/ GIMT_Encode4(71488), // Rule ID 377 //
25632 /* 71398 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25633 /* 71401 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25634 /* 71405 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25635 /* 71409 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25636 /* 71413 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25637 /* 71417 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25638 /* 71421 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25639 /* 71425 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25640 /* 71429 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25641 /* 71432 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25642 /* 71436 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25643 /* 71440 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25644 /* 71444 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25645 /* 71448 */ // MIs[3] Operand 1
25646 /* 71448 */ // No operand predicates
25647 /* 71448 */ GIM_CheckCxxInsnPredicate, /*MI*/3, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
25648 /* 71452 */ // MIs[0] src1
25649 /* 71452 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25650 /* 71457 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25651 /* 71459 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25652 /* 71466 */ // (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)
25653 /* 71466 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mi),
25654 /* 71469 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25655 /* 71473 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25656 /* 71476 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25657 /* 71479 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25658 /* 71486 */ GIR_RootConstrainSelectedInstOperands,
25659 /* 71487 */ // GIR_Coverage, 377,
25660 /* 71487 */ GIR_EraseRootFromParent_Done,
25661 /* 71488 */ // Label 1648: @71488
25662 /* 71488 */ GIM_Try, /*On fail goto*//*Label 1649*/ GIMT_Encode4(71589), // Rule ID 22466 //
25663 /* 71493 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25664 /* 71496 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25665 /* 71503 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25666 /* 71507 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
25667 /* 71511 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25668 /* 71515 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25669 /* 71519 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25670 /* 71523 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25671 /* 71527 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25672 /* 71530 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25673 /* 71534 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25674 /* 71541 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25675 /* 71545 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25676 /* 71549 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25677 /* 71553 */ // MIs[3] Operand 1
25678 /* 71553 */ // No operand predicates
25679 /* 71553 */ // MIs[0] dst
25680 /* 71553 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25681 /* 71558 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25682 /* 71560 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25683 /* 71567 */ // (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)
25684 /* 71567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mi),
25685 /* 71570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25686 /* 71574 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
25687 /* 71577 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25688 /* 71580 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25689 /* 71587 */ GIR_RootConstrainSelectedInstOperands,
25690 /* 71588 */ // GIR_Coverage, 22466,
25691 /* 71588 */ GIR_EraseRootFromParent_Done,
25692 /* 71589 */ // Label 1649: @71589
25693 /* 71589 */ GIM_Try, /*On fail goto*//*Label 1650*/ GIMT_Encode4(71690), // Rule ID 22474 //
25694 /* 71594 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25695 /* 71597 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25696 /* 71604 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25697 /* 71608 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
25698 /* 71612 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25699 /* 71616 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25700 /* 71620 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25701 /* 71624 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25702 /* 71628 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25703 /* 71631 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25704 /* 71635 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25705 /* 71642 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25706 /* 71646 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25707 /* 71650 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25708 /* 71654 */ // MIs[3] Operand 1
25709 /* 71654 */ // No operand predicates
25710 /* 71654 */ // MIs[0] dst
25711 /* 71654 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25712 /* 71659 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25713 /* 71661 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25714 /* 71668 */ // (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)
25715 /* 71668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mi),
25716 /* 71671 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25717 /* 71675 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
25718 /* 71678 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25719 /* 71681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25720 /* 71688 */ GIR_RootConstrainSelectedInstOperands,
25721 /* 71689 */ // GIR_Coverage, 22474,
25722 /* 71689 */ GIR_EraseRootFromParent_Done,
25723 /* 71690 */ // Label 1650: @71690
25724 /* 71690 */ GIM_Try, /*On fail goto*//*Label 1651*/ GIMT_Encode4(71791), // Rule ID 22482 //
25725 /* 71695 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25726 /* 71698 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25727 /* 71705 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25728 /* 71709 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
25729 /* 71713 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25730 /* 71717 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25731 /* 71721 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25732 /* 71725 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25733 /* 71729 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25734 /* 71732 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25735 /* 71736 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25736 /* 71743 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25737 /* 71747 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25738 /* 71751 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25739 /* 71755 */ // MIs[3] Operand 1
25740 /* 71755 */ // No operand predicates
25741 /* 71755 */ // MIs[0] dst
25742 /* 71755 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25743 /* 71760 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25744 /* 71762 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25745 /* 71769 */ // (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)
25746 /* 71769 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mi),
25747 /* 71772 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25748 /* 71776 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
25749 /* 71779 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25750 /* 71782 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25751 /* 71789 */ GIR_RootConstrainSelectedInstOperands,
25752 /* 71790 */ // GIR_Coverage, 22482,
25753 /* 71790 */ GIR_EraseRootFromParent_Done,
25754 /* 71791 */ // Label 1651: @71791
25755 /* 71791 */ GIM_Try, /*On fail goto*//*Label 1652*/ GIMT_Encode4(71892), // Rule ID 22498 //
25756 /* 71796 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25757 /* 71799 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25758 /* 71806 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25759 /* 71810 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
25760 /* 71814 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25761 /* 71818 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25762 /* 71822 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25763 /* 71826 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25764 /* 71830 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25765 /* 71833 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25766 /* 71837 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25767 /* 71844 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25768 /* 71848 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25769 /* 71852 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25770 /* 71856 */ // MIs[3] Operand 1
25771 /* 71856 */ // No operand predicates
25772 /* 71856 */ // MIs[0] dst
25773 /* 71856 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25774 /* 71861 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25775 /* 71863 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25776 /* 71870 */ // (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)
25777 /* 71870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mi),
25778 /* 71873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25779 /* 71877 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
25780 /* 71880 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25781 /* 71883 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25782 /* 71890 */ GIR_RootConstrainSelectedInstOperands,
25783 /* 71891 */ // GIR_Coverage, 22498,
25784 /* 71891 */ GIR_EraseRootFromParent_Done,
25785 /* 71892 */ // Label 1652: @71892
25786 /* 71892 */ GIM_Try, /*On fail goto*//*Label 1653*/ GIMT_Encode4(71993), // Rule ID 22490 //
25787 /* 71897 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25788 /* 71900 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25789 /* 71907 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25790 /* 71911 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
25791 /* 71915 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25792 /* 71919 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25793 /* 71923 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25794 /* 71927 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25795 /* 71931 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
25796 /* 71934 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
25797 /* 71938 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
25798 /* 71945 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25799 /* 71949 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25800 /* 71953 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25801 /* 71957 */ // MIs[3] Operand 1
25802 /* 71957 */ // No operand predicates
25803 /* 71957 */ // MIs[0] dst
25804 /* 71957 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25805 /* 71962 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25806 /* 71964 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25807 /* 71971 */ // (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)
25808 /* 71971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mi),
25809 /* 71974 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
25810 /* 71978 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
25811 /* 71981 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25812 /* 71984 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25813 /* 71991 */ GIR_RootConstrainSelectedInstOperands,
25814 /* 71992 */ // GIR_Coverage, 22490,
25815 /* 71992 */ GIR_EraseRootFromParent_Done,
25816 /* 71993 */ // Label 1653: @71993
25817 /* 71993 */ GIM_Try, /*On fail goto*//*Label 1654*/ GIMT_Encode4(72097), // Rule ID 810 //
25818 /* 71998 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25819 /* 72001 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25820 /* 72005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25821 /* 72009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
25822 /* 72013 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25823 /* 72017 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25824 /* 72021 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
25825 /* 72025 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25826 /* 72029 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25827 /* 72033 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25828 /* 72036 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25829 /* 72040 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25830 /* 72044 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25831 /* 72049 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
25832 /* 72053 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25833 /* 72057 */ // MIs[3] Operand 1
25834 /* 72057 */ // No operand predicates
25835 /* 72057 */ // MIs[0] src1
25836 /* 72057 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25837 /* 72062 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25838 /* 72064 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25839 /* 72071 */ // (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)
25840 /* 72071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32mri8),
25841 /* 72074 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25842 /* 72078 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
25843 /* 72082 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
25844 /* 72085 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25845 /* 72088 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25846 /* 72095 */ GIR_RootConstrainSelectedInstOperands,
25847 /* 72096 */ // GIR_Coverage, 810,
25848 /* 72096 */ GIR_EraseRootFromParent_Done,
25849 /* 72097 */ // Label 1654: @72097
25850 /* 72097 */ GIM_Try, /*On fail goto*//*Label 1655*/ GIMT_Encode4(72201), // Rule ID 834 //
25851 /* 72102 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25852 /* 72105 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25853 /* 72109 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25854 /* 72113 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
25855 /* 72117 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25856 /* 72121 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
25857 /* 72125 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
25858 /* 72129 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
25859 /* 72134 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
25860 /* 72138 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25861 /* 72142 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25862 /* 72145 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25863 /* 72149 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25864 /* 72153 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
25865 /* 72157 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25866 /* 72161 */ // MIs[3] Operand 1
25867 /* 72161 */ // No operand predicates
25868 /* 72161 */ // MIs[0] src1
25869 /* 72161 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25870 /* 72166 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25871 /* 72168 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25872 /* 72175 */ // (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)
25873 /* 72175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32mri8),
25874 /* 72178 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25875 /* 72182 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
25876 /* 72186 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
25877 /* 72189 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25878 /* 72192 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25879 /* 72199 */ GIR_RootConstrainSelectedInstOperands,
25880 /* 72200 */ // GIR_Coverage, 834,
25881 /* 72200 */ GIR_EraseRootFromParent_Done,
25882 /* 72201 */ // Label 1655: @72201
25883 /* 72201 */ GIM_Try, /*On fail goto*//*Label 1656*/ GIMT_Encode4(72292), // Rule ID 711 //
25884 /* 72206 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25885 /* 72209 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25886 /* 72213 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25887 /* 72217 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
25888 /* 72221 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25889 /* 72225 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25890 /* 72229 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25891 /* 72233 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25892 /* 72237 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25893 /* 72240 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25894 /* 72244 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25895 /* 72248 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25896 /* 72252 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25897 /* 72256 */ // MIs[3] Operand 1
25898 /* 72256 */ // No operand predicates
25899 /* 72256 */ // MIs[0] src1
25900 /* 72256 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25901 /* 72261 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25902 /* 72263 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25903 /* 72270 */ // (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)
25904 /* 72270 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32mi),
25905 /* 72273 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25906 /* 72277 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25907 /* 72280 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25908 /* 72283 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25909 /* 72290 */ GIR_RootConstrainSelectedInstOperands,
25910 /* 72291 */ // GIR_Coverage, 711,
25911 /* 72291 */ GIR_EraseRootFromParent_Done,
25912 /* 72292 */ // Label 1656: @72292
25913 /* 72292 */ GIM_Try, /*On fail goto*//*Label 1657*/ GIMT_Encode4(72383), // Rule ID 679 //
25914 /* 72297 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25915 /* 72300 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25916 /* 72304 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25917 /* 72308 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
25918 /* 72312 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25919 /* 72316 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25920 /* 72320 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25921 /* 72324 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25922 /* 72328 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25923 /* 72331 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25924 /* 72335 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25925 /* 72339 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25926 /* 72343 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25927 /* 72347 */ // MIs[3] Operand 1
25928 /* 72347 */ // No operand predicates
25929 /* 72347 */ // MIs[0] src1
25930 /* 72347 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25931 /* 72352 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25932 /* 72354 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25933 /* 72361 */ // (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)
25934 /* 72361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32mi),
25935 /* 72364 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25936 /* 72368 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25937 /* 72371 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25938 /* 72374 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25939 /* 72381 */ GIR_RootConstrainSelectedInstOperands,
25940 /* 72382 */ // GIR_Coverage, 679,
25941 /* 72382 */ GIR_EraseRootFromParent_Done,
25942 /* 72383 */ // Label 1657: @72383
25943 /* 72383 */ GIM_Try, /*On fail goto*//*Label 1658*/ GIMT_Encode4(72474), // Rule ID 743 //
25944 /* 72388 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25945 /* 72391 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25946 /* 72395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25947 /* 72399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
25948 /* 72403 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25949 /* 72407 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25950 /* 72411 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25951 /* 72415 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25952 /* 72419 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25953 /* 72422 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25954 /* 72426 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25955 /* 72430 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25956 /* 72434 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25957 /* 72438 */ // MIs[3] Operand 1
25958 /* 72438 */ // No operand predicates
25959 /* 72438 */ // MIs[0] src1
25960 /* 72438 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25961 /* 72443 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25962 /* 72445 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25963 /* 72452 */ // (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)
25964 /* 72452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32mi),
25965 /* 72455 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25966 /* 72459 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25967 /* 72462 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25968 /* 72465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25969 /* 72472 */ GIR_RootConstrainSelectedInstOperands,
25970 /* 72473 */ // GIR_Coverage, 743,
25971 /* 72473 */ GIR_EraseRootFromParent_Done,
25972 /* 72474 */ // Label 1658: @72474
25973 /* 72474 */ GIM_Try, /*On fail goto*//*Label 1659*/ GIMT_Encode4(72565), // Rule ID 775 //
25974 /* 72479 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25975 /* 72482 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
25976 /* 72486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
25977 /* 72490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
25978 /* 72494 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
25979 /* 72498 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
25980 /* 72502 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
25981 /* 72506 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
25982 /* 72510 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
25983 /* 72513 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
25984 /* 72517 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
25985 /* 72521 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
25986 /* 72525 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
25987 /* 72529 */ // MIs[3] Operand 1
25988 /* 72529 */ // No operand predicates
25989 /* 72529 */ // MIs[0] src1
25990 /* 72529 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
25991 /* 72534 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
25992 /* 72536 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
25993 /* 72543 */ // (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)
25994 /* 72543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32mi),
25995 /* 72546 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
25996 /* 72550 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
25997 /* 72553 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
25998 /* 72556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
25999 /* 72563 */ GIR_RootConstrainSelectedInstOperands,
26000 /* 72564 */ // GIR_Coverage, 775,
26001 /* 72564 */ GIR_EraseRootFromParent_Done,
26002 /* 72565 */ // Label 1659: @72565
26003 /* 72565 */ GIM_Try, /*On fail goto*//*Label 1660*/ GIMT_Encode4(72656), // Rule ID 647 //
26004 /* 72570 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26005 /* 72573 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26006 /* 72577 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26007 /* 72581 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
26008 /* 72585 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26009 /* 72589 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26010 /* 72593 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26011 /* 72597 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26012 /* 72601 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26013 /* 72604 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26014 /* 72608 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26015 /* 72612 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
26016 /* 72616 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26017 /* 72620 */ // MIs[3] Operand 1
26018 /* 72620 */ // No operand predicates
26019 /* 72620 */ // MIs[0] src1
26020 /* 72620 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26021 /* 72625 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
26022 /* 72627 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26023 /* 72634 */ // (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)
26024 /* 72634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32mi),
26025 /* 72637 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26026 /* 72641 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
26027 /* 72644 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26028 /* 72647 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
26029 /* 72654 */ GIR_RootConstrainSelectedInstOperands,
26030 /* 72655 */ // GIR_Coverage, 647,
26031 /* 72655 */ GIR_EraseRootFromParent_Done,
26032 /* 72656 */ // Label 1660: @72656
26033 /* 72656 */ GIM_Try, /*On fail goto*//*Label 1661*/ GIMT_Encode4(72754), // Rule ID 22470 //
26034 /* 72661 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26035 /* 72664 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26036 /* 72671 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26037 /* 72675 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26038 /* 72679 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26039 /* 72683 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26040 /* 72687 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26041 /* 72691 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26042 /* 72695 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26043 /* 72698 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26044 /* 72702 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26045 /* 72709 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26046 /* 72713 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26047 /* 72718 */ // MIs[0] dst
26048 /* 72718 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26049 /* 72723 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26050 /* 72725 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26051 /* 72732 */ // (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)
26052 /* 72732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
26053 /* 72735 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26054 /* 72739 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26055 /* 72743 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26056 /* 72746 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26057 /* 72752 */ GIR_RootConstrainSelectedInstOperands,
26058 /* 72753 */ // GIR_Coverage, 22470,
26059 /* 72753 */ GIR_EraseRootFromParent_Done,
26060 /* 72754 */ // Label 1661: @72754
26061 /* 72754 */ GIM_Try, /*On fail goto*//*Label 1662*/ GIMT_Encode4(72852), // Rule ID 26062 //
26062 /* 72759 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26063 /* 72762 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26064 /* 72769 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26065 /* 72773 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26066 /* 72777 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26067 /* 72781 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26068 /* 72785 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26069 /* 72790 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26070 /* 72794 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26071 /* 72798 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26072 /* 72801 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26073 /* 72805 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26074 /* 72812 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26075 /* 72816 */ // MIs[0] dst
26076 /* 72816 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26077 /* 72821 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26078 /* 72823 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26079 /* 72830 */ // (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)
26080 /* 72830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
26081 /* 72833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26082 /* 72837 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26083 /* 72841 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26084 /* 72844 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26085 /* 72850 */ GIR_RootConstrainSelectedInstOperands,
26086 /* 72851 */ // GIR_Coverage, 26062,
26087 /* 72851 */ GIR_EraseRootFromParent_Done,
26088 /* 72852 */ // Label 1662: @72852
26089 /* 72852 */ GIM_Try, /*On fail goto*//*Label 1663*/ GIMT_Encode4(72950), // Rule ID 22478 //
26090 /* 72857 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26091 /* 72860 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26092 /* 72867 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26093 /* 72871 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26094 /* 72875 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26095 /* 72879 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26096 /* 72883 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26097 /* 72887 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26098 /* 72891 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26099 /* 72894 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26100 /* 72898 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26101 /* 72905 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26102 /* 72909 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26103 /* 72914 */ // MIs[0] dst
26104 /* 72914 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26105 /* 72919 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26106 /* 72921 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26107 /* 72928 */ // (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)
26108 /* 72928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
26109 /* 72931 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26110 /* 72935 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26111 /* 72939 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26112 /* 72942 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26113 /* 72948 */ GIR_RootConstrainSelectedInstOperands,
26114 /* 72949 */ // GIR_Coverage, 22478,
26115 /* 72949 */ GIR_EraseRootFromParent_Done,
26116 /* 72950 */ // Label 1663: @72950
26117 /* 72950 */ GIM_Try, /*On fail goto*//*Label 1664*/ GIMT_Encode4(73048), // Rule ID 26066 //
26118 /* 72955 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26119 /* 72958 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26120 /* 72965 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26121 /* 72969 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26122 /* 72973 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26123 /* 72977 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26124 /* 72981 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26125 /* 72986 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26126 /* 72990 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26127 /* 72994 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26128 /* 72997 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26129 /* 73001 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26130 /* 73008 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26131 /* 73012 */ // MIs[0] dst
26132 /* 73012 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26133 /* 73017 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26134 /* 73019 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26135 /* 73026 */ // (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)
26136 /* 73026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
26137 /* 73029 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26138 /* 73033 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26139 /* 73037 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26140 /* 73040 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26141 /* 73046 */ GIR_RootConstrainSelectedInstOperands,
26142 /* 73047 */ // GIR_Coverage, 26066,
26143 /* 73047 */ GIR_EraseRootFromParent_Done,
26144 /* 73048 */ // Label 1664: @73048
26145 /* 73048 */ GIM_Try, /*On fail goto*//*Label 1665*/ GIMT_Encode4(73146), // Rule ID 22486 //
26146 /* 73053 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26147 /* 73056 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26148 /* 73063 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26149 /* 73067 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26150 /* 73071 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26151 /* 73075 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26152 /* 73079 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26153 /* 73083 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26154 /* 73087 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26155 /* 73090 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26156 /* 73094 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26157 /* 73101 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26158 /* 73105 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26159 /* 73110 */ // MIs[0] dst
26160 /* 73110 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26161 /* 73115 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26162 /* 73117 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26163 /* 73124 */ // (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)
26164 /* 73124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
26165 /* 73127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26166 /* 73131 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26167 /* 73135 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26168 /* 73138 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26169 /* 73144 */ GIR_RootConstrainSelectedInstOperands,
26170 /* 73145 */ // GIR_Coverage, 22486,
26171 /* 73145 */ GIR_EraseRootFromParent_Done,
26172 /* 73146 */ // Label 1665: @73146
26173 /* 73146 */ GIM_Try, /*On fail goto*//*Label 1666*/ GIMT_Encode4(73244), // Rule ID 26070 //
26174 /* 73151 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26175 /* 73154 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26176 /* 73161 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26177 /* 73165 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26178 /* 73169 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26179 /* 73173 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26180 /* 73177 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26181 /* 73182 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26182 /* 73186 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26183 /* 73190 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26184 /* 73193 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26185 /* 73197 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26186 /* 73204 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26187 /* 73208 */ // MIs[0] dst
26188 /* 73208 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26189 /* 73213 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26190 /* 73215 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26191 /* 73222 */ // (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)
26192 /* 73222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
26193 /* 73225 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26194 /* 73229 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26195 /* 73233 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26196 /* 73236 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26197 /* 73242 */ GIR_RootConstrainSelectedInstOperands,
26198 /* 73243 */ // GIR_Coverage, 26070,
26199 /* 73243 */ GIR_EraseRootFromParent_Done,
26200 /* 73244 */ // Label 1666: @73244
26201 /* 73244 */ GIM_Try, /*On fail goto*//*Label 1667*/ GIMT_Encode4(73342), // Rule ID 22502 //
26202 /* 73249 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26203 /* 73252 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26204 /* 73259 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26205 /* 73263 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26206 /* 73267 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26207 /* 73271 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26208 /* 73275 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26209 /* 73279 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26210 /* 73283 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26211 /* 73286 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26212 /* 73290 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26213 /* 73297 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26214 /* 73301 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26215 /* 73306 */ // MIs[0] dst
26216 /* 73306 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26217 /* 73311 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26218 /* 73313 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26219 /* 73320 */ // (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)
26220 /* 73320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mr),
26221 /* 73323 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26222 /* 73327 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26223 /* 73331 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26224 /* 73334 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26225 /* 73340 */ GIR_RootConstrainSelectedInstOperands,
26226 /* 73341 */ // GIR_Coverage, 22502,
26227 /* 73341 */ GIR_EraseRootFromParent_Done,
26228 /* 73342 */ // Label 1667: @73342
26229 /* 73342 */ GIM_Try, /*On fail goto*//*Label 1668*/ GIMT_Encode4(73440), // Rule ID 22494 //
26230 /* 73347 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26231 /* 73350 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26232 /* 73357 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26233 /* 73361 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26234 /* 73365 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26235 /* 73369 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26236 /* 73373 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26237 /* 73377 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26238 /* 73381 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26239 /* 73384 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26240 /* 73388 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26241 /* 73395 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26242 /* 73399 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26243 /* 73404 */ // MIs[0] dst
26244 /* 73404 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26245 /* 73409 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26246 /* 73411 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26247 /* 73418 */ // (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)
26248 /* 73418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
26249 /* 73421 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26250 /* 73425 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
26251 /* 73429 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26252 /* 73432 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26253 /* 73438 */ GIR_RootConstrainSelectedInstOperands,
26254 /* 73439 */ // GIR_Coverage, 22494,
26255 /* 73439 */ GIR_EraseRootFromParent_Done,
26256 /* 73440 */ // Label 1668: @73440
26257 /* 73440 */ GIM_Try, /*On fail goto*//*Label 1669*/ GIMT_Encode4(73538), // Rule ID 26074 //
26258 /* 73445 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26259 /* 73448 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26260 /* 73455 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26261 /* 73459 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26262 /* 73463 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26263 /* 73467 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26264 /* 73471 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26265 /* 73476 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26266 /* 73480 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26267 /* 73484 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26268 /* 73487 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26269 /* 73491 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26270 /* 73498 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26271 /* 73502 */ // MIs[0] dst
26272 /* 73502 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26273 /* 73507 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26274 /* 73509 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26275 /* 73516 */ // (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)
26276 /* 73516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
26277 /* 73519 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26278 /* 73523 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26279 /* 73527 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26280 /* 73530 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26281 /* 73536 */ GIR_RootConstrainSelectedInstOperands,
26282 /* 73537 */ // GIR_Coverage, 26074,
26283 /* 73537 */ GIR_EraseRootFromParent_Done,
26284 /* 73538 */ // Label 1669: @73538
26285 /* 73538 */ GIM_Try, /*On fail goto*//*Label 1670*/ GIMT_Encode4(73649), // Rule ID 813 //
26286 /* 73543 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26287 /* 73546 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26288 /* 73550 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26289 /* 73554 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
26290 /* 73558 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26291 /* 73562 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26292 /* 73566 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
26293 /* 73570 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26294 /* 73574 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26295 /* 73578 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26296 /* 73581 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26297 /* 73585 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26298 /* 73589 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26299 /* 73594 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26300 /* 73599 */ // MIs[0] src1
26301 /* 73599 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26302 /* 73604 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26303 /* 73606 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26304 /* 73613 */ // (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)
26305 /* 73613 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26306 /* 73617 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
26307 /* 73623 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
26308 /* 73627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32mrCL),
26309 /* 73630 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26310 /* 73634 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26311 /* 73638 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26312 /* 73641 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26313 /* 73647 */ GIR_RootConstrainSelectedInstOperands,
26314 /* 73648 */ // GIR_Coverage, 813,
26315 /* 73648 */ GIR_EraseRootFromParent_Done,
26316 /* 73649 */ // Label 1670: @73649
26317 /* 73649 */ GIM_Try, /*On fail goto*//*Label 1671*/ GIMT_Encode4(73760), // Rule ID 837 //
26318 /* 73654 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26319 /* 73657 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26320 /* 73661 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26321 /* 73665 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
26322 /* 73669 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26323 /* 73673 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26324 /* 73677 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
26325 /* 73681 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26326 /* 73686 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26327 /* 73690 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26328 /* 73694 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26329 /* 73697 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26330 /* 73701 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26331 /* 73705 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26332 /* 73710 */ // MIs[0] src1
26333 /* 73710 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26334 /* 73715 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26335 /* 73717 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26336 /* 73724 */ // (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)
26337 /* 73724 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26338 /* 73728 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
26339 /* 73734 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
26340 /* 73738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32mrCL),
26341 /* 73741 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26342 /* 73745 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26343 /* 73749 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26344 /* 73752 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26345 /* 73758 */ GIR_RootConstrainSelectedInstOperands,
26346 /* 73759 */ // GIR_Coverage, 837,
26347 /* 73759 */ GIR_EraseRootFromParent_Done,
26348 /* 73760 */ // Label 1671: @73760
26349 /* 73760 */ GIM_Try, /*On fail goto*//*Label 1672*/ GIMT_Encode4(73848), // Rule ID 409 //
26350 /* 73765 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26351 /* 73768 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26352 /* 73772 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26353 /* 73776 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26354 /* 73780 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26355 /* 73784 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26356 /* 73788 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26357 /* 73792 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26358 /* 73796 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26359 /* 73799 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26360 /* 73803 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26361 /* 73807 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26362 /* 73812 */ // MIs[0] src1
26363 /* 73812 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26364 /* 73817 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26365 /* 73819 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26366 /* 73826 */ // (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)
26367 /* 73826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
26368 /* 73829 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26369 /* 73833 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26370 /* 73837 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26371 /* 73840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26372 /* 73846 */ GIR_RootConstrainSelectedInstOperands,
26373 /* 73847 */ // GIR_Coverage, 409,
26374 /* 73847 */ GIR_EraseRootFromParent_Done,
26375 /* 73848 */ // Label 1672: @73848
26376 /* 73848 */ GIM_Try, /*On fail goto*//*Label 1673*/ GIMT_Encode4(73936), // Rule ID 23282 //
26377 /* 73853 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26378 /* 73856 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26379 /* 73860 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26380 /* 73864 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26381 /* 73868 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26382 /* 73872 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26383 /* 73876 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26384 /* 73881 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26385 /* 73885 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26386 /* 73889 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26387 /* 73892 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26388 /* 73896 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26389 /* 73900 */ // MIs[0] src1
26390 /* 73900 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26391 /* 73905 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26392 /* 73907 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26393 /* 73914 */ // (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)
26394 /* 73914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32mr),
26395 /* 73917 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26396 /* 73921 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26397 /* 73925 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26398 /* 73928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26399 /* 73934 */ GIR_RootConstrainSelectedInstOperands,
26400 /* 73935 */ // GIR_Coverage, 23282,
26401 /* 73935 */ GIR_EraseRootFromParent_Done,
26402 /* 73936 */ // Label 1673: @73936
26403 /* 73936 */ GIM_Try, /*On fail goto*//*Label 1674*/ GIMT_Encode4(74024), // Rule ID 301 //
26404 /* 73941 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26405 /* 73944 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26406 /* 73948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26407 /* 73952 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26408 /* 73956 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26409 /* 73960 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26410 /* 73964 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26411 /* 73968 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26412 /* 73972 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26413 /* 73975 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26414 /* 73979 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26415 /* 73983 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26416 /* 73988 */ // MIs[0] src1
26417 /* 73988 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26418 /* 73993 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26419 /* 73995 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26420 /* 74002 */ // (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)
26421 /* 74002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
26422 /* 74005 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26423 /* 74009 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26424 /* 74013 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26425 /* 74016 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26426 /* 74022 */ GIR_RootConstrainSelectedInstOperands,
26427 /* 74023 */ // GIR_Coverage, 301,
26428 /* 74023 */ GIR_EraseRootFromParent_Done,
26429 /* 74024 */ // Label 1674: @74024
26430 /* 74024 */ GIM_Try, /*On fail goto*//*Label 1675*/ GIMT_Encode4(74112), // Rule ID 23246 //
26431 /* 74029 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26432 /* 74032 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26433 /* 74036 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26434 /* 74040 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
26435 /* 74044 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26436 /* 74048 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26437 /* 74052 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26438 /* 74057 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26439 /* 74061 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26440 /* 74065 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26441 /* 74068 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26442 /* 74072 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26443 /* 74076 */ // MIs[0] src1
26444 /* 74076 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26445 /* 74081 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26446 /* 74083 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26447 /* 74090 */ // (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)
26448 /* 74090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND32mr),
26449 /* 74093 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26450 /* 74097 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26451 /* 74101 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26452 /* 74104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26453 /* 74110 */ GIR_RootConstrainSelectedInstOperands,
26454 /* 74111 */ // GIR_Coverage, 23246,
26455 /* 74111 */ GIR_EraseRootFromParent_Done,
26456 /* 74112 */ // Label 1675: @74112
26457 /* 74112 */ GIM_Try, /*On fail goto*//*Label 1676*/ GIMT_Encode4(74210), // Rule ID 727 //
26458 /* 74117 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26459 /* 74120 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26460 /* 74124 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26461 /* 74128 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
26462 /* 74132 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26463 /* 74136 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26464 /* 74140 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26465 /* 74144 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26466 /* 74148 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26467 /* 74151 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26468 /* 74155 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26469 /* 74159 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26470 /* 74164 */ // MIs[0] src1
26471 /* 74164 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26472 /* 74169 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26473 /* 74171 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26474 /* 74178 */ // (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)
26475 /* 74178 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26476 /* 74182 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
26477 /* 74188 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
26478 /* 74192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32mCL),
26479 /* 74195 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26480 /* 74199 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26481 /* 74202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26482 /* 74208 */ GIR_RootConstrainSelectedInstOperands,
26483 /* 74209 */ // GIR_Coverage, 727,
26484 /* 74209 */ GIR_EraseRootFromParent_Done,
26485 /* 74210 */ // Label 1676: @74210
26486 /* 74210 */ GIM_Try, /*On fail goto*//*Label 1677*/ GIMT_Encode4(74308), // Rule ID 695 //
26487 /* 74215 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26488 /* 74218 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26489 /* 74222 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26490 /* 74226 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
26491 /* 74230 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26492 /* 74234 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26493 /* 74238 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26494 /* 74242 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26495 /* 74246 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26496 /* 74249 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26497 /* 74253 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26498 /* 74257 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26499 /* 74262 */ // MIs[0] src1
26500 /* 74262 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26501 /* 74267 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26502 /* 74269 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26503 /* 74276 */ // (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)
26504 /* 74276 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26505 /* 74280 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
26506 /* 74286 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
26507 /* 74290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32mCL),
26508 /* 74293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26509 /* 74297 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26510 /* 74300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26511 /* 74306 */ GIR_RootConstrainSelectedInstOperands,
26512 /* 74307 */ // GIR_Coverage, 695,
26513 /* 74307 */ GIR_EraseRootFromParent_Done,
26514 /* 74308 */ // Label 1677: @74308
26515 /* 74308 */ GIM_Try, /*On fail goto*//*Label 1678*/ GIMT_Encode4(74396), // Rule ID 337 //
26516 /* 74313 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26517 /* 74316 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26518 /* 74320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26519 /* 74324 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26520 /* 74328 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26521 /* 74332 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26522 /* 74336 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26523 /* 74340 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26524 /* 74344 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26525 /* 74347 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26526 /* 74351 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26527 /* 74355 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26528 /* 74360 */ // MIs[0] src1
26529 /* 74360 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26530 /* 74365 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26531 /* 74367 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26532 /* 74374 */ // (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)
26533 /* 74374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
26534 /* 74377 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26535 /* 74381 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26536 /* 74385 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26537 /* 74388 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26538 /* 74394 */ GIR_RootConstrainSelectedInstOperands,
26539 /* 74395 */ // GIR_Coverage, 337,
26540 /* 74395 */ GIR_EraseRootFromParent_Done,
26541 /* 74396 */ // Label 1678: @74396
26542 /* 74396 */ GIM_Try, /*On fail goto*//*Label 1679*/ GIMT_Encode4(74484), // Rule ID 23258 //
26543 /* 74401 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26544 /* 74404 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26545 /* 74408 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26546 /* 74412 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
26547 /* 74416 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26548 /* 74420 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26549 /* 74424 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26550 /* 74429 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26551 /* 74433 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26552 /* 74437 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26553 /* 74440 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26554 /* 74444 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26555 /* 74448 */ // MIs[0] src1
26556 /* 74448 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26557 /* 74453 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26558 /* 74455 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26559 /* 74462 */ // (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)
26560 /* 74462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR32mr),
26561 /* 74465 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26562 /* 74469 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26563 /* 74473 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26564 /* 74476 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26565 /* 74482 */ GIR_RootConstrainSelectedInstOperands,
26566 /* 74483 */ // GIR_Coverage, 23258,
26567 /* 74483 */ GIR_EraseRootFromParent_Done,
26568 /* 74484 */ // Label 1679: @74484
26569 /* 74484 */ GIM_Try, /*On fail goto*//*Label 1680*/ GIMT_Encode4(74582), // Rule ID 759 //
26570 /* 74489 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26571 /* 74492 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26572 /* 74496 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26573 /* 74500 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
26574 /* 74504 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26575 /* 74508 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26576 /* 74512 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26577 /* 74516 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26578 /* 74520 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26579 /* 74523 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26580 /* 74527 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26581 /* 74531 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26582 /* 74536 */ // MIs[0] src1
26583 /* 74536 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26584 /* 74541 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26585 /* 74543 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26586 /* 74550 */ // (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)
26587 /* 74550 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26588 /* 74554 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
26589 /* 74560 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
26590 /* 74564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32mCL),
26591 /* 74567 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26592 /* 74571 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26593 /* 74574 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26594 /* 74580 */ GIR_RootConstrainSelectedInstOperands,
26595 /* 74581 */ // GIR_Coverage, 759,
26596 /* 74581 */ GIR_EraseRootFromParent_Done,
26597 /* 74582 */ // Label 1680: @74582
26598 /* 74582 */ GIM_Try, /*On fail goto*//*Label 1681*/ GIMT_Encode4(74680), // Rule ID 791 //
26599 /* 74587 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26600 /* 74590 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26601 /* 74594 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26602 /* 74598 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
26603 /* 74602 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26604 /* 74606 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26605 /* 74610 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26606 /* 74614 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26607 /* 74618 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26608 /* 74621 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26609 /* 74625 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26610 /* 74629 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26611 /* 74634 */ // MIs[0] src1
26612 /* 74634 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26613 /* 74639 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26614 /* 74641 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26615 /* 74648 */ // (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)
26616 /* 74648 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26617 /* 74652 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
26618 /* 74658 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
26619 /* 74662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32mCL),
26620 /* 74665 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26621 /* 74669 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26622 /* 74672 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26623 /* 74678 */ GIR_RootConstrainSelectedInstOperands,
26624 /* 74679 */ // GIR_Coverage, 791,
26625 /* 74679 */ GIR_EraseRootFromParent_Done,
26626 /* 74680 */ // Label 1681: @74680
26627 /* 74680 */ GIM_Try, /*On fail goto*//*Label 1682*/ GIMT_Encode4(74778), // Rule ID 663 //
26628 /* 74685 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26629 /* 74688 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26630 /* 74692 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26631 /* 74696 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
26632 /* 74700 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26633 /* 74704 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
26634 /* 74708 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26635 /* 74712 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26636 /* 74716 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26637 /* 74719 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26638 /* 74723 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
26639 /* 74727 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
26640 /* 74732 */ // MIs[0] src1
26641 /* 74732 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26642 /* 74737 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26643 /* 74739 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26644 /* 74746 */ // (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)
26645 /* 74746 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
26646 /* 74750 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
26647 /* 74756 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
26648 /* 74760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32mCL),
26649 /* 74763 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26650 /* 74767 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26651 /* 74770 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26652 /* 74776 */ GIR_RootConstrainSelectedInstOperands,
26653 /* 74777 */ // GIR_Coverage, 663,
26654 /* 74777 */ GIR_EraseRootFromParent_Done,
26655 /* 74778 */ // Label 1682: @74778
26656 /* 74778 */ GIM_Try, /*On fail goto*//*Label 1683*/ GIMT_Encode4(74866), // Rule ID 445 //
26657 /* 74783 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26658 /* 74786 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26659 /* 74790 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26660 /* 74794 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
26661 /* 74798 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26662 /* 74802 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26663 /* 74806 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26664 /* 74810 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26665 /* 74814 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26666 /* 74817 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26667 /* 74821 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26668 /* 74825 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26669 /* 74830 */ // MIs[0] src1
26670 /* 74830 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26671 /* 74835 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26672 /* 74837 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26673 /* 74844 */ // (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)
26674 /* 74844 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB32mr),
26675 /* 74847 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26676 /* 74851 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26677 /* 74855 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26678 /* 74858 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26679 /* 74864 */ GIR_RootConstrainSelectedInstOperands,
26680 /* 74865 */ // GIR_Coverage, 445,
26681 /* 74865 */ GIR_EraseRootFromParent_Done,
26682 /* 74866 */ // Label 1683: @74866
26683 /* 74866 */ GIM_Try, /*On fail goto*//*Label 1684*/ GIMT_Encode4(74954), // Rule ID 373 //
26684 /* 74871 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26685 /* 74874 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26686 /* 74878 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26687 /* 74882 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26688 /* 74886 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26689 /* 74890 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26690 /* 74894 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26691 /* 74898 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26692 /* 74902 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26693 /* 74905 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26694 /* 74909 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26695 /* 74913 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26696 /* 74918 */ // MIs[0] src1
26697 /* 74918 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26698 /* 74923 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26699 /* 74925 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26700 /* 74932 */ // (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)
26701 /* 74932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
26702 /* 74935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26703 /* 74939 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
26704 /* 74943 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26705 /* 74946 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26706 /* 74952 */ GIR_RootConstrainSelectedInstOperands,
26707 /* 74953 */ // GIR_Coverage, 373,
26708 /* 74953 */ GIR_EraseRootFromParent_Done,
26709 /* 74954 */ // Label 1684: @74954
26710 /* 74954 */ GIM_Try, /*On fail goto*//*Label 1685*/ GIMT_Encode4(75042), // Rule ID 23270 //
26711 /* 74959 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26712 /* 74962 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26713 /* 74966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26714 /* 74970 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
26715 /* 74974 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26716 /* 74978 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s32,
26717 /* 74982 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26718 /* 74987 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
26719 /* 74991 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26720 /* 74995 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26721 /* 74998 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26722 /* 75002 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26723 /* 75006 */ // MIs[0] src1
26724 /* 75006 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26725 /* 75011 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26726 /* 75013 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26727 /* 75020 */ // (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)
26728 /* 75020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR32mr),
26729 /* 75023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
26730 /* 75027 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
26731 /* 75031 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26732 /* 75034 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26733 /* 75040 */ GIR_RootConstrainSelectedInstOperands,
26734 /* 75041 */ // GIR_Coverage, 23270,
26735 /* 75041 */ GIR_EraseRootFromParent_Done,
26736 /* 75042 */ // Label 1685: @75042
26737 /* 75042 */ GIM_Try, /*On fail goto*//*Label 1686*/ GIMT_Encode4(75096), // Rule ID 26 //
26738 /* 75047 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26739 /* 75050 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26740 /* 75054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26741 /* 75058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26742 /* 75062 */ // MIs[1] Operand 1
26743 /* 75062 */ // No operand predicates
26744 /* 75062 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_imm_su),
26745 /* 75066 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26746 /* 75070 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26747 /* 75072 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26748 /* 75079 */ // (st (imm:{ *:[i32] })<<P:Predicate_imm_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV32mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
26749 /* 75079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mi),
26750 /* 75082 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26751 /* 75086 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
26752 /* 75089 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26753 /* 75094 */ GIR_RootConstrainSelectedInstOperands,
26754 /* 75095 */ // GIR_Coverage, 26,
26755 /* 75095 */ GIR_EraseRootFromParent_Done,
26756 /* 75096 */ // Label 1686: @75096
26757 /* 75096 */ GIM_Try, /*On fail goto*//*Label 1687*/ GIMT_Encode4(75162), // Rule ID 22562 //
26758 /* 75101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
26759 /* 75104 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26760 /* 75107 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26761 /* 75114 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26762 /* 75118 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
26763 /* 75122 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26764 /* 75126 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
26765 /* 75131 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26766 /* 75135 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26767 /* 75137 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26768 /* 75144 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26769 /* 75144 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSmr),
26770 /* 75147 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26771 /* 75151 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26772 /* 75155 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26773 /* 75160 */ GIR_RootConstrainSelectedInstOperands,
26774 /* 75161 */ // GIR_Coverage, 22562,
26775 /* 75161 */ GIR_EraseRootFromParent_Done,
26776 /* 75162 */ // Label 1687: @75162
26777 /* 75162 */ GIM_Try, /*On fail goto*//*Label 1688*/ GIMT_Encode4(75228), // Rule ID 22563 //
26778 /* 75167 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
26779 /* 75170 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26780 /* 75173 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26781 /* 75180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26782 /* 75184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
26783 /* 75188 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26784 /* 75192 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
26785 /* 75197 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26786 /* 75201 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26787 /* 75203 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26788 /* 75210 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (VMOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26789 /* 75210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSmr),
26790 /* 75213 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26791 /* 75217 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26792 /* 75221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26793 /* 75226 */ GIR_RootConstrainSelectedInstOperands,
26794 /* 75227 */ // GIR_Coverage, 22563,
26795 /* 75227 */ GIR_EraseRootFromParent_Done,
26796 /* 75228 */ // Label 1688: @75228
26797 /* 75228 */ GIM_Try, /*On fail goto*//*Label 1689*/ GIMT_Encode4(75294), // Rule ID 22564 //
26798 /* 75233 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
26799 /* 75236 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26800 /* 75239 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26801 /* 75246 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26802 /* 75250 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
26803 /* 75254 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26804 /* 75258 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
26805 /* 75263 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26806 /* 75267 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26807 /* 75269 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26808 /* 75276 */ // (atomic_store (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (VMOVSSZmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26809 /* 75276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZmr),
26810 /* 75279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26811 /* 75283 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
26812 /* 75287 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26813 /* 75292 */ GIR_RootConstrainSelectedInstOperands,
26814 /* 75293 */ // GIR_Coverage, 22564,
26815 /* 75293 */ GIR_EraseRootFromParent_Done,
26816 /* 75294 */ // Label 1689: @75294
26817 /* 75294 */ GIM_Try, /*On fail goto*//*Label 1690*/ GIMT_Encode4(75347), // Rule ID 22546 //
26818 /* 75299 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26819 /* 75302 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26820 /* 75309 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26821 /* 75313 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
26822 /* 75317 */ // MIs[1] Operand 1
26823 /* 75317 */ // No operand predicates
26824 /* 75317 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26825 /* 75321 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26826 /* 75323 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26827 /* 75330 */ // (atomic_store (imm:{ *:[i32] }):$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOV32mi addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
26828 /* 75330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mi),
26829 /* 75333 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26830 /* 75337 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
26831 /* 75340 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26832 /* 75345 */ GIR_RootConstrainSelectedInstOperands,
26833 /* 75346 */ // GIR_Coverage, 22546,
26834 /* 75346 */ GIR_EraseRootFromParent_Done,
26835 /* 75347 */ // Label 1690: @75347
26836 /* 75347 */ GIM_Try, /*On fail goto*//*Label 1691*/ GIMT_Encode4(75410), // Rule ID 52 //
26837 /* 75352 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
26838 /* 75355 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26839 /* 75358 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26840 /* 75362 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26841 /* 75366 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
26842 /* 75370 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26843 /* 75374 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26844 /* 75379 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26845 /* 75383 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26846 /* 75385 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26847 /* 75392 */ // (st (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src1)
26848 /* 75392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32mr),
26849 /* 75395 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26850 /* 75399 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
26851 /* 75403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26852 /* 75408 */ GIR_RootConstrainSelectedInstOperands,
26853 /* 75409 */ // GIR_Coverage, 52,
26854 /* 75409 */ GIR_EraseRootFromParent_Done,
26855 /* 75410 */ // Label 1691: @75410
26856 /* 75410 */ GIM_Try, /*On fail goto*//*Label 1692*/ GIMT_Encode4(75473), // Rule ID 58 //
26857 /* 75415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
26858 /* 75418 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26859 /* 75421 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26860 /* 75425 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26861 /* 75429 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
26862 /* 75433 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
26863 /* 75437 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26864 /* 75442 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26865 /* 75446 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
26866 /* 75448 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26867 /* 75455 */ // (st (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE32mr_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src1)
26868 /* 75455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32mr_EVEX),
26869 /* 75458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26870 /* 75462 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
26871 /* 75466 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
26872 /* 75471 */ GIR_RootConstrainSelectedInstOperands,
26873 /* 75472 */ // GIR_Coverage, 58,
26874 /* 75472 */ GIR_EraseRootFromParent_Done,
26875 /* 75473 */ // Label 1692: @75473
26876 /* 75473 */ GIM_Try, /*On fail goto*//*Label 1693*/ GIMT_Encode4(75518), // Rule ID 22550 //
26877 /* 75478 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26878 /* 75481 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
26879 /* 75488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26880 /* 75492 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26881 /* 75496 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26882 /* 75503 */ // (atomic_store GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_32>> => (MOV32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
26883 /* 75503 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mr),
26884 /* 75506 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26885 /* 75510 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26886 /* 75512 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26887 /* 75516 */ GIR_RootConstrainSelectedInstOperands,
26888 /* 75517 */ // GIR_Coverage, 22550,
26889 /* 75517 */ GIR_EraseRootFromParent_Done,
26890 /* 75518 */ // Label 1693: @75518
26891 /* 75518 */ GIM_Try, /*On fail goto*//*Label 1694*/ GIMT_Encode4(75560), // Rule ID 34 //
26892 /* 75523 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26893 /* 75526 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26894 /* 75530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
26895 /* 75534 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26896 /* 75538 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26897 /* 75545 */ // (st GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
26898 /* 75545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32mr),
26899 /* 75548 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26900 /* 75552 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26901 /* 75554 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26902 /* 75558 */ GIR_RootConstrainSelectedInstOperands,
26903 /* 75559 */ // GIR_Coverage, 34,
26904 /* 75559 */ GIR_EraseRootFromParent_Done,
26905 /* 75560 */ // Label 1694: @75560
26906 /* 75560 */ GIM_Try, /*On fail goto*//*Label 1695*/ GIMT_Encode4(75608), // Rule ID 1071 //
26907 /* 75565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
26908 /* 75568 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26909 /* 75571 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26910 /* 75575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
26911 /* 75579 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26912 /* 75583 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26913 /* 75590 */ // (st RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_Fp32m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
26914 /* 75590 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp32m),
26915 /* 75593 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
26916 /* 75597 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26917 /* 75599 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
26918 /* 75602 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26919 /* 75606 */ GIR_RootConstrainSelectedInstOperands,
26920 /* 75607 */ // GIR_Coverage, 1071,
26921 /* 75607 */ GIR_EraseRootFromParent_Done,
26922 /* 75608 */ // Label 1695: @75608
26923 /* 75608 */ GIM_Try, /*On fail goto*//*Label 1696*/ GIMT_Encode4(75653), // Rule ID 1664 //
26924 /* 75613 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
26925 /* 75616 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26926 /* 75619 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26927 /* 75623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
26928 /* 75627 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26929 /* 75631 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26930 /* 75638 */ // (st FR32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26931 /* 75638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSmr),
26932 /* 75641 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26933 /* 75645 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26934 /* 75647 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26935 /* 75651 */ GIR_RootConstrainSelectedInstOperands,
26936 /* 75652 */ // GIR_Coverage, 1664,
26937 /* 75652 */ GIR_EraseRootFromParent_Done,
26938 /* 75653 */ // Label 1696: @75653
26939 /* 75653 */ GIM_Try, /*On fail goto*//*Label 1697*/ GIMT_Encode4(75698), // Rule ID 1666 //
26940 /* 75658 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
26941 /* 75661 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26942 /* 75664 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26943 /* 75668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
26944 /* 75672 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26945 /* 75676 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26946 /* 75683 */ // (st FR32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
26947 /* 75683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSSmr),
26948 /* 75686 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26949 /* 75690 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26950 /* 75692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26951 /* 75696 */ GIR_RootConstrainSelectedInstOperands,
26952 /* 75697 */ // GIR_Coverage, 1666,
26953 /* 75697 */ GIR_EraseRootFromParent_Done,
26954 /* 75698 */ // Label 1697: @75698
26955 /* 75698 */ GIM_Try, /*On fail goto*//*Label 1698*/ GIMT_Encode4(75743), // Rule ID 4590 //
26956 /* 75703 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
26957 /* 75706 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
26958 /* 75709 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
26959 /* 75713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
26960 /* 75717 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
26961 /* 75721 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26962 /* 75728 */ // (st FR32X:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSSZmr addr:{ *:[iPTR] }:$dst, FR32X:{ *:[f32] }:$src)
26963 /* 75728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSSZmr),
26964 /* 75731 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26965 /* 75735 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
26966 /* 75737 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
26967 /* 75741 */ GIR_RootConstrainSelectedInstOperands,
26968 /* 75742 */ // GIR_Coverage, 4590,
26969 /* 75742 */ GIR_EraseRootFromParent_Done,
26970 /* 75743 */ // Label 1698: @75743
26971 /* 75743 */ GIM_Reject,
26972 /* 75744 */ // Label 1501: @75744
26973 /* 75744 */ GIM_Try, /*On fail goto*//*Label 1699*/ GIMT_Encode4(75840), // Rule ID 22531 //
26974 /* 75749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
26975 /* 75752 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26976 /* 75755 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26977 /* 75762 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
26978 /* 75766 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
26979 /* 75770 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
26980 /* 75774 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
26981 /* 75778 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
26982 /* 75782 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
26983 /* 75786 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
26984 /* 75789 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
26985 /* 75793 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
26986 /* 75800 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
26987 /* 75804 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
26988 /* 75808 */ // MIs[0] dst
26989 /* 75808 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
26990 /* 75813 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
26991 /* 75815 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
26992 /* 75822 */ // (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)
26993 /* 75822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64m),
26994 /* 75825 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
26995 /* 75829 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
26996 /* 75832 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
26997 /* 75838 */ GIR_RootConstrainSelectedInstOperands,
26998 /* 75839 */ // GIR_Coverage, 22531,
26999 /* 75839 */ GIR_EraseRootFromParent_Done,
27000 /* 75840 */ // Label 1699: @75840
27001 /* 75840 */ GIM_Try, /*On fail goto*//*Label 1700*/ GIMT_Encode4(75936), // Rule ID 22535 //
27002 /* 75845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseIncDec),
27003 /* 75848 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27004 /* 75851 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27005 /* 75858 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27006 /* 75862 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27007 /* 75866 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27008 /* 75870 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27009 /* 75874 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27010 /* 75878 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27011 /* 75882 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27012 /* 75885 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27013 /* 75889 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27014 /* 75896 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27015 /* 75900 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
27016 /* 75904 */ // MIs[0] dst
27017 /* 75904 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27018 /* 75909 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27019 /* 75911 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27020 /* 75918 */ // (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)
27021 /* 75918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64m),
27022 /* 75921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27023 /* 75925 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27024 /* 75928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27025 /* 75934 */ GIR_RootConstrainSelectedInstOperands,
27026 /* 75935 */ // GIR_Coverage, 22535,
27027 /* 75935 */ GIR_EraseRootFromParent_Done,
27028 /* 75936 */ // Label 1700: @75936
27029 /* 75936 */ GIM_Try, /*On fail goto*//*Label 1701*/ GIMT_Encode4(76029), // Rule ID 22539 //
27030 /* 75941 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27031 /* 75944 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27032 /* 75951 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27033 /* 75955 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
27034 /* 75959 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27035 /* 75963 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27036 /* 75967 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
27037 /* 75971 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27038 /* 75975 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27039 /* 75979 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27040 /* 75982 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27041 /* 75986 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27042 /* 75993 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27043 /* 75997 */ // MIs[0] dst
27044 /* 75997 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27045 /* 76002 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27046 /* 76004 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27047 /* 76011 */ // (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)
27048 /* 76011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64m),
27049 /* 76014 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27050 /* 76018 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27051 /* 76021 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27052 /* 76027 */ GIR_RootConstrainSelectedInstOperands,
27053 /* 76028 */ // GIR_Coverage, 22539,
27054 /* 76028 */ GIR_EraseRootFromParent_Done,
27055 /* 76029 */ // Label 1701: @76029
27056 /* 76029 */ GIM_Try, /*On fail goto*//*Label 1702*/ GIMT_Encode4(76119), // Rule ID 22543 //
27057 /* 76034 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27058 /* 76037 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27059 /* 76044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27060 /* 76048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27061 /* 76052 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27062 /* 76056 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27063 /* 76060 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27064 /* 76064 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27065 /* 76068 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27066 /* 76071 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27067 /* 76075 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27068 /* 76082 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27069 /* 76086 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
27070 /* 76090 */ // MIs[0] dst
27071 /* 76090 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27072 /* 76095 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27073 /* 76097 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27074 /* 76104 */ // (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)
27075 /* 76104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64m),
27076 /* 76107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27077 /* 76111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27078 /* 76117 */ GIR_RootConstrainSelectedInstOperands,
27079 /* 76118 */ // GIR_Coverage, 22543,
27080 /* 76118 */ GIR_EraseRootFromParent_Done,
27081 /* 76119 */ // Label 1702: @76119
27082 /* 76119 */ GIM_Try, /*On fail goto*//*Label 1703*/ GIMT_Encode4(76205), // Rule ID 229 //
27083 /* 76124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode_UseIncDec),
27084 /* 76127 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27085 /* 76130 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27086 /* 76134 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27087 /* 76138 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27088 /* 76142 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27089 /* 76146 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27090 /* 76150 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27091 /* 76154 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27092 /* 76158 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27093 /* 76161 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27094 /* 76165 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27095 /* 76169 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 1,
27096 /* 76173 */ // MIs[0] src1
27097 /* 76173 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27098 /* 76178 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27099 /* 76180 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27100 /* 76187 */ // (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)
27101 /* 76187 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INC64m),
27102 /* 76190 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27103 /* 76194 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27104 /* 76197 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27105 /* 76203 */ GIR_RootConstrainSelectedInstOperands,
27106 /* 76204 */ // GIR_Coverage, 229,
27107 /* 76204 */ GIR_EraseRootFromParent_Done,
27108 /* 76205 */ // Label 1703: @76205
27109 /* 76205 */ GIM_Try, /*On fail goto*//*Label 1704*/ GIMT_Encode4(76291), // Rule ID 230 //
27110 /* 76210 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode_UseIncDec),
27111 /* 76213 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27112 /* 76216 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27113 /* 76220 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27114 /* 76224 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27115 /* 76228 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27116 /* 76232 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27117 /* 76236 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27118 /* 76240 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27119 /* 76244 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27120 /* 76247 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27121 /* 76251 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27122 /* 76255 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
27123 /* 76259 */ // MIs[0] src1
27124 /* 76259 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27125 /* 76264 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27126 /* 76266 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27127 /* 76273 */ // (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)
27128 /* 76273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DEC64m),
27129 /* 76276 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27130 /* 76280 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27131 /* 76283 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27132 /* 76289 */ GIR_RootConstrainSelectedInstOperands,
27133 /* 76290 */ // GIR_Coverage, 230,
27134 /* 76290 */ GIR_EraseRootFromParent_Done,
27135 /* 76291 */ // Label 1704: @76291
27136 /* 76291 */ GIM_Try, /*On fail goto*//*Label 1705*/ GIMT_Encode4(76384), // Rule ID 22674 //
27137 /* 76296 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27138 /* 76299 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27139 /* 76303 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27140 /* 76307 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27141 /* 76311 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27142 /* 76315 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27143 /* 76319 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27144 /* 76323 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27145 /* 76327 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27146 /* 76330 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27147 /* 76334 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27148 /* 76338 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(128),
27149 /* 76349 */ // MIs[0] dst
27150 /* 76349 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27151 /* 76354 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27152 /* 76356 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27153 /* 76363 */ // (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] })
27154 /* 76363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
27155 /* 76366 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27156 /* 76370 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/128,
27157 /* 76373 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27158 /* 76376 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27159 /* 76382 */ GIR_RootConstrainSelectedInstOperands,
27160 /* 76383 */ // GIR_Coverage, 22674,
27161 /* 76383 */ GIR_EraseRootFromParent_Done,
27162 /* 76384 */ // Label 1705: @76384
27163 /* 76384 */ GIM_Try, /*On fail goto*//*Label 1706*/ GIMT_Encode4(76484), // Rule ID 22682 //
27164 /* 76389 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27165 /* 76392 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27166 /* 76396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27167 /* 76400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27168 /* 76404 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27169 /* 76408 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27170 /* 76412 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27171 /* 76416 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27172 /* 76420 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27173 /* 76423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27174 /* 76427 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27175 /* 76431 */ GIM_CheckConstantInt, /*MI*/1, /*Op*/2, GIMT_Encode8(2147483648),
27176 /* 76442 */ // MIs[0] dst
27177 /* 76442 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27178 /* 76447 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27179 /* 76449 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27180 /* 76456 */ // (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] })
27181 /* 76456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
27182 /* 76459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27183 /* 76463 */ GIR_AddImm, /*InsnID*/0, /*Imm*/GIMT_Encode8(18446744071562067968u),
27184 /* 76473 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27185 /* 76476 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27186 /* 76482 */ GIR_RootConstrainSelectedInstOperands,
27187 /* 76483 */ // GIR_Coverage, 22682,
27188 /* 76483 */ GIR_EraseRootFromParent_Done,
27189 /* 76484 */ // Label 1706: @76484
27190 /* 76484 */ GIM_Try, /*On fail goto*//*Label 1707*/ GIMT_Encode4(76570), // Rule ID 17581 //
27191 /* 76489 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27192 /* 76492 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27193 /* 76495 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27194 /* 76499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27195 /* 76503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
27196 /* 76507 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27197 /* 76511 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27198 /* 76515 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27199 /* 76519 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27200 /* 76523 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27201 /* 76526 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27202 /* 76530 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27203 /* 76534 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 63,
27204 /* 76538 */ // MIs[0] dst
27205 /* 76538 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27206 /* 76543 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27207 /* 76545 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27208 /* 76552 */ // (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)
27209 /* 76552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64m1),
27210 /* 76555 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27211 /* 76559 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27212 /* 76562 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27213 /* 76568 */ GIR_RootConstrainSelectedInstOperands,
27214 /* 76569 */ // GIR_Coverage, 17581,
27215 /* 76569 */ GIR_EraseRootFromParent_Done,
27216 /* 76570 */ // Label 1707: @76570
27217 /* 76570 */ GIM_Try, /*On fail goto*//*Label 1708*/ GIMT_Encode4(76656), // Rule ID 17585 //
27218 /* 76575 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27219 /* 76578 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27220 /* 76581 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27221 /* 76585 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27222 /* 76589 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
27223 /* 76593 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27224 /* 76597 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27225 /* 76601 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27226 /* 76605 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27227 /* 76609 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27228 /* 76612 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27229 /* 76616 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27230 /* 76620 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 63,
27231 /* 76624 */ // MIs[0] dst
27232 /* 76624 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27233 /* 76629 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27234 /* 76631 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27235 /* 76638 */ // (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)
27236 /* 76638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64m1),
27237 /* 76641 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27238 /* 76645 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27239 /* 76648 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27240 /* 76654 */ GIR_RootConstrainSelectedInstOperands,
27241 /* 76655 */ // GIR_Coverage, 17585,
27242 /* 76655 */ GIR_EraseRootFromParent_Done,
27243 /* 76656 */ // Label 1708: @76656
27244 /* 76656 */ GIM_Try, /*On fail goto*//*Label 1709*/ GIMT_Encode4(76742), // Rule ID 262 //
27245 /* 76661 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27246 /* 76664 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27247 /* 76667 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27248 /* 76671 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27249 /* 76675 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
27250 /* 76679 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27251 /* 76683 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27252 /* 76687 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/1, 0,
27253 /* 76691 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27254 /* 76695 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27255 /* 76699 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27256 /* 76702 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27257 /* 76706 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27258 /* 76710 */ // MIs[0] src1
27259 /* 76710 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27260 /* 76715 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27261 /* 76717 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27262 /* 76724 */ // (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)
27263 /* 76724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NEG64m),
27264 /* 76727 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27265 /* 76731 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27266 /* 76734 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27267 /* 76740 */ GIR_RootConstrainSelectedInstOperands,
27268 /* 76741 */ // GIR_Coverage, 262,
27269 /* 76741 */ GIR_EraseRootFromParent_Done,
27270 /* 76742 */ // Label 1709: @76742
27271 /* 76742 */ GIM_Try, /*On fail goto*//*Label 1710*/ GIMT_Encode4(76825), // Rule ID 270 //
27272 /* 76747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27273 /* 76750 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27274 /* 76753 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27275 /* 76757 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27276 /* 76761 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27277 /* 76765 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27278 /* 76769 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27279 /* 76773 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27280 /* 76777 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27281 /* 76781 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27282 /* 76784 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27283 /* 76788 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27284 /* 76792 */ GIM_CheckConstantInt8, /*MI*/1, /*Op*/2, 255,
27285 /* 76796 */ // MIs[0] src1
27286 /* 76796 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27287 /* 76801 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27288 /* 76803 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27289 /* 76810 */ // (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)
27290 /* 76810 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::NOT64m),
27291 /* 76813 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27292 /* 76817 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27293 /* 76823 */ GIR_RootConstrainSelectedInstOperands,
27294 /* 76824 */ // GIR_Coverage, 270,
27295 /* 76824 */ GIR_EraseRootFromParent_Done,
27296 /* 76825 */ // Label 1710: @76825
27297 /* 76825 */ GIM_Try, /*On fail goto*//*Label 1711*/ GIMT_Encode4(76930), // Rule ID 22467 //
27298 /* 76830 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27299 /* 76833 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27300 /* 76840 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27301 /* 76844 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27302 /* 76848 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27303 /* 76852 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27304 /* 76856 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27305 /* 76860 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27306 /* 76864 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27307 /* 76867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27308 /* 76871 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27309 /* 76878 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27310 /* 76882 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27311 /* 76886 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27312 /* 76890 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
27313 /* 76894 */ // MIs[3] Operand 1
27314 /* 76894 */ // No operand predicates
27315 /* 76894 */ // MIs[0] dst
27316 /* 76894 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27317 /* 76899 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27318 /* 76901 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27319 /* 76908 */ // (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)
27320 /* 76908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mi32),
27321 /* 76911 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27322 /* 76915 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
27323 /* 76918 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27324 /* 76921 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27325 /* 76928 */ GIR_RootConstrainSelectedInstOperands,
27326 /* 76929 */ // GIR_Coverage, 22467,
27327 /* 76929 */ GIR_EraseRootFromParent_Done,
27328 /* 76930 */ // Label 1711: @76930
27329 /* 76930 */ GIM_Try, /*On fail goto*//*Label 1712*/ GIMT_Encode4(77035), // Rule ID 22475 //
27330 /* 76935 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27331 /* 76938 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27332 /* 76945 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27333 /* 76949 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
27334 /* 76953 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27335 /* 76957 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27336 /* 76961 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27337 /* 76965 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27338 /* 76969 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27339 /* 76972 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27340 /* 76976 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27341 /* 76983 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27342 /* 76987 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27343 /* 76991 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27344 /* 76995 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
27345 /* 76999 */ // MIs[3] Operand 1
27346 /* 76999 */ // No operand predicates
27347 /* 76999 */ // MIs[0] dst
27348 /* 76999 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27349 /* 77004 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27350 /* 77006 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27351 /* 77013 */ // (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)
27352 /* 77013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mi32),
27353 /* 77016 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27354 /* 77020 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
27355 /* 77023 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27356 /* 77026 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27357 /* 77033 */ GIR_RootConstrainSelectedInstOperands,
27358 /* 77034 */ // GIR_Coverage, 22475,
27359 /* 77034 */ GIR_EraseRootFromParent_Done,
27360 /* 77035 */ // Label 1712: @77035
27361 /* 77035 */ GIM_Try, /*On fail goto*//*Label 1713*/ GIMT_Encode4(77140), // Rule ID 22483 //
27362 /* 77040 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27363 /* 77043 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27364 /* 77050 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27365 /* 77054 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
27366 /* 77058 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27367 /* 77062 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27368 /* 77066 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27369 /* 77070 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27370 /* 77074 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27371 /* 77077 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27372 /* 77081 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27373 /* 77088 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27374 /* 77092 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27375 /* 77096 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27376 /* 77100 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
27377 /* 77104 */ // MIs[3] Operand 1
27378 /* 77104 */ // No operand predicates
27379 /* 77104 */ // MIs[0] dst
27380 /* 77104 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27381 /* 77109 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27382 /* 77111 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27383 /* 77118 */ // (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)
27384 /* 77118 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mi32),
27385 /* 77121 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27386 /* 77125 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
27387 /* 77128 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27388 /* 77131 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27389 /* 77138 */ GIR_RootConstrainSelectedInstOperands,
27390 /* 77139 */ // GIR_Coverage, 22483,
27391 /* 77139 */ GIR_EraseRootFromParent_Done,
27392 /* 77140 */ // Label 1713: @77140
27393 /* 77140 */ GIM_Try, /*On fail goto*//*Label 1714*/ GIMT_Encode4(77245), // Rule ID 22499 //
27394 /* 77145 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27395 /* 77148 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27396 /* 77155 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27397 /* 77159 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
27398 /* 77163 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27399 /* 77167 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27400 /* 77171 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27401 /* 77175 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27402 /* 77179 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27403 /* 77182 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27404 /* 77186 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27405 /* 77193 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27406 /* 77197 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27407 /* 77201 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27408 /* 77205 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
27409 /* 77209 */ // MIs[3] Operand 1
27410 /* 77209 */ // No operand predicates
27411 /* 77209 */ // MIs[0] dst
27412 /* 77209 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27413 /* 77214 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27414 /* 77216 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27415 /* 77223 */ // (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)
27416 /* 77223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mi32),
27417 /* 77226 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27418 /* 77230 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
27419 /* 77233 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27420 /* 77236 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27421 /* 77243 */ GIR_RootConstrainSelectedInstOperands,
27422 /* 77244 */ // GIR_Coverage, 22499,
27423 /* 77244 */ GIR_EraseRootFromParent_Done,
27424 /* 77245 */ // Label 1714: @77245
27425 /* 77245 */ GIM_Try, /*On fail goto*//*Label 1715*/ GIMT_Encode4(77350), // Rule ID 22491 //
27426 /* 77250 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27427 /* 77253 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27428 /* 77260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27429 /* 77264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27430 /* 77268 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27431 /* 77272 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27432 /* 77276 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27433 /* 77280 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27434 /* 77284 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27435 /* 77287 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27436 /* 77291 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27437 /* 77298 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27438 /* 77302 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27439 /* 77306 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27440 /* 77310 */ GIM_CheckI64ImmPredicate, /*MI*/3, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
27441 /* 77314 */ // MIs[3] Operand 1
27442 /* 77314 */ // No operand predicates
27443 /* 77314 */ // MIs[0] dst
27444 /* 77314 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27445 /* 77319 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27446 /* 77321 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27447 /* 77328 */ // (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)
27448 /* 77328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mi32),
27449 /* 77331 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27450 /* 77335 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src
27451 /* 77338 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27452 /* 77341 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27453 /* 77348 */ GIR_RootConstrainSelectedInstOperands,
27454 /* 77349 */ // GIR_Coverage, 22491,
27455 /* 77349 */ GIR_EraseRootFromParent_Done,
27456 /* 77350 */ // Label 1715: @77350
27457 /* 77350 */ GIM_Try, /*On fail goto*//*Label 1716*/ GIMT_Encode4(77454), // Rule ID 811 //
27458 /* 77355 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27459 /* 77358 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27460 /* 77362 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27461 /* 77366 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
27462 /* 77370 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27463 /* 77374 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27464 /* 77378 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
27465 /* 77382 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27466 /* 77386 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27467 /* 77390 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27468 /* 77393 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27469 /* 77397 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27470 /* 77401 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27471 /* 77406 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
27472 /* 77410 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27473 /* 77414 */ // MIs[3] Operand 1
27474 /* 77414 */ // No operand predicates
27475 /* 77414 */ // MIs[0] src1
27476 /* 77414 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27477 /* 77419 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27478 /* 77421 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27479 /* 77428 */ // (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)
27480 /* 77428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64mri8),
27481 /* 77431 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27482 /* 77435 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27483 /* 77439 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
27484 /* 77442 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27485 /* 77445 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27486 /* 77452 */ GIR_RootConstrainSelectedInstOperands,
27487 /* 77453 */ // GIR_Coverage, 811,
27488 /* 77453 */ GIR_EraseRootFromParent_Done,
27489 /* 77454 */ // Label 1716: @77454
27490 /* 77454 */ GIM_Try, /*On fail goto*//*Label 1717*/ GIMT_Encode4(77558), // Rule ID 835 //
27491 /* 77459 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27492 /* 77462 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27493 /* 77466 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27494 /* 77470 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
27495 /* 77474 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27496 /* 77478 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27497 /* 77482 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
27498 /* 77486 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27499 /* 77491 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27500 /* 77495 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27501 /* 77499 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27502 /* 77502 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27503 /* 77506 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27504 /* 77510 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/3, // MIs[3]
27505 /* 77514 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27506 /* 77518 */ // MIs[3] Operand 1
27507 /* 77518 */ // No operand predicates
27508 /* 77518 */ // MIs[0] src1
27509 /* 77518 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27510 /* 77523 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27511 /* 77525 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27512 /* 77532 */ // (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)
27513 /* 77532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64mri8),
27514 /* 77535 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27515 /* 77539 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27516 /* 77543 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src3
27517 /* 77546 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27518 /* 77549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27519 /* 77556 */ GIR_RootConstrainSelectedInstOperands,
27520 /* 77557 */ // GIR_Coverage, 835,
27521 /* 77557 */ GIR_EraseRootFromParent_Done,
27522 /* 77558 */ // Label 1717: @77558
27523 /* 77558 */ GIM_Try, /*On fail goto*//*Label 1718*/ GIMT_Encode4(77652), // Rule ID 712 //
27524 /* 77563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27525 /* 77566 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27526 /* 77569 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27527 /* 77573 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27528 /* 77577 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
27529 /* 77581 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27530 /* 77585 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27531 /* 77589 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27532 /* 77593 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27533 /* 77597 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27534 /* 77600 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27535 /* 77604 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27536 /* 77608 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27537 /* 77612 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27538 /* 77616 */ // MIs[3] Operand 1
27539 /* 77616 */ // No operand predicates
27540 /* 77616 */ // MIs[0] src1
27541 /* 77616 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27542 /* 77621 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27543 /* 77623 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27544 /* 77630 */ // (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)
27545 /* 77630 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64mi),
27546 /* 77633 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27547 /* 77637 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
27548 /* 77640 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27549 /* 77643 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27550 /* 77650 */ GIR_RootConstrainSelectedInstOperands,
27551 /* 77651 */ // GIR_Coverage, 712,
27552 /* 77651 */ GIR_EraseRootFromParent_Done,
27553 /* 77652 */ // Label 1718: @77652
27554 /* 77652 */ GIM_Try, /*On fail goto*//*Label 1719*/ GIMT_Encode4(77746), // Rule ID 680 //
27555 /* 77657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27556 /* 77660 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27557 /* 77663 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27558 /* 77667 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27559 /* 77671 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
27560 /* 77675 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27561 /* 77679 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27562 /* 77683 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27563 /* 77687 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27564 /* 77691 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27565 /* 77694 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27566 /* 77698 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27567 /* 77702 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27568 /* 77706 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27569 /* 77710 */ // MIs[3] Operand 1
27570 /* 77710 */ // No operand predicates
27571 /* 77710 */ // MIs[0] src1
27572 /* 77710 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27573 /* 77715 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27574 /* 77717 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27575 /* 77724 */ // (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)
27576 /* 77724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64mi),
27577 /* 77727 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27578 /* 77731 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
27579 /* 77734 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27580 /* 77737 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27581 /* 77744 */ GIR_RootConstrainSelectedInstOperands,
27582 /* 77745 */ // GIR_Coverage, 680,
27583 /* 77745 */ GIR_EraseRootFromParent_Done,
27584 /* 77746 */ // Label 1719: @77746
27585 /* 77746 */ GIM_Try, /*On fail goto*//*Label 1720*/ GIMT_Encode4(77840), // Rule ID 744 //
27586 /* 77751 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27587 /* 77754 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27588 /* 77757 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27589 /* 77761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27590 /* 77765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
27591 /* 77769 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27592 /* 77773 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27593 /* 77777 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27594 /* 77781 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27595 /* 77785 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27596 /* 77788 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27597 /* 77792 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27598 /* 77796 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27599 /* 77800 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27600 /* 77804 */ // MIs[3] Operand 1
27601 /* 77804 */ // No operand predicates
27602 /* 77804 */ // MIs[0] src1
27603 /* 77804 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27604 /* 77809 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27605 /* 77811 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27606 /* 77818 */ // (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)
27607 /* 77818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64mi),
27608 /* 77821 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27609 /* 77825 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
27610 /* 77828 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27611 /* 77831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27612 /* 77838 */ GIR_RootConstrainSelectedInstOperands,
27613 /* 77839 */ // GIR_Coverage, 744,
27614 /* 77839 */ GIR_EraseRootFromParent_Done,
27615 /* 77840 */ // Label 1720: @77840
27616 /* 77840 */ GIM_Try, /*On fail goto*//*Label 1721*/ GIMT_Encode4(77934), // Rule ID 776 //
27617 /* 77845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27618 /* 77848 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27619 /* 77851 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27620 /* 77855 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27621 /* 77859 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
27622 /* 77863 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27623 /* 77867 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27624 /* 77871 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27625 /* 77875 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27626 /* 77879 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27627 /* 77882 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27628 /* 77886 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27629 /* 77890 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27630 /* 77894 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27631 /* 77898 */ // MIs[3] Operand 1
27632 /* 77898 */ // No operand predicates
27633 /* 77898 */ // MIs[0] src1
27634 /* 77898 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27635 /* 77903 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27636 /* 77905 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27637 /* 77912 */ // (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)
27638 /* 77912 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64mi),
27639 /* 77915 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27640 /* 77919 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
27641 /* 77922 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27642 /* 77925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27643 /* 77932 */ GIR_RootConstrainSelectedInstOperands,
27644 /* 77933 */ // GIR_Coverage, 776,
27645 /* 77933 */ GIR_EraseRootFromParent_Done,
27646 /* 77934 */ // Label 1721: @77934
27647 /* 77934 */ GIM_Try, /*On fail goto*//*Label 1722*/ GIMT_Encode4(78028), // Rule ID 648 //
27648 /* 77939 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
27649 /* 77942 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27650 /* 77945 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27651 /* 77949 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27652 /* 77953 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
27653 /* 77957 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27654 /* 77961 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
27655 /* 77965 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27656 /* 77969 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27657 /* 77973 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27658 /* 77976 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27659 /* 77980 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27660 /* 77984 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
27661 /* 77988 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
27662 /* 77992 */ // MIs[3] Operand 1
27663 /* 77992 */ // No operand predicates
27664 /* 77992 */ // MIs[0] src1
27665 /* 77992 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27666 /* 77997 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
27667 /* 77999 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27668 /* 78006 */ // (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)
27669 /* 78006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64mi),
27670 /* 78009 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27671 /* 78013 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/3, // src2
27672 /* 78016 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27673 /* 78019 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
27674 /* 78026 */ GIR_RootConstrainSelectedInstOperands,
27675 /* 78027 */ // GIR_Coverage, 648,
27676 /* 78027 */ GIR_EraseRootFromParent_Done,
27677 /* 78028 */ // Label 1722: @78028
27678 /* 78028 */ GIM_Try, /*On fail goto*//*Label 1723*/ GIMT_Encode4(78126), // Rule ID 22471 //
27679 /* 78033 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27680 /* 78036 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27681 /* 78043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27682 /* 78047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27683 /* 78051 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27684 /* 78055 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27685 /* 78059 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27686 /* 78063 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27687 /* 78067 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27688 /* 78070 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27689 /* 78074 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27690 /* 78081 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27691 /* 78085 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27692 /* 78090 */ // MIs[0] dst
27693 /* 78090 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27694 /* 78095 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27695 /* 78097 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27696 /* 78104 */ // (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)
27697 /* 78104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
27698 /* 78107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27699 /* 78111 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
27700 /* 78115 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27701 /* 78118 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27702 /* 78124 */ GIR_RootConstrainSelectedInstOperands,
27703 /* 78125 */ // GIR_Coverage, 22471,
27704 /* 78125 */ GIR_EraseRootFromParent_Done,
27705 /* 78126 */ // Label 1723: @78126
27706 /* 78126 */ GIM_Try, /*On fail goto*//*Label 1724*/ GIMT_Encode4(78224), // Rule ID 26063 //
27707 /* 78131 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27708 /* 78134 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27709 /* 78141 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27710 /* 78145 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27711 /* 78149 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27712 /* 78153 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27713 /* 78157 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27714 /* 78162 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27715 /* 78166 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27716 /* 78170 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27717 /* 78173 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27718 /* 78177 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27719 /* 78184 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27720 /* 78188 */ // MIs[0] dst
27721 /* 78188 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27722 /* 78193 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27723 /* 78195 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27724 /* 78202 */ // (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)
27725 /* 78202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
27726 /* 78205 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27727 /* 78209 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27728 /* 78213 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27729 /* 78216 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27730 /* 78222 */ GIR_RootConstrainSelectedInstOperands,
27731 /* 78223 */ // GIR_Coverage, 26063,
27732 /* 78223 */ GIR_EraseRootFromParent_Done,
27733 /* 78224 */ // Label 1724: @78224
27734 /* 78224 */ GIM_Try, /*On fail goto*//*Label 1725*/ GIMT_Encode4(78322), // Rule ID 22479 //
27735 /* 78229 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27736 /* 78232 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27737 /* 78239 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27738 /* 78243 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
27739 /* 78247 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27740 /* 78251 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27741 /* 78255 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27742 /* 78259 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27743 /* 78263 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27744 /* 78266 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27745 /* 78270 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27746 /* 78277 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27747 /* 78281 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27748 /* 78286 */ // MIs[0] dst
27749 /* 78286 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27750 /* 78291 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27751 /* 78293 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27752 /* 78300 */ // (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)
27753 /* 78300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
27754 /* 78303 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27755 /* 78307 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
27756 /* 78311 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27757 /* 78314 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27758 /* 78320 */ GIR_RootConstrainSelectedInstOperands,
27759 /* 78321 */ // GIR_Coverage, 22479,
27760 /* 78321 */ GIR_EraseRootFromParent_Done,
27761 /* 78322 */ // Label 1725: @78322
27762 /* 78322 */ GIM_Try, /*On fail goto*//*Label 1726*/ GIMT_Encode4(78420), // Rule ID 26067 //
27763 /* 78327 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27764 /* 78330 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27765 /* 78337 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27766 /* 78341 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
27767 /* 78345 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27768 /* 78349 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27769 /* 78353 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27770 /* 78358 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27771 /* 78362 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27772 /* 78366 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27773 /* 78369 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27774 /* 78373 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27775 /* 78380 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27776 /* 78384 */ // MIs[0] dst
27777 /* 78384 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27778 /* 78389 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27779 /* 78391 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27780 /* 78398 */ // (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)
27781 /* 78398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
27782 /* 78401 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27783 /* 78405 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27784 /* 78409 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27785 /* 78412 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27786 /* 78418 */ GIR_RootConstrainSelectedInstOperands,
27787 /* 78419 */ // GIR_Coverage, 26067,
27788 /* 78419 */ GIR_EraseRootFromParent_Done,
27789 /* 78420 */ // Label 1726: @78420
27790 /* 78420 */ GIM_Try, /*On fail goto*//*Label 1727*/ GIMT_Encode4(78518), // Rule ID 22487 //
27791 /* 78425 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27792 /* 78428 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27793 /* 78435 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27794 /* 78439 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
27795 /* 78443 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27796 /* 78447 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27797 /* 78451 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27798 /* 78455 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27799 /* 78459 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27800 /* 78462 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27801 /* 78466 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27802 /* 78473 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27803 /* 78477 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27804 /* 78482 */ // MIs[0] dst
27805 /* 78482 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27806 /* 78487 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27807 /* 78489 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27808 /* 78496 */ // (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)
27809 /* 78496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
27810 /* 78499 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27811 /* 78503 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
27812 /* 78507 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27813 /* 78510 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27814 /* 78516 */ GIR_RootConstrainSelectedInstOperands,
27815 /* 78517 */ // GIR_Coverage, 22487,
27816 /* 78517 */ GIR_EraseRootFromParent_Done,
27817 /* 78518 */ // Label 1727: @78518
27818 /* 78518 */ GIM_Try, /*On fail goto*//*Label 1728*/ GIMT_Encode4(78616), // Rule ID 26071 //
27819 /* 78523 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27820 /* 78526 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27821 /* 78533 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27822 /* 78537 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
27823 /* 78541 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27824 /* 78545 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27825 /* 78549 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27826 /* 78554 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27827 /* 78558 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27828 /* 78562 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27829 /* 78565 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27830 /* 78569 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27831 /* 78576 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27832 /* 78580 */ // MIs[0] dst
27833 /* 78580 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27834 /* 78585 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27835 /* 78587 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27836 /* 78594 */ // (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)
27837 /* 78594 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
27838 /* 78597 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27839 /* 78601 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27840 /* 78605 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27841 /* 78608 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27842 /* 78614 */ GIR_RootConstrainSelectedInstOperands,
27843 /* 78615 */ // GIR_Coverage, 26071,
27844 /* 78615 */ GIR_EraseRootFromParent_Done,
27845 /* 78616 */ // Label 1728: @78616
27846 /* 78616 */ GIM_Try, /*On fail goto*//*Label 1729*/ GIMT_Encode4(78714), // Rule ID 22503 //
27847 /* 78621 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27848 /* 78624 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27849 /* 78631 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27850 /* 78635 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
27851 /* 78639 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27852 /* 78643 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27853 /* 78647 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27854 /* 78651 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27855 /* 78655 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27856 /* 78658 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27857 /* 78662 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27858 /* 78669 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27859 /* 78673 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27860 /* 78678 */ // MIs[0] dst
27861 /* 78678 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27862 /* 78683 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27863 /* 78685 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27864 /* 78692 */ // (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)
27865 /* 78692 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mr),
27866 /* 78695 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27867 /* 78699 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
27868 /* 78703 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27869 /* 78706 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27870 /* 78712 */ GIR_RootConstrainSelectedInstOperands,
27871 /* 78713 */ // GIR_Coverage, 22503,
27872 /* 78713 */ GIR_EraseRootFromParent_Done,
27873 /* 78714 */ // Label 1729: @78714
27874 /* 78714 */ GIM_Try, /*On fail goto*//*Label 1730*/ GIMT_Encode4(78812), // Rule ID 22495 //
27875 /* 78719 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27876 /* 78722 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27877 /* 78729 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27878 /* 78733 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27879 /* 78737 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27880 /* 78741 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27881 /* 78745 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27882 /* 78749 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27883 /* 78753 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27884 /* 78756 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27885 /* 78760 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27886 /* 78767 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27887 /* 78771 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27888 /* 78776 */ // MIs[0] dst
27889 /* 78776 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27890 /* 78781 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27891 /* 78783 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27892 /* 78790 */ // (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)
27893 /* 78790 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
27894 /* 78793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27895 /* 78797 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src
27896 /* 78801 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27897 /* 78804 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27898 /* 78810 */ GIR_RootConstrainSelectedInstOperands,
27899 /* 78811 */ // GIR_Coverage, 22495,
27900 /* 78811 */ GIR_EraseRootFromParent_Done,
27901 /* 78812 */ // Label 1730: @78812
27902 /* 78812 */ GIM_Try, /*On fail goto*//*Label 1731*/ GIMT_Encode4(78910), // Rule ID 26075 //
27903 /* 78817 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27904 /* 78820 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27905 /* 78827 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27906 /* 78831 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
27907 /* 78835 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27908 /* 78839 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27909 /* 78843 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27910 /* 78848 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27911 /* 78852 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27912 /* 78856 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
27913 /* 78859 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27914 /* 78863 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
27915 /* 78870 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27916 /* 78874 */ // MIs[0] dst
27917 /* 78874 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27918 /* 78879 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27919 /* 78881 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27920 /* 78888 */ // (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)
27921 /* 78888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
27922 /* 78891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
27923 /* 78895 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
27924 /* 78899 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27925 /* 78902 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27926 /* 78908 */ GIR_RootConstrainSelectedInstOperands,
27927 /* 78909 */ // GIR_Coverage, 26075,
27928 /* 78909 */ GIR_EraseRootFromParent_Done,
27929 /* 78910 */ // Label 1731: @78910
27930 /* 78910 */ GIM_Try, /*On fail goto*//*Label 1732*/ GIMT_Encode4(79021), // Rule ID 814 //
27931 /* 78915 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27932 /* 78918 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27933 /* 78922 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27934 /* 78926 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHL),
27935 /* 78930 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27936 /* 78934 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27937 /* 78938 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
27938 /* 78942 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
27939 /* 78946 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27940 /* 78950 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27941 /* 78953 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27942 /* 78957 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27943 /* 78961 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27944 /* 78966 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27945 /* 78971 */ // MIs[0] src1
27946 /* 78971 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27947 /* 78976 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27948 /* 78978 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27949 /* 78985 */ // (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)
27950 /* 78985 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27951 /* 78989 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27952 /* 78995 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
27953 /* 78999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64mrCL),
27954 /* 79002 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27955 /* 79006 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
27956 /* 79010 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27957 /* 79013 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27958 /* 79019 */ GIR_RootConstrainSelectedInstOperands,
27959 /* 79020 */ // GIR_Coverage, 814,
27960 /* 79020 */ GIR_EraseRootFromParent_Done,
27961 /* 79021 */ // Label 1732: @79021
27962 /* 79021 */ GIM_Try, /*On fail goto*//*Label 1733*/ GIMT_Encode4(79132), // Rule ID 838 //
27963 /* 79026 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27964 /* 79029 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27965 /* 79033 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27966 /* 79037 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FSHR),
27967 /* 79041 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
27968 /* 79045 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
27969 /* 79049 */ GIM_CheckType, /*MI*/1, /*Op*/3, /*Type*/GILLT_s8,
27970 /* 79053 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
27971 /* 79058 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
27972 /* 79062 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
27973 /* 79066 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27974 /* 79069 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
27975 /* 79073 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
27976 /* 79077 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
27977 /* 79082 */ // MIs[0] src1
27978 /* 79082 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
27979 /* 79087 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
27980 /* 79089 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
27981 /* 79096 */ // (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)
27982 /* 79096 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
27983 /* 79100 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
27984 /* 79106 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/3, // CL
27985 /* 79110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64mrCL),
27986 /* 79113 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
27987 /* 79117 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
27988 /* 79121 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
27989 /* 79124 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
27990 /* 79130 */ GIR_RootConstrainSelectedInstOperands,
27991 /* 79131 */ // GIR_Coverage, 838,
27992 /* 79131 */ GIR_EraseRootFromParent_Done,
27993 /* 79132 */ // Label 1733: @79132
27994 /* 79132 */ GIM_Try, /*On fail goto*//*Label 1734*/ GIMT_Encode4(79220), // Rule ID 410 //
27995 /* 79137 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
27996 /* 79140 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
27997 /* 79144 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
27998 /* 79148 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
27999 /* 79152 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28000 /* 79156 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28001 /* 79160 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28002 /* 79164 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28003 /* 79168 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28004 /* 79171 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28005 /* 79175 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28006 /* 79179 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28007 /* 79184 */ // MIs[0] src1
28008 /* 79184 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28009 /* 79189 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28010 /* 79191 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28011 /* 79198 */ // (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)
28012 /* 79198 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
28013 /* 79201 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28014 /* 79205 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28015 /* 79209 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28016 /* 79212 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28017 /* 79218 */ GIR_RootConstrainSelectedInstOperands,
28018 /* 79219 */ // GIR_Coverage, 410,
28019 /* 79219 */ GIR_EraseRootFromParent_Done,
28020 /* 79220 */ // Label 1734: @79220
28021 /* 79220 */ GIM_Try, /*On fail goto*//*Label 1735*/ GIMT_Encode4(79308), // Rule ID 23283 //
28022 /* 79225 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28023 /* 79228 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28024 /* 79232 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28025 /* 79236 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ADD),
28026 /* 79240 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28027 /* 79244 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28028 /* 79248 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28029 /* 79253 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28030 /* 79257 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28031 /* 79261 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28032 /* 79264 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28033 /* 79268 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28034 /* 79272 */ // MIs[0] src1
28035 /* 79272 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28036 /* 79277 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28037 /* 79279 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28038 /* 79286 */ // (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)
28039 /* 79286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64mr),
28040 /* 79289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28041 /* 79293 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
28042 /* 79297 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28043 /* 79300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28044 /* 79306 */ GIR_RootConstrainSelectedInstOperands,
28045 /* 79307 */ // GIR_Coverage, 23283,
28046 /* 79307 */ GIR_EraseRootFromParent_Done,
28047 /* 79308 */ // Label 1735: @79308
28048 /* 79308 */ GIM_Try, /*On fail goto*//*Label 1736*/ GIMT_Encode4(79396), // Rule ID 302 //
28049 /* 79313 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28050 /* 79316 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28051 /* 79320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28052 /* 79324 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
28053 /* 79328 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28054 /* 79332 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28055 /* 79336 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28056 /* 79340 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28057 /* 79344 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28058 /* 79347 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28059 /* 79351 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28060 /* 79355 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28061 /* 79360 */ // MIs[0] src1
28062 /* 79360 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28063 /* 79365 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28064 /* 79367 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28065 /* 79374 */ // (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)
28066 /* 79374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
28067 /* 79377 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28068 /* 79381 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28069 /* 79385 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28070 /* 79388 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28071 /* 79394 */ GIR_RootConstrainSelectedInstOperands,
28072 /* 79395 */ // GIR_Coverage, 302,
28073 /* 79395 */ GIR_EraseRootFromParent_Done,
28074 /* 79396 */ // Label 1736: @79396
28075 /* 79396 */ GIM_Try, /*On fail goto*//*Label 1737*/ GIMT_Encode4(79484), // Rule ID 23247 //
28076 /* 79401 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28077 /* 79404 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28078 /* 79408 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28079 /* 79412 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_AND),
28080 /* 79416 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28081 /* 79420 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28082 /* 79424 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28083 /* 79429 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28084 /* 79433 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28085 /* 79437 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28086 /* 79440 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28087 /* 79444 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28088 /* 79448 */ // MIs[0] src1
28089 /* 79448 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28090 /* 79453 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28091 /* 79455 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28092 /* 79462 */ // (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)
28093 /* 79462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AND64mr),
28094 /* 79465 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28095 /* 79469 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
28096 /* 79473 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28097 /* 79476 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28098 /* 79482 */ GIR_RootConstrainSelectedInstOperands,
28099 /* 79483 */ // GIR_Coverage, 23247,
28100 /* 79483 */ GIR_EraseRootFromParent_Done,
28101 /* 79484 */ // Label 1737: @79484
28102 /* 79484 */ GIM_Try, /*On fail goto*//*Label 1738*/ GIMT_Encode4(79585), // Rule ID 728 //
28103 /* 79489 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28104 /* 79492 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28105 /* 79495 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28106 /* 79499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28107 /* 79503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ASHR),
28108 /* 79507 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28109 /* 79511 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28110 /* 79515 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28111 /* 79519 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28112 /* 79523 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28113 /* 79526 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28114 /* 79530 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28115 /* 79534 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
28116 /* 79539 */ // MIs[0] src1
28117 /* 79539 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28118 /* 79544 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28119 /* 79546 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28120 /* 79553 */ // (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)
28121 /* 79553 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28122 /* 79557 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
28123 /* 79563 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
28124 /* 79567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64mCL),
28125 /* 79570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28126 /* 79574 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28127 /* 79577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28128 /* 79583 */ GIR_RootConstrainSelectedInstOperands,
28129 /* 79584 */ // GIR_Coverage, 728,
28130 /* 79584 */ GIR_EraseRootFromParent_Done,
28131 /* 79585 */ // Label 1738: @79585
28132 /* 79585 */ GIM_Try, /*On fail goto*//*Label 1739*/ GIMT_Encode4(79686), // Rule ID 696 //
28133 /* 79590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28134 /* 79593 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28135 /* 79596 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28136 /* 79600 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28137 /* 79604 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LSHR),
28138 /* 79608 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28139 /* 79612 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28140 /* 79616 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28141 /* 79620 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28142 /* 79624 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28143 /* 79627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28144 /* 79631 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28145 /* 79635 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
28146 /* 79640 */ // MIs[0] src1
28147 /* 79640 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28148 /* 79645 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28149 /* 79647 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28150 /* 79654 */ // (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)
28151 /* 79654 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28152 /* 79658 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
28153 /* 79664 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
28154 /* 79668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64mCL),
28155 /* 79671 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28156 /* 79675 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28157 /* 79678 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28158 /* 79684 */ GIR_RootConstrainSelectedInstOperands,
28159 /* 79685 */ // GIR_Coverage, 696,
28160 /* 79685 */ GIR_EraseRootFromParent_Done,
28161 /* 79686 */ // Label 1739: @79686
28162 /* 79686 */ GIM_Try, /*On fail goto*//*Label 1740*/ GIMT_Encode4(79774), // Rule ID 338 //
28163 /* 79691 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28164 /* 79694 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28165 /* 79698 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28166 /* 79702 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
28167 /* 79706 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28168 /* 79710 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28169 /* 79714 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28170 /* 79718 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28171 /* 79722 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28172 /* 79725 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28173 /* 79729 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28174 /* 79733 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28175 /* 79738 */ // MIs[0] src1
28176 /* 79738 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28177 /* 79743 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28178 /* 79745 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28179 /* 79752 */ // (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)
28180 /* 79752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
28181 /* 79755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28182 /* 79759 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28183 /* 79763 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28184 /* 79766 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28185 /* 79772 */ GIR_RootConstrainSelectedInstOperands,
28186 /* 79773 */ // GIR_Coverage, 338,
28187 /* 79773 */ GIR_EraseRootFromParent_Done,
28188 /* 79774 */ // Label 1740: @79774
28189 /* 79774 */ GIM_Try, /*On fail goto*//*Label 1741*/ GIMT_Encode4(79862), // Rule ID 23259 //
28190 /* 79779 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28191 /* 79782 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28192 /* 79786 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28193 /* 79790 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_OR),
28194 /* 79794 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28195 /* 79798 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28196 /* 79802 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28197 /* 79807 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28198 /* 79811 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28199 /* 79815 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28200 /* 79818 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28201 /* 79822 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28202 /* 79826 */ // MIs[0] src1
28203 /* 79826 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28204 /* 79831 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28205 /* 79833 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28206 /* 79840 */ // (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)
28207 /* 79840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::OR64mr),
28208 /* 79843 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28209 /* 79847 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
28210 /* 79851 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28211 /* 79854 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28212 /* 79860 */ GIR_RootConstrainSelectedInstOperands,
28213 /* 79861 */ // GIR_Coverage, 23259,
28214 /* 79861 */ GIR_EraseRootFromParent_Done,
28215 /* 79862 */ // Label 1741: @79862
28216 /* 79862 */ GIM_Try, /*On fail goto*//*Label 1742*/ GIMT_Encode4(79963), // Rule ID 760 //
28217 /* 79867 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28218 /* 79870 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28219 /* 79873 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28220 /* 79877 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28221 /* 79881 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTL),
28222 /* 79885 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28223 /* 79889 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28224 /* 79893 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28225 /* 79897 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28226 /* 79901 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28227 /* 79904 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28228 /* 79908 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28229 /* 79912 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
28230 /* 79917 */ // MIs[0] src1
28231 /* 79917 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28232 /* 79922 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28233 /* 79924 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28234 /* 79931 */ // (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)
28235 /* 79931 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28236 /* 79935 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
28237 /* 79941 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
28238 /* 79945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64mCL),
28239 /* 79948 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28240 /* 79952 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28241 /* 79955 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28242 /* 79961 */ GIR_RootConstrainSelectedInstOperands,
28243 /* 79962 */ // GIR_Coverage, 760,
28244 /* 79962 */ GIR_EraseRootFromParent_Done,
28245 /* 79963 */ // Label 1742: @79963
28246 /* 79963 */ GIM_Try, /*On fail goto*//*Label 1743*/ GIMT_Encode4(80064), // Rule ID 792 //
28247 /* 79968 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28248 /* 79971 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28249 /* 79974 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28250 /* 79978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28251 /* 79982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ROTR),
28252 /* 79986 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28253 /* 79990 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28254 /* 79994 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28255 /* 79998 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28256 /* 80002 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28257 /* 80005 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28258 /* 80009 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28259 /* 80013 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
28260 /* 80018 */ // MIs[0] src1
28261 /* 80018 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28262 /* 80023 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28263 /* 80025 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28264 /* 80032 */ // (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)
28265 /* 80032 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28266 /* 80036 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
28267 /* 80042 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
28268 /* 80046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64mCL),
28269 /* 80049 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28270 /* 80053 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28271 /* 80056 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28272 /* 80062 */ GIR_RootConstrainSelectedInstOperands,
28273 /* 80063 */ // GIR_Coverage, 792,
28274 /* 80063 */ GIR_EraseRootFromParent_Done,
28275 /* 80064 */ // Label 1743: @80064
28276 /* 80064 */ GIM_Try, /*On fail goto*//*Label 1744*/ GIMT_Encode4(80165), // Rule ID 664 //
28277 /* 80069 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
28278 /* 80072 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28279 /* 80075 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28280 /* 80079 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28281 /* 80083 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SHL),
28282 /* 80087 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28283 /* 80091 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s8,
28284 /* 80095 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28285 /* 80099 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28286 /* 80103 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28287 /* 80106 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28288 /* 80110 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28289 /* 80114 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
28290 /* 80119 */ // MIs[0] src1
28291 /* 80119 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28292 /* 80124 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28293 /* 80126 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28294 /* 80133 */ // (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)
28295 /* 80133 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
28296 /* 80137 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
28297 /* 80143 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/2, // CL
28298 /* 80147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64mCL),
28299 /* 80150 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28300 /* 80154 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28301 /* 80157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28302 /* 80163 */ GIR_RootConstrainSelectedInstOperands,
28303 /* 80164 */ // GIR_Coverage, 664,
28304 /* 80164 */ GIR_EraseRootFromParent_Done,
28305 /* 80165 */ // Label 1744: @80165
28306 /* 80165 */ GIM_Try, /*On fail goto*//*Label 1745*/ GIMT_Encode4(80253), // Rule ID 446 //
28307 /* 80170 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28308 /* 80173 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28309 /* 80177 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28310 /* 80181 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
28311 /* 80185 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28312 /* 80189 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28313 /* 80193 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28314 /* 80197 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28315 /* 80201 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28316 /* 80204 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28317 /* 80208 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28318 /* 80212 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28319 /* 80217 */ // MIs[0] src1
28320 /* 80217 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28321 /* 80222 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28322 /* 80224 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28323 /* 80231 */ // (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)
28324 /* 80231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB64mr),
28325 /* 80234 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28326 /* 80238 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28327 /* 80242 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28328 /* 80245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28329 /* 80251 */ GIR_RootConstrainSelectedInstOperands,
28330 /* 80252 */ // GIR_Coverage, 446,
28331 /* 80252 */ GIR_EraseRootFromParent_Done,
28332 /* 80253 */ // Label 1745: @80253
28333 /* 80253 */ GIM_Try, /*On fail goto*//*Label 1746*/ GIMT_Encode4(80341), // Rule ID 374 //
28334 /* 80258 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28335 /* 80261 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28336 /* 80265 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28337 /* 80269 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
28338 /* 80273 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28339 /* 80277 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28340 /* 80281 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
28341 /* 80285 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28342 /* 80289 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28343 /* 80292 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28344 /* 80296 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28345 /* 80300 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28346 /* 80305 */ // MIs[0] src1
28347 /* 80305 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28348 /* 80310 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28349 /* 80312 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28350 /* 80319 */ // (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)
28351 /* 80319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
28352 /* 80322 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28353 /* 80326 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/2, // src2
28354 /* 80330 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28355 /* 80333 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28356 /* 80339 */ GIR_RootConstrainSelectedInstOperands,
28357 /* 80340 */ // GIR_Coverage, 374,
28358 /* 80340 */ GIR_EraseRootFromParent_Done,
28359 /* 80341 */ // Label 1746: @80341
28360 /* 80341 */ GIM_Try, /*On fail goto*//*Label 1747*/ GIMT_Encode4(80429), // Rule ID 23271 //
28361 /* 80346 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28362 /* 80349 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28363 /* 80353 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28364 /* 80357 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
28365 /* 80361 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28366 /* 80365 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s64,
28367 /* 80369 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28368 /* 80374 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
28369 /* 80378 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
28370 /* 80382 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28371 /* 80385 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
28372 /* 80389 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
28373 /* 80393 */ // MIs[0] src1
28374 /* 80393 */ GIM_CheckIsSameOperand, /*MI*/0, /*OpIdx*/1, /*OtherMI*/2, /*OtherOpIdx*/1,
28375 /* 80398 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
28376 /* 80400 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28377 /* 80407 */ // (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)
28378 /* 80407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XOR64mr),
28379 /* 80410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
28380 /* 80414 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src2
28381 /* 80418 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
28382 /* 80421 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
28383 /* 80427 */ GIR_RootConstrainSelectedInstOperands,
28384 /* 80428 */ // GIR_Coverage, 23271,
28385 /* 80428 */ GIR_EraseRootFromParent_Done,
28386 /* 80429 */ // Label 1747: @80429
28387 /* 80429 */ GIM_Try, /*On fail goto*//*Label 1748*/ GIMT_Encode4(80486), // Rule ID 22547 //
28388 /* 80434 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28389 /* 80437 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28390 /* 80444 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28391 /* 80448 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
28392 /* 80452 */ GIM_CheckI64ImmPredicate, /*MI*/1, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
28393 /* 80456 */ // MIs[1] Operand 1
28394 /* 80456 */ // No operand predicates
28395 /* 80456 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28396 /* 80460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28397 /* 80462 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28398 /* 80469 */ // (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)
28399 /* 80469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mi32),
28400 /* 80472 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28401 /* 80476 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src
28402 /* 80479 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28403 /* 80484 */ GIR_RootConstrainSelectedInstOperands,
28404 /* 80485 */ // GIR_Coverage, 22547,
28405 /* 80485 */ GIR_EraseRootFromParent_Done,
28406 /* 80486 */ // Label 1748: @80486
28407 /* 80486 */ GIM_Try, /*On fail goto*//*Label 1749*/ GIMT_Encode4(80552), // Rule ID 22565 //
28408 /* 80491 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
28409 /* 80494 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28410 /* 80497 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28411 /* 80504 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28412 /* 80508 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
28413 /* 80512 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28414 /* 80516 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
28415 /* 80521 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28416 /* 80525 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28417 /* 80527 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28418 /* 80534 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (MOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
28419 /* 80534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDmr),
28420 /* 80537 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28421 /* 80541 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
28422 /* 80545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28423 /* 80550 */ GIR_RootConstrainSelectedInstOperands,
28424 /* 80551 */ // GIR_Coverage, 22565,
28425 /* 80551 */ GIR_EraseRootFromParent_Done,
28426 /* 80552 */ // Label 1749: @80552
28427 /* 80552 */ GIM_Try, /*On fail goto*//*Label 1750*/ GIMT_Encode4(80618), // Rule ID 22566 //
28428 /* 80557 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
28429 /* 80560 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28430 /* 80563 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28431 /* 80570 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28432 /* 80574 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
28433 /* 80578 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28434 /* 80582 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
28435 /* 80587 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28436 /* 80591 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28437 /* 80593 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28438 /* 80600 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
28439 /* 80600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
28440 /* 80603 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28441 /* 80607 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
28442 /* 80611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28443 /* 80616 */ GIR_RootConstrainSelectedInstOperands,
28444 /* 80617 */ // GIR_Coverage, 22566,
28445 /* 80617 */ GIR_EraseRootFromParent_Done,
28446 /* 80618 */ // Label 1750: @80618
28447 /* 80618 */ GIM_Try, /*On fail goto*//*Label 1751*/ GIMT_Encode4(80684), // Rule ID 22567 //
28448 /* 80623 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
28449 /* 80626 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28450 /* 80629 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28451 /* 80636 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28452 /* 80640 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
28453 /* 80644 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28454 /* 80648 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
28455 /* 80653 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28456 /* 80657 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28457 /* 80659 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28458 /* 80666 */ // (atomic_store (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
28459 /* 80666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
28460 /* 80669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28461 /* 80673 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
28462 /* 80677 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28463 /* 80682 */ GIR_RootConstrainSelectedInstOperands,
28464 /* 80683 */ // GIR_Coverage, 22567,
28465 /* 80683 */ GIR_EraseRootFromParent_Done,
28466 /* 80684 */ // Label 1751: @80684
28467 /* 80684 */ GIM_Try, /*On fail goto*//*Label 1752*/ GIMT_Encode4(80747), // Rule ID 54 //
28468 /* 80689 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
28469 /* 80692 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28470 /* 80695 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28471 /* 80699 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28472 /* 80703 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
28473 /* 80707 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28474 /* 80711 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28475 /* 80716 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28476 /* 80720 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28477 /* 80722 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28478 /* 80729 */ // (st (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src1)
28479 /* 80729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64mr),
28480 /* 80732 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28481 /* 80736 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
28482 /* 80740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28483 /* 80745 */ GIR_RootConstrainSelectedInstOperands,
28484 /* 80746 */ // GIR_Coverage, 54,
28485 /* 80746 */ GIR_EraseRootFromParent_Done,
28486 /* 80747 */ // Label 1752: @80747
28487 /* 80747 */ GIM_Try, /*On fail goto*//*Label 1753*/ GIMT_Encode4(80810), // Rule ID 60 //
28488 /* 80752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
28489 /* 80755 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28490 /* 80758 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28491 /* 80762 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
28492 /* 80766 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BSWAP),
28493 /* 80770 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
28494 /* 80774 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28495 /* 80779 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28496 /* 80783 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
28497 /* 80785 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28498 /* 80792 */ // (st (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVBE64mr_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src1)
28499 /* 80792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64mr_EVEX),
28500 /* 80795 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28501 /* 80799 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src1
28502 /* 80803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
28503 /* 80808 */ GIR_RootConstrainSelectedInstOperands,
28504 /* 80809 */ // GIR_Coverage, 60,
28505 /* 80809 */ GIR_EraseRootFromParent_Done,
28506 /* 80810 */ // Label 1753: @80810
28507 /* 80810 */ GIM_Try, /*On fail goto*//*Label 1754*/ GIMT_Encode4(80855), // Rule ID 22551 //
28508 /* 80815 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::Unordered,
28509 /* 80818 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28510 /* 80825 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28511 /* 80829 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28512 /* 80833 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28513 /* 80840 */ // (atomic_store GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_atomic_store_64>> => (MOV64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
28514 /* 80840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mr),
28515 /* 80843 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28516 /* 80847 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28517 /* 80849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28518 /* 80853 */ GIR_RootConstrainSelectedInstOperands,
28519 /* 80854 */ // GIR_Coverage, 22551,
28520 /* 80854 */ GIR_EraseRootFromParent_Done,
28521 /* 80855 */ // Label 1754: @80855
28522 /* 80855 */ GIM_Try, /*On fail goto*//*Label 1755*/ GIMT_Encode4(80897), // Rule ID 35 //
28523 /* 80860 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28524 /* 80863 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28525 /* 80867 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
28526 /* 80871 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28527 /* 80875 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28528 /* 80882 */ // (st GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOV64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
28529 /* 80882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64mr),
28530 /* 80885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28531 /* 80889 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28532 /* 80891 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28533 /* 80895 */ GIR_RootConstrainSelectedInstOperands,
28534 /* 80896 */ // GIR_Coverage, 35,
28535 /* 80896 */ GIR_EraseRootFromParent_Done,
28536 /* 80897 */ // Label 1755: @80897
28537 /* 80897 */ GIM_Try, /*On fail goto*//*Label 1756*/ GIMT_Encode4(80952), // Rule ID 1072 //
28538 /* 80902 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
28539 /* 80905 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28540 /* 80908 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28541 /* 80912 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
28542 /* 80919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
28543 /* 80923 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28544 /* 80927 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28545 /* 80934 */ // (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)
28546 /* 80934 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp64m32),
28547 /* 80937 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
28548 /* 80941 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28549 /* 80943 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
28550 /* 80946 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28551 /* 80950 */ GIR_RootConstrainSelectedInstOperands,
28552 /* 80951 */ // GIR_Coverage, 1072,
28553 /* 80951 */ GIR_EraseRootFromParent_Done,
28554 /* 80952 */ // Label 1756: @80952
28555 /* 80952 */ GIM_Try, /*On fail goto*//*Label 1757*/ GIMT_Encode4(81000), // Rule ID 1073 //
28556 /* 80957 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
28557 /* 80960 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28558 /* 80963 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28559 /* 80967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
28560 /* 80971 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28561 /* 80975 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28562 /* 80982 */ // (st RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_Fp64m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
28563 /* 80982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp64m),
28564 /* 80985 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
28565 /* 80989 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28566 /* 80991 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
28567 /* 80994 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28568 /* 80998 */ GIR_RootConstrainSelectedInstOperands,
28569 /* 80999 */ // GIR_Coverage, 1073,
28570 /* 80999 */ GIR_EraseRootFromParent_Done,
28571 /* 81000 */ // Label 1757: @81000
28572 /* 81000 */ GIM_Try, /*On fail goto*//*Label 1758*/ GIMT_Encode4(81045), // Rule ID 1668 //
28573 /* 81005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
28574 /* 81008 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28575 /* 81011 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28576 /* 81015 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
28577 /* 81019 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28578 /* 81023 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28579 /* 81030 */ // (st FR64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
28580 /* 81030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDmr),
28581 /* 81033 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28582 /* 81037 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28583 /* 81039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28584 /* 81043 */ GIR_RootConstrainSelectedInstOperands,
28585 /* 81044 */ // GIR_Coverage, 1668,
28586 /* 81044 */ GIR_EraseRootFromParent_Done,
28587 /* 81045 */ // Label 1758: @81045
28588 /* 81045 */ GIM_Try, /*On fail goto*//*Label 1759*/ GIMT_Encode4(81090), // Rule ID 1670 //
28589 /* 81050 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
28590 /* 81053 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28591 /* 81056 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28592 /* 81060 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
28593 /* 81064 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28594 /* 81068 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28595 /* 81075 */ // (st FR64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
28596 /* 81075 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSDmr),
28597 /* 81078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28598 /* 81082 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28599 /* 81084 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28600 /* 81088 */ GIR_RootConstrainSelectedInstOperands,
28601 /* 81089 */ // GIR_Coverage, 1670,
28602 /* 81089 */ GIR_EraseRootFromParent_Done,
28603 /* 81090 */ // Label 1759: @81090
28604 /* 81090 */ GIM_Try, /*On fail goto*//*Label 1760*/ GIMT_Encode4(81135), // Rule ID 4596 //
28605 /* 81095 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
28606 /* 81098 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28607 /* 81101 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28608 /* 81105 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
28609 /* 81109 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28610 /* 81113 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28611 /* 81120 */ // (st FR64X:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVSDZmr addr:{ *:[iPTR] }:$dst, FR64X:{ *:[f64] }:$src)
28612 /* 81120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVSDZmr),
28613 /* 81123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28614 /* 81127 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28615 /* 81129 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28616 /* 81133 */ GIR_RootConstrainSelectedInstOperands,
28617 /* 81134 */ // GIR_Coverage, 4596,
28618 /* 81134 */ GIR_EraseRootFromParent_Done,
28619 /* 81135 */ // Label 1760: @81135
28620 /* 81135 */ GIM_Reject,
28621 /* 81136 */ // Label 1502: @81136
28622 /* 81136 */ GIM_Try, /*On fail goto*//*Label 1761*/ GIMT_Encode4(81294),
28623 /* 81141 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28624 /* 81144 */ GIM_Try, /*On fail goto*//*Label 1762*/ GIMT_Encode4(81196), // Rule ID 1074 //
28625 /* 81149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
28626 /* 81152 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28627 /* 81156 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
28628 /* 81163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
28629 /* 81167 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28630 /* 81171 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28631 /* 81178 */ // (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)
28632 /* 81178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp80m32),
28633 /* 81181 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
28634 /* 81185 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28635 /* 81187 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
28636 /* 81190 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28637 /* 81194 */ GIR_RootConstrainSelectedInstOperands,
28638 /* 81195 */ // GIR_Coverage, 1074,
28639 /* 81195 */ GIR_EraseRootFromParent_Done,
28640 /* 81196 */ // Label 1762: @81196
28641 /* 81196 */ GIM_Try, /*On fail goto*//*Label 1763*/ GIMT_Encode4(81248), // Rule ID 1075 //
28642 /* 81201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
28643 /* 81204 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28644 /* 81208 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
28645 /* 81215 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
28646 /* 81219 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28647 /* 81223 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28648 /* 81230 */ // (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)
28649 /* 81230 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_Fp80m64),
28650 /* 81233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
28651 /* 81237 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28652 /* 81239 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
28653 /* 81242 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28654 /* 81246 */ GIR_RootConstrainSelectedInstOperands,
28655 /* 81247 */ // GIR_Coverage, 1075,
28656 /* 81247 */ GIR_EraseRootFromParent_Done,
28657 /* 81248 */ // Label 1763: @81248
28658 /* 81248 */ GIM_Try, /*On fail goto*//*Label 1764*/ GIMT_Encode4(81293), // Rule ID 1076 //
28659 /* 81253 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
28660 /* 81256 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28661 /* 81260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
28662 /* 81264 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28663 /* 81268 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28664 /* 81275 */ // (st RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (ST_FpP80m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
28665 /* 81275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ST_FpP80m),
28666 /* 81278 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
28667 /* 81282 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28668 /* 81284 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
28669 /* 81287 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28670 /* 81291 */ GIR_RootConstrainSelectedInstOperands,
28671 /* 81292 */ // GIR_Coverage, 1076,
28672 /* 81292 */ GIR_EraseRootFromParent_Done,
28673 /* 81293 */ // Label 1764: @81293
28674 /* 81293 */ GIM_Reject,
28675 /* 81294 */ // Label 1761: @81294
28676 /* 81294 */ GIM_Reject,
28677 /* 81295 */ // Label 1503: @81295
28678 /* 81295 */ GIM_Try, /*On fail goto*//*Label 1765*/ GIMT_Encode4(81548),
28679 /* 81300 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28680 /* 81303 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28681 /* 81307 */ GIM_Try, /*On fail goto*//*Label 1766*/ GIMT_Encode4(81349), // Rule ID 23200 //
28682 /* 81312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoAVX),
28683 /* 81315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28684 /* 81319 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28685 /* 81323 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28686 /* 81327 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28687 /* 81334 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
28688 /* 81334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28689 /* 81337 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28690 /* 81341 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28691 /* 81343 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28692 /* 81347 */ GIR_RootConstrainSelectedInstOperands,
28693 /* 81348 */ // GIR_Coverage, 23200,
28694 /* 81348 */ GIR_EraseRootFromParent_Done,
28695 /* 81349 */ // Label 1766: @81349
28696 /* 81349 */ GIM_Try, /*On fail goto*//*Label 1767*/ GIMT_Encode4(81387), // Rule ID 23201 //
28697 /* 81354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoAVX),
28698 /* 81357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28699 /* 81361 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28700 /* 81365 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28701 /* 81372 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
28702 /* 81372 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
28703 /* 81375 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28704 /* 81379 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28705 /* 81381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28706 /* 81385 */ GIR_RootConstrainSelectedInstOperands,
28707 /* 81386 */ // GIR_Coverage, 23201,
28708 /* 81386 */ GIR_EraseRootFromParent_Done,
28709 /* 81387 */ // Label 1767: @81387
28710 /* 81387 */ GIM_Try, /*On fail goto*//*Label 1768*/ GIMT_Encode4(81429), // Rule ID 23204 //
28711 /* 81392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28712 /* 81395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28713 /* 81399 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28714 /* 81403 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28715 /* 81407 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28716 /* 81414 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
28717 /* 81414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
28718 /* 81417 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28719 /* 81421 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28720 /* 81423 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28721 /* 81427 */ GIR_RootConstrainSelectedInstOperands,
28722 /* 81428 */ // GIR_Coverage, 23204,
28723 /* 81428 */ GIR_EraseRootFromParent_Done,
28724 /* 81429 */ // Label 1768: @81429
28725 /* 81429 */ GIM_Try, /*On fail goto*//*Label 1769*/ GIMT_Encode4(81467), // Rule ID 23205 //
28726 /* 81434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28727 /* 81437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28728 /* 81441 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28729 /* 81445 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28730 /* 81452 */ // (st VR128:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[f128] }:$src)
28731 /* 81452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
28732 /* 81455 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28733 /* 81459 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28734 /* 81461 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28735 /* 81465 */ GIR_RootConstrainSelectedInstOperands,
28736 /* 81466 */ // GIR_Coverage, 23205,
28737 /* 81466 */ GIR_EraseRootFromParent_Done,
28738 /* 81467 */ // Label 1769: @81467
28739 /* 81467 */ GIM_Try, /*On fail goto*//*Label 1770*/ GIMT_Encode4(81509), // Rule ID 23208 //
28740 /* 81472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
28741 /* 81475 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28742 /* 81479 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28743 /* 81483 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28744 /* 81487 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28745 /* 81494 */ // (st VR128X:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[f128] }:$src)
28746 /* 81494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
28747 /* 81497 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28748 /* 81501 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28749 /* 81503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28750 /* 81507 */ GIR_RootConstrainSelectedInstOperands,
28751 /* 81508 */ // GIR_Coverage, 23208,
28752 /* 81508 */ GIR_EraseRootFromParent_Done,
28753 /* 81509 */ // Label 1770: @81509
28754 /* 81509 */ GIM_Try, /*On fail goto*//*Label 1771*/ GIMT_Encode4(81547), // Rule ID 23209 //
28755 /* 81514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
28756 /* 81517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28757 /* 81521 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28758 /* 81525 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28759 /* 81532 */ // (st VR128X:{ *:[f128] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[f128] }:$src)
28760 /* 81532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
28761 /* 81535 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28762 /* 81539 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28763 /* 81541 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28764 /* 81545 */ GIR_RootConstrainSelectedInstOperands,
28765 /* 81546 */ // GIR_Coverage, 23209,
28766 /* 81546 */ GIR_EraseRootFromParent_Done,
28767 /* 81547 */ // Label 1771: @81547
28768 /* 81547 */ GIM_Reject,
28769 /* 81548 */ // Label 1765: @81548
28770 /* 81548 */ GIM_Reject,
28771 /* 81549 */ // Label 1504: @81549
28772 /* 81549 */ GIM_Try, /*On fail goto*//*Label 1772*/ GIMT_Encode4(81630),
28773 /* 81554 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28774 /* 81557 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28775 /* 81561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
28776 /* 81565 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28777 /* 81569 */ GIM_Try, /*On fail goto*//*Label 1773*/ GIMT_Encode4(81599), // Rule ID 4374 //
28778 /* 81574 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoEGPR),
28779 /* 81577 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28780 /* 81584 */ // (st VK8:{ *:[v8i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVBmk addr:{ *:[iPTR] }:$dst, VK8:{ *:[v8i1] }:$src)
28781 /* 81584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBmk),
28782 /* 81587 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28783 /* 81591 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28784 /* 81593 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28785 /* 81597 */ GIR_RootConstrainSelectedInstOperands,
28786 /* 81598 */ // GIR_Coverage, 4374,
28787 /* 81598 */ GIR_EraseRootFromParent_Done,
28788 /* 81599 */ // Label 1773: @81599
28789 /* 81599 */ GIM_Try, /*On fail goto*//*Label 1774*/ GIMT_Encode4(81629), // Rule ID 4376 //
28790 /* 81604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasEGPR_In64BitMode),
28791 /* 81607 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28792 /* 81614 */ // (st VK8:{ *:[v8i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVBmk_EVEX addr:{ *:[iPTR] }:$dst, VK8:{ *:[v8i1] }:$src)
28793 /* 81614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBmk_EVEX),
28794 /* 81617 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28795 /* 81621 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28796 /* 81623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28797 /* 81627 */ GIR_RootConstrainSelectedInstOperands,
28798 /* 81628 */ // GIR_Coverage, 4376,
28799 /* 81628 */ GIR_EraseRootFromParent_Done,
28800 /* 81629 */ // Label 1774: @81629
28801 /* 81629 */ GIM_Reject,
28802 /* 81630 */ // Label 1772: @81630
28803 /* 81630 */ GIM_Reject,
28804 /* 81631 */ // Label 1505: @81631
28805 /* 81631 */ GIM_Try, /*On fail goto*//*Label 1775*/ GIMT_Encode4(81712),
28806 /* 81636 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28807 /* 81639 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28808 /* 81643 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
28809 /* 81647 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28810 /* 81651 */ GIM_Try, /*On fail goto*//*Label 1776*/ GIMT_Encode4(81681), // Rule ID 4378 //
28811 /* 81656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoEGPR),
28812 /* 81659 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28813 /* 81666 */ // (st VK16:{ *:[v16i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVWmk addr:{ *:[iPTR] }:$dst, VK16:{ *:[v16i1] }:$src)
28814 /* 81666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWmk),
28815 /* 81669 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28816 /* 81673 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28817 /* 81675 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28818 /* 81679 */ GIR_RootConstrainSelectedInstOperands,
28819 /* 81680 */ // GIR_Coverage, 4378,
28820 /* 81680 */ GIR_EraseRootFromParent_Done,
28821 /* 81681 */ // Label 1776: @81681
28822 /* 81681 */ GIM_Try, /*On fail goto*//*Label 1777*/ GIMT_Encode4(81711), // Rule ID 4380 //
28823 /* 81686 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasEGPR_In64BitMode),
28824 /* 81689 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28825 /* 81696 */ // (st VK16:{ *:[v16i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVWmk_EVEX addr:{ *:[iPTR] }:$dst, VK16:{ *:[v16i1] }:$src)
28826 /* 81696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWmk_EVEX),
28827 /* 81699 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28828 /* 81703 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28829 /* 81705 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28830 /* 81709 */ GIR_RootConstrainSelectedInstOperands,
28831 /* 81710 */ // GIR_Coverage, 4380,
28832 /* 81710 */ GIR_EraseRootFromParent_Done,
28833 /* 81711 */ // Label 1777: @81711
28834 /* 81711 */ GIM_Reject,
28835 /* 81712 */ // Label 1775: @81712
28836 /* 81712 */ GIM_Reject,
28837 /* 81713 */ // Label 1506: @81713
28838 /* 81713 */ GIM_Try, /*On fail goto*//*Label 1778*/ GIMT_Encode4(81794),
28839 /* 81718 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28840 /* 81721 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28841 /* 81725 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
28842 /* 81729 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28843 /* 81733 */ GIM_Try, /*On fail goto*//*Label 1779*/ GIMT_Encode4(81763), // Rule ID 4382 //
28844 /* 81738 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoEGPR),
28845 /* 81741 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28846 /* 81748 */ // (st VK32:{ *:[v32i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVDmk addr:{ *:[iPTR] }:$dst, VK32:{ *:[v32i1] }:$src)
28847 /* 81748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDmk),
28848 /* 81751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28849 /* 81755 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28850 /* 81757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28851 /* 81761 */ GIR_RootConstrainSelectedInstOperands,
28852 /* 81762 */ // GIR_Coverage, 4382,
28853 /* 81762 */ GIR_EraseRootFromParent_Done,
28854 /* 81763 */ // Label 1779: @81763
28855 /* 81763 */ GIM_Try, /*On fail goto*//*Label 1780*/ GIMT_Encode4(81793), // Rule ID 4386 //
28856 /* 81768 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode),
28857 /* 81771 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28858 /* 81778 */ // (st VK32:{ *:[v32i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVDmk_EVEX addr:{ *:[iPTR] }:$dst, VK32:{ *:[v32i1] }:$src)
28859 /* 81778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVDmk_EVEX),
28860 /* 81781 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28861 /* 81785 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28862 /* 81787 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28863 /* 81791 */ GIR_RootConstrainSelectedInstOperands,
28864 /* 81792 */ // GIR_Coverage, 4386,
28865 /* 81792 */ GIR_EraseRootFromParent_Done,
28866 /* 81793 */ // Label 1780: @81793
28867 /* 81793 */ GIM_Reject,
28868 /* 81794 */ // Label 1778: @81794
28869 /* 81794 */ GIM_Reject,
28870 /* 81795 */ // Label 1507: @81795
28871 /* 81795 */ GIM_Try, /*On fail goto*//*Label 1781*/ GIMT_Encode4(81876),
28872 /* 81800 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28873 /* 81803 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28874 /* 81807 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
28875 /* 81811 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28876 /* 81815 */ GIM_Try, /*On fail goto*//*Label 1782*/ GIMT_Encode4(81845), // Rule ID 4384 //
28877 /* 81820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoEGPR),
28878 /* 81823 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28879 /* 81830 */ // (st VK64:{ *:[v64i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVQmk addr:{ *:[iPTR] }:$dst, VK64:{ *:[v64i1] }:$src)
28880 /* 81830 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQmk),
28881 /* 81833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28882 /* 81837 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28883 /* 81839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28884 /* 81843 */ GIR_RootConstrainSelectedInstOperands,
28885 /* 81844 */ // GIR_Coverage, 4384,
28886 /* 81844 */ GIR_EraseRootFromParent_Done,
28887 /* 81845 */ // Label 1782: @81845
28888 /* 81845 */ GIM_Try, /*On fail goto*//*Label 1783*/ GIMT_Encode4(81875), // Rule ID 4388 //
28889 /* 81850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasEGPR_In64BitMode),
28890 /* 81853 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28891 /* 81860 */ // (st VK64:{ *:[v64i1] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (KMOVQmk_EVEX addr:{ *:[iPTR] }:$dst, VK64:{ *:[v64i1] }:$src)
28892 /* 81860 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVQmk_EVEX),
28893 /* 81863 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28894 /* 81867 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28895 /* 81869 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28896 /* 81873 */ GIR_RootConstrainSelectedInstOperands,
28897 /* 81874 */ // GIR_Coverage, 4388,
28898 /* 81874 */ GIR_EraseRootFromParent_Done,
28899 /* 81875 */ // Label 1783: @81875
28900 /* 81875 */ GIM_Reject,
28901 /* 81876 */ // Label 1781: @81876
28902 /* 81876 */ GIM_Reject,
28903 /* 81877 */ // Label 1508: @81877
28904 /* 81877 */ GIM_Try, /*On fail goto*//*Label 1784*/ GIMT_Encode4(82130),
28905 /* 81882 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
28906 /* 81885 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
28907 /* 81889 */ GIM_Try, /*On fail goto*//*Label 1785*/ GIMT_Encode4(81931), // Rule ID 17916 //
28908 /* 81894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
28909 /* 81897 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28910 /* 81901 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28911 /* 81905 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28912 /* 81909 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28913 /* 81916 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
28914 /* 81916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
28915 /* 81919 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28916 /* 81923 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28917 /* 81925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28918 /* 81929 */ GIR_RootConstrainSelectedInstOperands,
28919 /* 81930 */ // GIR_Coverage, 17916,
28920 /* 81930 */ GIR_EraseRootFromParent_Done,
28921 /* 81931 */ // Label 1785: @81931
28922 /* 81931 */ GIM_Try, /*On fail goto*//*Label 1786*/ GIMT_Encode4(81969), // Rule ID 17920 //
28923 /* 81936 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
28924 /* 81939 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28925 /* 81943 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28926 /* 81947 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28927 /* 81954 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
28928 /* 81954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
28929 /* 81957 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28930 /* 81961 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28931 /* 81963 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28932 /* 81967 */ GIR_RootConstrainSelectedInstOperands,
28933 /* 81968 */ // GIR_Coverage, 17920,
28934 /* 81968 */ GIR_EraseRootFromParent_Done,
28935 /* 81969 */ // Label 1786: @81969
28936 /* 81969 */ GIM_Try, /*On fail goto*//*Label 1787*/ GIMT_Encode4(82011), // Rule ID 18296 //
28937 /* 81974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28938 /* 81977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28939 /* 81981 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28940 /* 81985 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28941 /* 81989 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28942 /* 81996 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
28943 /* 81996 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
28944 /* 81999 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28945 /* 82003 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28946 /* 82005 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28947 /* 82009 */ GIR_RootConstrainSelectedInstOperands,
28948 /* 82010 */ // GIR_Coverage, 18296,
28949 /* 82010 */ GIR_EraseRootFromParent_Done,
28950 /* 82011 */ // Label 1787: @82011
28951 /* 82011 */ GIM_Try, /*On fail goto*//*Label 1788*/ GIMT_Encode4(82049), // Rule ID 18300 //
28952 /* 82016 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
28953 /* 82019 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
28954 /* 82023 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28955 /* 82027 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28956 /* 82034 */ // (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
28957 /* 82034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
28958 /* 82037 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28959 /* 82041 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28960 /* 82043 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28961 /* 82047 */ GIR_RootConstrainSelectedInstOperands,
28962 /* 82048 */ // GIR_Coverage, 18300,
28963 /* 82048 */ GIR_EraseRootFromParent_Done,
28964 /* 82049 */ // Label 1788: @82049
28965 /* 82049 */ GIM_Try, /*On fail goto*//*Label 1789*/ GIMT_Encode4(82091), // Rule ID 19808 //
28966 /* 82054 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
28967 /* 82057 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28968 /* 82061 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28969 /* 82065 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
28970 /* 82069 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28971 /* 82076 */ // (st VR128X:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v16i8] }:$src)
28972 /* 82076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
28973 /* 82079 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28974 /* 82083 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28975 /* 82085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28976 /* 82089 */ GIR_RootConstrainSelectedInstOperands,
28977 /* 82090 */ // GIR_Coverage, 19808,
28978 /* 82090 */ GIR_EraseRootFromParent_Done,
28979 /* 82091 */ // Label 1789: @82091
28980 /* 82091 */ GIM_Try, /*On fail goto*//*Label 1790*/ GIMT_Encode4(82129), // Rule ID 19812 //
28981 /* 82096 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
28982 /* 82099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
28983 /* 82103 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
28984 /* 82107 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
28985 /* 82114 */ // (st VR128X:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v16i8] }:$src)
28986 /* 82114 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
28987 /* 82117 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
28988 /* 82121 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
28989 /* 82123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
28990 /* 82127 */ GIR_RootConstrainSelectedInstOperands,
28991 /* 82128 */ // GIR_Coverage, 19812,
28992 /* 82128 */ GIR_EraseRootFromParent_Done,
28993 /* 82129 */ // Label 1790: @82129
28994 /* 82129 */ GIM_Reject,
28995 /* 82130 */ // Label 1784: @82130
28996 /* 82130 */ GIM_Reject,
28997 /* 82131 */ // Label 1509: @82131
28998 /* 82131 */ GIM_Try, /*On fail goto*//*Label 1791*/ GIMT_Encode4(82304),
28999 /* 82136 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29000 /* 82139 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29001 /* 82143 */ GIM_Try, /*On fail goto*//*Label 1792*/ GIMT_Encode4(82185), // Rule ID 17892 //
29002 /* 82148 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29003 /* 82151 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29004 /* 82155 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29005 /* 82159 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29006 /* 82163 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29007 /* 82170 */ // (st VR256:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src)
29008 /* 82170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29009 /* 82173 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29010 /* 82177 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29011 /* 82179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29012 /* 82183 */ GIR_RootConstrainSelectedInstOperands,
29013 /* 82184 */ // GIR_Coverage, 17892,
29014 /* 82184 */ GIR_EraseRootFromParent_Done,
29015 /* 82185 */ // Label 1792: @82185
29016 /* 82185 */ GIM_Try, /*On fail goto*//*Label 1793*/ GIMT_Encode4(82223), // Rule ID 17896 //
29017 /* 82190 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29018 /* 82193 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29019 /* 82197 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29020 /* 82201 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29021 /* 82208 */ // (st VR256:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src)
29022 /* 82208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29023 /* 82211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29024 /* 82215 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29025 /* 82217 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29026 /* 82221 */ GIR_RootConstrainSelectedInstOperands,
29027 /* 82222 */ // GIR_Coverage, 17896,
29028 /* 82222 */ GIR_EraseRootFromParent_Done,
29029 /* 82223 */ // Label 1793: @82223
29030 /* 82223 */ GIM_Try, /*On fail goto*//*Label 1794*/ GIMT_Encode4(82265), // Rule ID 19824 //
29031 /* 82228 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29032 /* 82231 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29033 /* 82235 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29034 /* 82239 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29035 /* 82243 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29036 /* 82250 */ // (st VR256X:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src)
29037 /* 82250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29038 /* 82253 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29039 /* 82257 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29040 /* 82259 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29041 /* 82263 */ GIR_RootConstrainSelectedInstOperands,
29042 /* 82264 */ // GIR_Coverage, 19824,
29043 /* 82264 */ GIR_EraseRootFromParent_Done,
29044 /* 82265 */ // Label 1794: @82265
29045 /* 82265 */ GIM_Try, /*On fail goto*//*Label 1795*/ GIMT_Encode4(82303), // Rule ID 19828 //
29046 /* 82270 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29047 /* 82273 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29048 /* 82277 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29049 /* 82281 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29050 /* 82288 */ // (st VR256X:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src)
29051 /* 82288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
29052 /* 82291 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29053 /* 82295 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29054 /* 82297 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29055 /* 82301 */ GIR_RootConstrainSelectedInstOperands,
29056 /* 82302 */ // GIR_Coverage, 19828,
29057 /* 82302 */ GIR_EraseRootFromParent_Done,
29058 /* 82303 */ // Label 1795: @82303
29059 /* 82303 */ GIM_Reject,
29060 /* 82304 */ // Label 1791: @82304
29061 /* 82304 */ GIM_Reject,
29062 /* 82305 */ // Label 1510: @82305
29063 /* 82305 */ GIM_Try, /*On fail goto*//*Label 1796*/ GIMT_Encode4(82398),
29064 /* 82310 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29065 /* 82313 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29066 /* 82317 */ GIM_Try, /*On fail goto*//*Label 1797*/ GIMT_Encode4(82359), // Rule ID 19792 //
29067 /* 82322 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29068 /* 82325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29069 /* 82329 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29070 /* 82333 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29071 /* 82337 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29072 /* 82344 */ // (st VR512:{ *:[v64i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v64i8] }:$src)
29073 /* 82344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
29074 /* 82347 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29075 /* 82351 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29076 /* 82353 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29077 /* 82357 */ GIR_RootConstrainSelectedInstOperands,
29078 /* 82358 */ // GIR_Coverage, 19792,
29079 /* 82358 */ GIR_EraseRootFromParent_Done,
29080 /* 82359 */ // Label 1797: @82359
29081 /* 82359 */ GIM_Try, /*On fail goto*//*Label 1798*/ GIMT_Encode4(82397), // Rule ID 19796 //
29082 /* 82364 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29083 /* 82367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29084 /* 82371 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29085 /* 82375 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29086 /* 82382 */ // (st VR512:{ *:[v64i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v64i8] }:$src)
29087 /* 82382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
29088 /* 82385 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29089 /* 82389 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29090 /* 82391 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29091 /* 82395 */ GIR_RootConstrainSelectedInstOperands,
29092 /* 82396 */ // GIR_Coverage, 19796,
29093 /* 82396 */ GIR_EraseRootFromParent_Done,
29094 /* 82397 */ // Label 1798: @82397
29095 /* 82397 */ GIM_Reject,
29096 /* 82398 */ // Label 1796: @82398
29097 /* 82398 */ GIM_Reject,
29098 /* 82399 */ // Label 1511: @82399
29099 /* 82399 */ GIM_Try, /*On fail goto*//*Label 1799*/ GIMT_Encode4(82972),
29100 /* 82404 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29101 /* 82407 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29102 /* 82411 */ GIM_Try, /*On fail goto*//*Label 1800*/ GIMT_Encode4(82453), // Rule ID 17899 //
29103 /* 82416 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29104 /* 82419 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29105 /* 82423 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29106 /* 82427 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29107 /* 82431 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29108 /* 82438 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29109 /* 82438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
29110 /* 82441 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29111 /* 82445 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29112 /* 82447 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29113 /* 82451 */ GIR_RootConstrainSelectedInstOperands,
29114 /* 82452 */ // GIR_Coverage, 17899,
29115 /* 82452 */ GIR_EraseRootFromParent_Done,
29116 /* 82453 */ // Label 1800: @82453
29117 /* 82453 */ GIM_Try, /*On fail goto*//*Label 1801*/ GIMT_Encode4(82491), // Rule ID 17900 //
29118 /* 82458 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29119 /* 82461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29120 /* 82465 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29121 /* 82469 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29122 /* 82476 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29123 /* 82476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
29124 /* 82479 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29125 /* 82483 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29126 /* 82485 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29127 /* 82489 */ GIR_RootConstrainSelectedInstOperands,
29128 /* 82490 */ // GIR_Coverage, 17900,
29129 /* 82490 */ GIR_EraseRootFromParent_Done,
29130 /* 82491 */ // Label 1801: @82491
29131 /* 82491 */ GIM_Try, /*On fail goto*//*Label 1802*/ GIMT_Encode4(82533), // Rule ID 17915 //
29132 /* 82496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29133 /* 82499 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29134 /* 82503 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29135 /* 82507 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29136 /* 82511 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29137 /* 82518 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
29138 /* 82518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29139 /* 82521 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29140 /* 82525 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29141 /* 82527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29142 /* 82531 */ GIR_RootConstrainSelectedInstOperands,
29143 /* 82532 */ // GIR_Coverage, 17915,
29144 /* 82532 */ GIR_EraseRootFromParent_Done,
29145 /* 82533 */ // Label 1802: @82533
29146 /* 82533 */ GIM_Try, /*On fail goto*//*Label 1803*/ GIMT_Encode4(82571), // Rule ID 17919 //
29147 /* 82538 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29148 /* 82541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29149 /* 82545 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29150 /* 82549 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29151 /* 82556 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
29152 /* 82556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29153 /* 82559 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29154 /* 82563 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29155 /* 82565 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29156 /* 82569 */ GIR_RootConstrainSelectedInstOperands,
29157 /* 82570 */ // GIR_Coverage, 17919,
29158 /* 82570 */ GIR_EraseRootFromParent_Done,
29159 /* 82571 */ // Label 1803: @82571
29160 /* 82571 */ GIM_Try, /*On fail goto*//*Label 1804*/ GIMT_Encode4(82613), // Rule ID 17923 //
29161 /* 82576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
29162 /* 82579 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29163 /* 82583 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29164 /* 82587 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29165 /* 82591 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29166 /* 82598 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29167 /* 82598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29168 /* 82601 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29169 /* 82605 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29170 /* 82607 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29171 /* 82611 */ GIR_RootConstrainSelectedInstOperands,
29172 /* 82612 */ // GIR_Coverage, 17923,
29173 /* 82612 */ GIR_EraseRootFromParent_Done,
29174 /* 82613 */ // Label 1804: @82613
29175 /* 82613 */ GIM_Try, /*On fail goto*//*Label 1805*/ GIMT_Encode4(82651), // Rule ID 17924 //
29176 /* 82618 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
29177 /* 82621 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29178 /* 82625 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29179 /* 82629 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29180 /* 82636 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29181 /* 82636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29182 /* 82639 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29183 /* 82643 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29184 /* 82645 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29185 /* 82649 */ GIR_RootConstrainSelectedInstOperands,
29186 /* 82650 */ // GIR_Coverage, 17924,
29187 /* 82650 */ GIR_EraseRootFromParent_Done,
29188 /* 82651 */ // Label 1805: @82651
29189 /* 82651 */ GIM_Try, /*On fail goto*//*Label 1806*/ GIMT_Encode4(82693), // Rule ID 18294 //
29190 /* 82656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29191 /* 82659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29192 /* 82663 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29193 /* 82667 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29194 /* 82671 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29195 /* 82678 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
29196 /* 82678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
29197 /* 82681 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29198 /* 82685 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29199 /* 82687 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29200 /* 82691 */ GIR_RootConstrainSelectedInstOperands,
29201 /* 82692 */ // GIR_Coverage, 18294,
29202 /* 82692 */ GIR_EraseRootFromParent_Done,
29203 /* 82693 */ // Label 1806: @82693
29204 /* 82693 */ GIM_Try, /*On fail goto*//*Label 1807*/ GIMT_Encode4(82735), // Rule ID 18295 //
29205 /* 82698 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29206 /* 82701 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29207 /* 82705 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29208 /* 82709 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29209 /* 82713 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29210 /* 82720 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29211 /* 82720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
29212 /* 82723 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29213 /* 82727 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29214 /* 82729 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29215 /* 82733 */ GIR_RootConstrainSelectedInstOperands,
29216 /* 82734 */ // GIR_Coverage, 18295,
29217 /* 82734 */ GIR_EraseRootFromParent_Done,
29218 /* 82735 */ // Label 1807: @82735
29219 /* 82735 */ GIM_Try, /*On fail goto*//*Label 1808*/ GIMT_Encode4(82773), // Rule ID 18298 //
29220 /* 82740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29221 /* 82743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29222 /* 82747 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29223 /* 82751 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29224 /* 82758 */ // (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
29225 /* 82758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
29226 /* 82761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29227 /* 82765 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29228 /* 82767 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29229 /* 82771 */ GIR_RootConstrainSelectedInstOperands,
29230 /* 82772 */ // GIR_Coverage, 18298,
29231 /* 82772 */ GIR_EraseRootFromParent_Done,
29232 /* 82773 */ // Label 1808: @82773
29233 /* 82773 */ GIM_Try, /*On fail goto*//*Label 1809*/ GIMT_Encode4(82811), // Rule ID 18299 //
29234 /* 82778 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29235 /* 82781 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29236 /* 82785 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29237 /* 82789 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29238 /* 82796 */ // (st VR128:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8f16] }:$src)
29239 /* 82796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
29240 /* 82799 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29241 /* 82803 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29242 /* 82805 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29243 /* 82809 */ GIR_RootConstrainSelectedInstOperands,
29244 /* 82810 */ // GIR_Coverage, 18299,
29245 /* 82810 */ GIR_EraseRootFromParent_Done,
29246 /* 82811 */ // Label 1809: @82811
29247 /* 82811 */ GIM_Try, /*On fail goto*//*Label 1810*/ GIMT_Encode4(82853), // Rule ID 19806 //
29248 /* 82816 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29249 /* 82819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29250 /* 82823 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29251 /* 82827 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29252 /* 82831 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29253 /* 82838 */ // (st VR128X:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8i16] }:$src)
29254 /* 82838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
29255 /* 82841 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29256 /* 82845 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29257 /* 82847 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29258 /* 82851 */ GIR_RootConstrainSelectedInstOperands,
29259 /* 82852 */ // GIR_Coverage, 19806,
29260 /* 82852 */ GIR_EraseRootFromParent_Done,
29261 /* 82853 */ // Label 1810: @82853
29262 /* 82853 */ GIM_Try, /*On fail goto*//*Label 1811*/ GIMT_Encode4(82895), // Rule ID 19807 //
29263 /* 82858 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29264 /* 82861 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29265 /* 82865 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29266 /* 82869 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29267 /* 82873 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29268 /* 82880 */ // (st VR128X:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8f16] }:$src)
29269 /* 82880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
29270 /* 82883 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29271 /* 82887 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29272 /* 82889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29273 /* 82893 */ GIR_RootConstrainSelectedInstOperands,
29274 /* 82894 */ // GIR_Coverage, 19807,
29275 /* 82894 */ GIR_EraseRootFromParent_Done,
29276 /* 82895 */ // Label 1811: @82895
29277 /* 82895 */ GIM_Try, /*On fail goto*//*Label 1812*/ GIMT_Encode4(82933), // Rule ID 19810 //
29278 /* 82900 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29279 /* 82903 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29280 /* 82907 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29281 /* 82911 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29282 /* 82918 */ // (st VR128X:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8i16] }:$src)
29283 /* 82918 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
29284 /* 82921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29285 /* 82925 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29286 /* 82927 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29287 /* 82931 */ GIR_RootConstrainSelectedInstOperands,
29288 /* 82932 */ // GIR_Coverage, 19810,
29289 /* 82932 */ GIR_EraseRootFromParent_Done,
29290 /* 82933 */ // Label 1812: @82933
29291 /* 82933 */ GIM_Try, /*On fail goto*//*Label 1813*/ GIMT_Encode4(82971), // Rule ID 19811 //
29292 /* 82938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29293 /* 82941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29294 /* 82945 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29295 /* 82949 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29296 /* 82956 */ // (st VR128X:{ *:[v8f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8f16] }:$src)
29297 /* 82956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
29298 /* 82959 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29299 /* 82963 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29300 /* 82965 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29301 /* 82969 */ GIR_RootConstrainSelectedInstOperands,
29302 /* 82970 */ // GIR_Coverage, 19811,
29303 /* 82970 */ GIR_EraseRootFromParent_Done,
29304 /* 82971 */ // Label 1813: @82971
29305 /* 82971 */ GIM_Reject,
29306 /* 82972 */ // Label 1799: @82972
29307 /* 82972 */ GIM_Reject,
29308 /* 82973 */ // Label 1512: @82973
29309 /* 82973 */ GIM_Try, /*On fail goto*//*Label 1814*/ GIMT_Encode4(83306),
29310 /* 82978 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29311 /* 82981 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29312 /* 82985 */ GIM_Try, /*On fail goto*//*Label 1815*/ GIMT_Encode4(83027), // Rule ID 17891 //
29313 /* 82990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29314 /* 82993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29315 /* 82997 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29316 /* 83001 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29317 /* 83005 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29318 /* 83012 */ // (st VR256:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src)
29319 /* 83012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29320 /* 83015 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29321 /* 83019 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29322 /* 83021 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29323 /* 83025 */ GIR_RootConstrainSelectedInstOperands,
29324 /* 83026 */ // GIR_Coverage, 17891,
29325 /* 83026 */ GIR_EraseRootFromParent_Done,
29326 /* 83027 */ // Label 1815: @83027
29327 /* 83027 */ GIM_Try, /*On fail goto*//*Label 1816*/ GIMT_Encode4(83065), // Rule ID 17895 //
29328 /* 83032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29329 /* 83035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29330 /* 83039 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29331 /* 83043 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29332 /* 83050 */ // (st VR256:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src)
29333 /* 83050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29334 /* 83053 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29335 /* 83057 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29336 /* 83059 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29337 /* 83063 */ GIR_RootConstrainSelectedInstOperands,
29338 /* 83064 */ // GIR_Coverage, 17895,
29339 /* 83064 */ GIR_EraseRootFromParent_Done,
29340 /* 83065 */ // Label 1816: @83065
29341 /* 83065 */ GIM_Try, /*On fail goto*//*Label 1817*/ GIMT_Encode4(83107), // Rule ID 17903 //
29342 /* 83070 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29343 /* 83073 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29344 /* 83077 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29345 /* 83081 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29346 /* 83085 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29347 /* 83092 */ // (st VR256:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16f16] }:$src)
29348 /* 83092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29349 /* 83095 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29350 /* 83099 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29351 /* 83101 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29352 /* 83105 */ GIR_RootConstrainSelectedInstOperands,
29353 /* 83106 */ // GIR_Coverage, 17903,
29354 /* 83106 */ GIR_EraseRootFromParent_Done,
29355 /* 83107 */ // Label 1817: @83107
29356 /* 83107 */ GIM_Try, /*On fail goto*//*Label 1818*/ GIMT_Encode4(83145), // Rule ID 17904 //
29357 /* 83112 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29358 /* 83115 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29359 /* 83119 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29360 /* 83123 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29361 /* 83130 */ // (st VR256:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16f16] }:$src)
29362 /* 83130 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29363 /* 83133 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29364 /* 83137 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29365 /* 83139 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29366 /* 83143 */ GIR_RootConstrainSelectedInstOperands,
29367 /* 83144 */ // GIR_Coverage, 17904,
29368 /* 83144 */ GIR_EraseRootFromParent_Done,
29369 /* 83145 */ // Label 1818: @83145
29370 /* 83145 */ GIM_Try, /*On fail goto*//*Label 1819*/ GIMT_Encode4(83187), // Rule ID 19822 //
29371 /* 83150 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29372 /* 83153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29373 /* 83157 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29374 /* 83161 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29375 /* 83165 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29376 /* 83172 */ // (st VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
29377 /* 83172 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29378 /* 83175 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29379 /* 83179 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29380 /* 83181 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29381 /* 83185 */ GIR_RootConstrainSelectedInstOperands,
29382 /* 83186 */ // GIR_Coverage, 19822,
29383 /* 83186 */ GIR_EraseRootFromParent_Done,
29384 /* 83187 */ // Label 1819: @83187
29385 /* 83187 */ GIM_Try, /*On fail goto*//*Label 1820*/ GIMT_Encode4(83229), // Rule ID 19823 //
29386 /* 83192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29387 /* 83195 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29388 /* 83199 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29389 /* 83203 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29390 /* 83207 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29391 /* 83214 */ // (st VR256X:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16f16] }:$src)
29392 /* 83214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256mr),
29393 /* 83217 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29394 /* 83221 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29395 /* 83223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29396 /* 83227 */ GIR_RootConstrainSelectedInstOperands,
29397 /* 83228 */ // GIR_Coverage, 19823,
29398 /* 83228 */ GIR_EraseRootFromParent_Done,
29399 /* 83229 */ // Label 1820: @83229
29400 /* 83229 */ GIM_Try, /*On fail goto*//*Label 1821*/ GIMT_Encode4(83267), // Rule ID 19826 //
29401 /* 83234 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29402 /* 83237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29403 /* 83241 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29404 /* 83245 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29405 /* 83252 */ // (st VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
29406 /* 83252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
29407 /* 83255 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29408 /* 83259 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29409 /* 83261 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29410 /* 83265 */ GIR_RootConstrainSelectedInstOperands,
29411 /* 83266 */ // GIR_Coverage, 19826,
29412 /* 83266 */ GIR_EraseRootFromParent_Done,
29413 /* 83267 */ // Label 1821: @83267
29414 /* 83267 */ GIM_Try, /*On fail goto*//*Label 1822*/ GIMT_Encode4(83305), // Rule ID 19827 //
29415 /* 83272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29416 /* 83275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29417 /* 83279 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29418 /* 83283 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29419 /* 83290 */ // (st VR256X:{ *:[v16f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16f16] }:$src)
29420 /* 83290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256mr),
29421 /* 83293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29422 /* 83297 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29423 /* 83299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29424 /* 83303 */ GIR_RootConstrainSelectedInstOperands,
29425 /* 83304 */ // GIR_Coverage, 19827,
29426 /* 83304 */ GIR_EraseRootFromParent_Done,
29427 /* 83305 */ // Label 1822: @83305
29428 /* 83305 */ GIM_Reject,
29429 /* 83306 */ // Label 1814: @83306
29430 /* 83306 */ GIM_Reject,
29431 /* 83307 */ // Label 1513: @83307
29432 /* 83307 */ GIM_Try, /*On fail goto*//*Label 1823*/ GIMT_Encode4(83480),
29433 /* 83312 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29434 /* 83315 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29435 /* 83319 */ GIM_Try, /*On fail goto*//*Label 1824*/ GIMT_Encode4(83361), // Rule ID 19790 //
29436 /* 83324 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29437 /* 83327 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29438 /* 83331 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29439 /* 83335 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29440 /* 83339 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29441 /* 83346 */ // (st VR512:{ *:[v32i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32i16] }:$src)
29442 /* 83346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
29443 /* 83349 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29444 /* 83353 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29445 /* 83355 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29446 /* 83359 */ GIR_RootConstrainSelectedInstOperands,
29447 /* 83360 */ // GIR_Coverage, 19790,
29448 /* 83360 */ GIR_EraseRootFromParent_Done,
29449 /* 83361 */ // Label 1824: @83361
29450 /* 83361 */ GIM_Try, /*On fail goto*//*Label 1825*/ GIMT_Encode4(83403), // Rule ID 19791 //
29451 /* 83366 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29452 /* 83369 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29453 /* 83373 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29454 /* 83377 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29455 /* 83381 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29456 /* 83388 */ // (st VR512:{ *:[v32f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32f16] }:$src)
29457 /* 83388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZmr),
29458 /* 83391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29459 /* 83395 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29460 /* 83397 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29461 /* 83401 */ GIR_RootConstrainSelectedInstOperands,
29462 /* 83402 */ // GIR_Coverage, 19791,
29463 /* 83402 */ GIR_EraseRootFromParent_Done,
29464 /* 83403 */ // Label 1825: @83403
29465 /* 83403 */ GIM_Try, /*On fail goto*//*Label 1826*/ GIMT_Encode4(83441), // Rule ID 19794 //
29466 /* 83408 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29467 /* 83411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29468 /* 83415 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29469 /* 83419 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29470 /* 83426 */ // (st VR512:{ *:[v32i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32i16] }:$src)
29471 /* 83426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
29472 /* 83429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29473 /* 83433 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29474 /* 83435 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29475 /* 83439 */ GIR_RootConstrainSelectedInstOperands,
29476 /* 83440 */ // GIR_Coverage, 19794,
29477 /* 83440 */ GIR_EraseRootFromParent_Done,
29478 /* 83441 */ // Label 1826: @83441
29479 /* 83441 */ GIM_Try, /*On fail goto*//*Label 1827*/ GIMT_Encode4(83479), // Rule ID 19795 //
29480 /* 83446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29481 /* 83449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29482 /* 83453 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29483 /* 83457 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29484 /* 83464 */ // (st VR512:{ *:[v32f16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32f16] }:$src)
29485 /* 83464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZmr),
29486 /* 83467 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29487 /* 83471 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29488 /* 83473 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29489 /* 83477 */ GIR_RootConstrainSelectedInstOperands,
29490 /* 83478 */ // GIR_Coverage, 19795,
29491 /* 83478 */ GIR_EraseRootFromParent_Done,
29492 /* 83479 */ // Label 1827: @83479
29493 /* 83479 */ GIM_Reject,
29494 /* 83480 */ // Label 1823: @83480
29495 /* 83480 */ GIM_Reject,
29496 /* 83481 */ // Label 1514: @83481
29497 /* 83481 */ GIM_Try, /*On fail goto*//*Label 1828*/ GIMT_Encode4(83974),
29498 /* 83486 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29499 /* 83489 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29500 /* 83493 */ GIM_Try, /*On fail goto*//*Label 1829*/ GIMT_Encode4(83535), // Rule ID 1691 //
29501 /* 83498 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29502 /* 83501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29503 /* 83505 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29504 /* 83509 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29505 /* 83513 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29506 /* 83520 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
29507 /* 83520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSmr),
29508 /* 83523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29509 /* 83527 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29510 /* 83529 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29511 /* 83533 */ GIR_RootConstrainSelectedInstOperands,
29512 /* 83534 */ // GIR_Coverage, 1691,
29513 /* 83534 */ GIR_EraseRootFromParent_Done,
29514 /* 83535 */ // Label 1829: @83535
29515 /* 83535 */ GIM_Try, /*On fail goto*//*Label 1830*/ GIMT_Encode4(83573), // Rule ID 1693 //
29516 /* 83540 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29517 /* 83543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29518 /* 83547 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29519 /* 83551 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29520 /* 83558 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
29521 /* 83558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSmr),
29522 /* 83561 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29523 /* 83565 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29524 /* 83567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29525 /* 83571 */ GIR_RootConstrainSelectedInstOperands,
29526 /* 83572 */ // GIR_Coverage, 1693,
29527 /* 83572 */ GIR_EraseRootFromParent_Done,
29528 /* 83573 */ // Label 1830: @83573
29529 /* 83573 */ GIM_Try, /*On fail goto*//*Label 1831*/ GIMT_Encode4(83615), // Rule ID 1699 //
29530 /* 83578 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29531 /* 83581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29532 /* 83585 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29533 /* 83589 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29534 /* 83593 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29535 /* 83600 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
29536 /* 83600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29537 /* 83603 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29538 /* 83607 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29539 /* 83609 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29540 /* 83613 */ GIR_RootConstrainSelectedInstOperands,
29541 /* 83614 */ // GIR_Coverage, 1699,
29542 /* 83614 */ GIR_EraseRootFromParent_Done,
29543 /* 83615 */ // Label 1831: @83615
29544 /* 83615 */ GIM_Try, /*On fail goto*//*Label 1832*/ GIMT_Encode4(83653), // Rule ID 1701 //
29545 /* 83620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29546 /* 83623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29547 /* 83627 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29548 /* 83631 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29549 /* 83638 */ // (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
29550 /* 83638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29551 /* 83641 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29552 /* 83645 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29553 /* 83647 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29554 /* 83651 */ GIR_RootConstrainSelectedInstOperands,
29555 /* 83652 */ // GIR_Coverage, 1701,
29556 /* 83652 */ GIR_EraseRootFromParent_Done,
29557 /* 83653 */ // Label 1832: @83653
29558 /* 83653 */ GIM_Try, /*On fail goto*//*Label 1833*/ GIMT_Encode4(83695), // Rule ID 4458 //
29559 /* 83658 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29560 /* 83661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29561 /* 83665 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29562 /* 83669 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29563 /* 83673 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29564 /* 83680 */ // (st VR128X:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
29565 /* 83680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128mr),
29566 /* 83683 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29567 /* 83687 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29568 /* 83689 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29569 /* 83693 */ GIR_RootConstrainSelectedInstOperands,
29570 /* 83694 */ // GIR_Coverage, 4458,
29571 /* 83694 */ GIR_EraseRootFromParent_Done,
29572 /* 83695 */ // Label 1833: @83695
29573 /* 83695 */ GIM_Try, /*On fail goto*//*Label 1834*/ GIMT_Encode4(83733), // Rule ID 4488 //
29574 /* 83700 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29575 /* 83703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29576 /* 83707 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29577 /* 83711 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29578 /* 83718 */ // (st VR128X:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
29579 /* 83718 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ128mr),
29580 /* 83721 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29581 /* 83725 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29582 /* 83727 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29583 /* 83731 */ GIR_RootConstrainSelectedInstOperands,
29584 /* 83732 */ // GIR_Coverage, 4488,
29585 /* 83732 */ GIR_EraseRootFromParent_Done,
29586 /* 83733 */ // Label 1834: @83733
29587 /* 83733 */ GIM_Try, /*On fail goto*//*Label 1835*/ GIMT_Encode4(83775), // Rule ID 17914 //
29588 /* 83738 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29589 /* 83741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29590 /* 83745 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29591 /* 83749 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29592 /* 83753 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29593 /* 83760 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
29594 /* 83760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
29595 /* 83763 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29596 /* 83767 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29597 /* 83769 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29598 /* 83773 */ GIR_RootConstrainSelectedInstOperands,
29599 /* 83774 */ // GIR_Coverage, 17914,
29600 /* 83774 */ GIR_EraseRootFromParent_Done,
29601 /* 83775 */ // Label 1835: @83775
29602 /* 83775 */ GIM_Try, /*On fail goto*//*Label 1836*/ GIMT_Encode4(83813), // Rule ID 17918 //
29603 /* 83780 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
29604 /* 83783 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29605 /* 83787 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29606 /* 83791 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29607 /* 83798 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
29608 /* 83798 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
29609 /* 83801 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29610 /* 83805 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29611 /* 83807 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29612 /* 83811 */ GIR_RootConstrainSelectedInstOperands,
29613 /* 83812 */ // GIR_Coverage, 17918,
29614 /* 83812 */ GIR_EraseRootFromParent_Done,
29615 /* 83813 */ // Label 1836: @83813
29616 /* 83813 */ GIM_Try, /*On fail goto*//*Label 1837*/ GIMT_Encode4(83855), // Rule ID 18293 //
29617 /* 83818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29618 /* 83821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29619 /* 83825 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29620 /* 83829 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29621 /* 83833 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29622 /* 83840 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
29623 /* 83840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
29624 /* 83843 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29625 /* 83847 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29626 /* 83849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29627 /* 83853 */ GIR_RootConstrainSelectedInstOperands,
29628 /* 83854 */ // GIR_Coverage, 18293,
29629 /* 83854 */ GIR_EraseRootFromParent_Done,
29630 /* 83855 */ // Label 1837: @83855
29631 /* 83855 */ GIM_Try, /*On fail goto*//*Label 1838*/ GIMT_Encode4(83893), // Rule ID 18297 //
29632 /* 83860 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29633 /* 83863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29634 /* 83867 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29635 /* 83871 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29636 /* 83878 */ // (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
29637 /* 83878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
29638 /* 83881 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29639 /* 83885 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29640 /* 83887 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29641 /* 83891 */ GIR_RootConstrainSelectedInstOperands,
29642 /* 83892 */ // GIR_Coverage, 18297,
29643 /* 83892 */ GIR_EraseRootFromParent_Done,
29644 /* 83893 */ // Label 1838: @83893
29645 /* 83893 */ GIM_Try, /*On fail goto*//*Label 1839*/ GIMT_Encode4(83935), // Rule ID 19805 //
29646 /* 83898 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29647 /* 83901 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29648 /* 83905 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29649 /* 83909 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29650 /* 83913 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29651 /* 83920 */ // (st VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
29652 /* 83920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
29653 /* 83923 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29654 /* 83927 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29655 /* 83929 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29656 /* 83933 */ GIR_RootConstrainSelectedInstOperands,
29657 /* 83934 */ // GIR_Coverage, 19805,
29658 /* 83934 */ GIR_EraseRootFromParent_Done,
29659 /* 83935 */ // Label 1839: @83935
29660 /* 83935 */ GIM_Try, /*On fail goto*//*Label 1840*/ GIMT_Encode4(83973), // Rule ID 19809 //
29661 /* 83940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29662 /* 83943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29663 /* 83947 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29664 /* 83951 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29665 /* 83958 */ // (st VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
29666 /* 83958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
29667 /* 83961 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29668 /* 83965 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29669 /* 83967 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29670 /* 83971 */ GIR_RootConstrainSelectedInstOperands,
29671 /* 83972 */ // GIR_Coverage, 19809,
29672 /* 83972 */ GIR_EraseRootFromParent_Done,
29673 /* 83973 */ // Label 1840: @83973
29674 /* 83973 */ GIM_Reject,
29675 /* 83974 */ // Label 1828: @83974
29676 /* 83974 */ GIM_Reject,
29677 /* 83975 */ // Label 1515: @83975
29678 /* 83975 */ GIM_Try, /*On fail goto*//*Label 1841*/ GIMT_Encode4(84308),
29679 /* 83980 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29680 /* 83983 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29681 /* 83987 */ GIM_Try, /*On fail goto*//*Label 1842*/ GIMT_Encode4(84029), // Rule ID 1695 //
29682 /* 83992 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29683 /* 83995 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29684 /* 83999 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29685 /* 84003 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29686 /* 84007 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29687 /* 84014 */ // (st VR256:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src)
29688 /* 84014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29689 /* 84017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29690 /* 84021 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29691 /* 84023 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29692 /* 84027 */ GIR_RootConstrainSelectedInstOperands,
29693 /* 84028 */ // GIR_Coverage, 1695,
29694 /* 84028 */ GIR_EraseRootFromParent_Done,
29695 /* 84029 */ // Label 1842: @84029
29696 /* 84029 */ GIM_Try, /*On fail goto*//*Label 1843*/ GIMT_Encode4(84067), // Rule ID 1697 //
29697 /* 84034 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29698 /* 84037 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29699 /* 84041 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29700 /* 84045 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29701 /* 84052 */ // (st VR256:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src)
29702 /* 84052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29703 /* 84055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29704 /* 84059 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29705 /* 84061 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29706 /* 84065 */ GIR_RootConstrainSelectedInstOperands,
29707 /* 84066 */ // GIR_Coverage, 1697,
29708 /* 84066 */ GIR_EraseRootFromParent_Done,
29709 /* 84067 */ // Label 1843: @84067
29710 /* 84067 */ GIM_Try, /*On fail goto*//*Label 1844*/ GIMT_Encode4(84109), // Rule ID 4457 //
29711 /* 84072 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29712 /* 84075 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29713 /* 84079 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29714 /* 84083 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29715 /* 84087 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29716 /* 84094 */ // (st VR256X:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src)
29717 /* 84094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256mr),
29718 /* 84097 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29719 /* 84101 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29720 /* 84103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29721 /* 84107 */ GIR_RootConstrainSelectedInstOperands,
29722 /* 84108 */ // GIR_Coverage, 4457,
29723 /* 84108 */ GIR_EraseRootFromParent_Done,
29724 /* 84109 */ // Label 1844: @84109
29725 /* 84109 */ GIM_Try, /*On fail goto*//*Label 1845*/ GIMT_Encode4(84147), // Rule ID 4487 //
29726 /* 84114 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29727 /* 84117 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29728 /* 84121 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29729 /* 84125 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29730 /* 84132 */ // (st VR256X:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src)
29731 /* 84132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZ256mr),
29732 /* 84135 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29733 /* 84139 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29734 /* 84141 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29735 /* 84145 */ GIR_RootConstrainSelectedInstOperands,
29736 /* 84146 */ // GIR_Coverage, 4487,
29737 /* 84146 */ GIR_EraseRootFromParent_Done,
29738 /* 84147 */ // Label 1845: @84147
29739 /* 84147 */ GIM_Try, /*On fail goto*//*Label 1846*/ GIMT_Encode4(84189), // Rule ID 17890 //
29740 /* 84152 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29741 /* 84155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29742 /* 84159 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29743 /* 84163 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29744 /* 84167 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29745 /* 84174 */ // (st VR256:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src)
29746 /* 84174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
29747 /* 84177 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29748 /* 84181 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29749 /* 84183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29750 /* 84187 */ GIR_RootConstrainSelectedInstOperands,
29751 /* 84188 */ // GIR_Coverage, 17890,
29752 /* 84188 */ GIR_EraseRootFromParent_Done,
29753 /* 84189 */ // Label 1846: @84189
29754 /* 84189 */ GIM_Try, /*On fail goto*//*Label 1847*/ GIMT_Encode4(84227), // Rule ID 17894 //
29755 /* 84194 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29756 /* 84197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
29757 /* 84201 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29758 /* 84205 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29759 /* 84212 */ // (st VR256:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src)
29760 /* 84212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
29761 /* 84215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29762 /* 84219 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29763 /* 84221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29764 /* 84225 */ GIR_RootConstrainSelectedInstOperands,
29765 /* 84226 */ // GIR_Coverage, 17894,
29766 /* 84226 */ GIR_EraseRootFromParent_Done,
29767 /* 84227 */ // Label 1847: @84227
29768 /* 84227 */ GIM_Try, /*On fail goto*//*Label 1848*/ GIMT_Encode4(84269), // Rule ID 19821 //
29769 /* 84232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29770 /* 84235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29771 /* 84239 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29772 /* 84243 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29773 /* 84247 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29774 /* 84254 */ // (st VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
29775 /* 84254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
29776 /* 84257 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29777 /* 84261 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29778 /* 84263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29779 /* 84267 */ GIR_RootConstrainSelectedInstOperands,
29780 /* 84268 */ // GIR_Coverage, 19821,
29781 /* 84268 */ GIR_EraseRootFromParent_Done,
29782 /* 84269 */ // Label 1848: @84269
29783 /* 84269 */ GIM_Try, /*On fail goto*//*Label 1849*/ GIMT_Encode4(84307), // Rule ID 19825 //
29784 /* 84274 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
29785 /* 84277 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
29786 /* 84281 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29787 /* 84285 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29788 /* 84292 */ // (st VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
29789 /* 84292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
29790 /* 84295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29791 /* 84299 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29792 /* 84301 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29793 /* 84305 */ GIR_RootConstrainSelectedInstOperands,
29794 /* 84306 */ // GIR_Coverage, 19825,
29795 /* 84306 */ GIR_EraseRootFromParent_Done,
29796 /* 84307 */ // Label 1849: @84307
29797 /* 84307 */ GIM_Reject,
29798 /* 84308 */ // Label 1841: @84308
29799 /* 84308 */ GIM_Reject,
29800 /* 84309 */ // Label 1516: @84309
29801 /* 84309 */ GIM_Try, /*On fail goto*//*Label 1850*/ GIMT_Encode4(84482),
29802 /* 84314 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29803 /* 84317 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29804 /* 84321 */ GIM_Try, /*On fail goto*//*Label 1851*/ GIMT_Encode4(84363), // Rule ID 4456 //
29805 /* 84326 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29806 /* 84329 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29807 /* 84333 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29808 /* 84337 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29809 /* 84341 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29810 /* 84348 */ // (st VR512:{ *:[v16f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src)
29811 /* 84348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZmr),
29812 /* 84351 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29813 /* 84355 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29814 /* 84357 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29815 /* 84361 */ GIR_RootConstrainSelectedInstOperands,
29816 /* 84362 */ // GIR_Coverage, 4456,
29817 /* 84362 */ GIR_EraseRootFromParent_Done,
29818 /* 84363 */ // Label 1851: @84363
29819 /* 84363 */ GIM_Try, /*On fail goto*//*Label 1852*/ GIMT_Encode4(84401), // Rule ID 4486 //
29820 /* 84368 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29821 /* 84371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29822 /* 84375 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29823 /* 84379 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29824 /* 84386 */ // (st VR512:{ *:[v16f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src)
29825 /* 84386 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSZmr),
29826 /* 84389 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29827 /* 84393 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29828 /* 84395 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29829 /* 84399 */ GIR_RootConstrainSelectedInstOperands,
29830 /* 84400 */ // GIR_Coverage, 4486,
29831 /* 84400 */ GIR_EraseRootFromParent_Done,
29832 /* 84401 */ // Label 1852: @84401
29833 /* 84401 */ GIM_Try, /*On fail goto*//*Label 1853*/ GIMT_Encode4(84443), // Rule ID 19789 //
29834 /* 84406 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29835 /* 84409 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29836 /* 84413 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29837 /* 84417 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29838 /* 84421 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29839 /* 84428 */ // (st VR512:{ *:[v16i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16i32] }:$src)
29840 /* 84428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
29841 /* 84431 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29842 /* 84435 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29843 /* 84437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29844 /* 84441 */ GIR_RootConstrainSelectedInstOperands,
29845 /* 84442 */ // GIR_Coverage, 19789,
29846 /* 84442 */ GIR_EraseRootFromParent_Done,
29847 /* 84443 */ // Label 1853: @84443
29848 /* 84443 */ GIM_Try, /*On fail goto*//*Label 1854*/ GIMT_Encode4(84481), // Rule ID 19793 //
29849 /* 84448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
29850 /* 84451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
29851 /* 84455 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29852 /* 84459 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29853 /* 84466 */ // (st VR512:{ *:[v16i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16i32] }:$src)
29854 /* 84466 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
29855 /* 84469 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29856 /* 84473 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29857 /* 84475 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29858 /* 84479 */ GIR_RootConstrainSelectedInstOperands,
29859 /* 84480 */ // GIR_Coverage, 19793,
29860 /* 84480 */ GIR_EraseRootFromParent_Done,
29861 /* 84481 */ // Label 1854: @84481
29862 /* 84481 */ GIM_Reject,
29863 /* 84482 */ // Label 1850: @84482
29864 /* 84482 */ GIM_Reject,
29865 /* 84483 */ // Label 1517: @84483
29866 /* 84483 */ GIM_Try, /*On fail goto*//*Label 1855*/ GIMT_Encode4(84976),
29867 /* 84488 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
29868 /* 84491 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
29869 /* 84495 */ GIM_Try, /*On fail goto*//*Label 1856*/ GIMT_Encode4(84537), // Rule ID 1692 //
29870 /* 84500 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29871 /* 84503 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29872 /* 84507 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29873 /* 84511 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29874 /* 84515 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29875 /* 84522 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29876 /* 84522 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDmr),
29877 /* 84525 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29878 /* 84529 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29879 /* 84531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29880 /* 84535 */ GIR_RootConstrainSelectedInstOperands,
29881 /* 84536 */ // GIR_Coverage, 1692,
29882 /* 84536 */ GIR_EraseRootFromParent_Done,
29883 /* 84537 */ // Label 1856: @84537
29884 /* 84537 */ GIM_Try, /*On fail goto*//*Label 1857*/ GIMT_Encode4(84575), // Rule ID 1694 //
29885 /* 84542 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29886 /* 84545 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29887 /* 84549 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29888 /* 84553 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29889 /* 84560 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29890 /* 84560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDmr),
29891 /* 84563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29892 /* 84567 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29893 /* 84569 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29894 /* 84573 */ GIR_RootConstrainSelectedInstOperands,
29895 /* 84574 */ // GIR_Coverage, 1694,
29896 /* 84574 */ GIR_EraseRootFromParent_Done,
29897 /* 84575 */ // Label 1857: @84575
29898 /* 84575 */ GIM_Try, /*On fail goto*//*Label 1858*/ GIMT_Encode4(84617), // Rule ID 1700 //
29899 /* 84580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
29900 /* 84583 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29901 /* 84587 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29902 /* 84591 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29903 /* 84595 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29904 /* 84602 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29905 /* 84602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPDmr),
29906 /* 84605 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29907 /* 84609 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29908 /* 84611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29909 /* 84615 */ GIR_RootConstrainSelectedInstOperands,
29910 /* 84616 */ // GIR_Coverage, 1700,
29911 /* 84616 */ GIR_EraseRootFromParent_Done,
29912 /* 84617 */ // Label 1858: @84617
29913 /* 84617 */ GIM_Try, /*On fail goto*//*Label 1859*/ GIMT_Encode4(84655), // Rule ID 1702 //
29914 /* 84622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
29915 /* 84625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29916 /* 84629 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29917 /* 84633 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29918 /* 84640 */ // (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
29919 /* 84640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPDmr),
29920 /* 84643 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29921 /* 84647 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29922 /* 84649 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29923 /* 84653 */ GIR_RootConstrainSelectedInstOperands,
29924 /* 84654 */ // GIR_Coverage, 1702,
29925 /* 84654 */ GIR_EraseRootFromParent_Done,
29926 /* 84655 */ // Label 1859: @84655
29927 /* 84655 */ GIM_Try, /*On fail goto*//*Label 1860*/ GIMT_Encode4(84697), // Rule ID 2496 //
29928 /* 84660 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29929 /* 84663 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29930 /* 84667 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29931 /* 84671 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29932 /* 84675 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29933 /* 84682 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29934 /* 84682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQAmr),
29935 /* 84685 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29936 /* 84689 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29937 /* 84691 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29938 /* 84695 */ GIR_RootConstrainSelectedInstOperands,
29939 /* 84696 */ // GIR_Coverage, 2496,
29940 /* 84696 */ GIR_EraseRootFromParent_Done,
29941 /* 84697 */ // Label 1860: @84697
29942 /* 84697 */ GIM_Try, /*On fail goto*//*Label 1861*/ GIMT_Encode4(84735), // Rule ID 2497 //
29943 /* 84702 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
29944 /* 84705 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
29945 /* 84709 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29946 /* 84713 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29947 /* 84720 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
29948 /* 84720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQUmr),
29949 /* 84723 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29950 /* 84727 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29951 /* 84729 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29952 /* 84733 */ GIR_RootConstrainSelectedInstOperands,
29953 /* 84734 */ // GIR_Coverage, 2497,
29954 /* 84734 */ GIR_EraseRootFromParent_Done,
29955 /* 84735 */ // Label 1861: @84735
29956 /* 84735 */ GIM_Try, /*On fail goto*//*Label 1862*/ GIMT_Encode4(84777), // Rule ID 4476 //
29957 /* 84740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29958 /* 84743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29959 /* 84747 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29960 /* 84751 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29961 /* 84755 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29962 /* 84762 */ // (st VR128X:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
29963 /* 84762 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128mr),
29964 /* 84765 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29965 /* 84769 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29966 /* 84771 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29967 /* 84775 */ GIR_RootConstrainSelectedInstOperands,
29968 /* 84776 */ // GIR_Coverage, 4476,
29969 /* 84776 */ GIR_EraseRootFromParent_Done,
29970 /* 84777 */ // Label 1862: @84777
29971 /* 84777 */ GIM_Try, /*On fail goto*//*Label 1863*/ GIMT_Encode4(84815), // Rule ID 4500 //
29972 /* 84782 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29973 /* 84785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29974 /* 84789 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29975 /* 84793 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29976 /* 84800 */ // (st VR128X:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
29977 /* 84800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ128mr),
29978 /* 84803 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29979 /* 84807 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29980 /* 84809 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29981 /* 84813 */ GIR_RootConstrainSelectedInstOperands,
29982 /* 84814 */ // GIR_Coverage, 4500,
29983 /* 84814 */ GIR_EraseRootFromParent_Done,
29984 /* 84815 */ // Label 1863: @84815
29985 /* 84815 */ GIM_Try, /*On fail goto*//*Label 1864*/ GIMT_Encode4(84857), // Rule ID 4530 //
29986 /* 84820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
29987 /* 84823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
29988 /* 84827 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
29989 /* 84831 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
29990 /* 84835 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
29991 /* 84842 */ // (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
29992 /* 84842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128mr),
29993 /* 84845 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
29994 /* 84849 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
29995 /* 84851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
29996 /* 84855 */ GIR_RootConstrainSelectedInstOperands,
29997 /* 84856 */ // GIR_Coverage, 4530,
29998 /* 84856 */ GIR_EraseRootFromParent_Done,
29999 /* 84857 */ // Label 1864: @84857
30000 /* 84857 */ GIM_Try, /*On fail goto*//*Label 1865*/ GIMT_Encode4(84895), // Rule ID 4572 //
30001 /* 84862 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
30002 /* 84865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
30003 /* 84869 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30004 /* 84873 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30005 /* 84880 */ // (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
30006 /* 84880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z128mr),
30007 /* 84883 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30008 /* 84887 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30009 /* 84889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30010 /* 84893 */ GIR_RootConstrainSelectedInstOperands,
30011 /* 84894 */ // GIR_Coverage, 4572,
30012 /* 84894 */ GIR_EraseRootFromParent_Done,
30013 /* 84895 */ // Label 1865: @84895
30014 /* 84895 */ GIM_Try, /*On fail goto*//*Label 1866*/ GIMT_Encode4(84937), // Rule ID 17913 //
30015 /* 84900 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
30016 /* 84903 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30017 /* 84907 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30018 /* 84911 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30019 /* 84915 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30020 /* 84922 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
30021 /* 84922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVAPSmr),
30022 /* 84925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30023 /* 84929 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30024 /* 84931 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30025 /* 84935 */ GIR_RootConstrainSelectedInstOperands,
30026 /* 84936 */ // GIR_Coverage, 17913,
30027 /* 84936 */ GIR_EraseRootFromParent_Done,
30028 /* 84937 */ // Label 1866: @84937
30029 /* 84937 */ GIM_Try, /*On fail goto*//*Label 1867*/ GIMT_Encode4(84975), // Rule ID 17917 //
30030 /* 84942 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
30031 /* 84945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30032 /* 84949 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30033 /* 84953 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30034 /* 84960 */ // (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
30035 /* 84960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVUPSmr),
30036 /* 84963 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30037 /* 84967 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30038 /* 84969 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30039 /* 84973 */ GIR_RootConstrainSelectedInstOperands,
30040 /* 84974 */ // GIR_Coverage, 17917,
30041 /* 84974 */ GIR_EraseRootFromParent_Done,
30042 /* 84975 */ // Label 1867: @84975
30043 /* 84975 */ GIM_Reject,
30044 /* 84976 */ // Label 1855: @84976
30045 /* 84976 */ GIM_Reject,
30046 /* 84977 */ // Label 1518: @84977
30047 /* 84977 */ GIM_Try, /*On fail goto*//*Label 1868*/ GIMT_Encode4(85310),
30048 /* 84982 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30049 /* 84985 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30050 /* 84989 */ GIM_Try, /*On fail goto*//*Label 1869*/ GIMT_Encode4(85031), // Rule ID 1696 //
30051 /* 84994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30052 /* 84997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30053 /* 85001 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30054 /* 85005 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30055 /* 85009 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30056 /* 85016 */ // (st VR256:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src)
30057 /* 85016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDYmr),
30058 /* 85019 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30059 /* 85023 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30060 /* 85025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30061 /* 85029 */ GIR_RootConstrainSelectedInstOperands,
30062 /* 85030 */ // GIR_Coverage, 1696,
30063 /* 85030 */ GIR_EraseRootFromParent_Done,
30064 /* 85031 */ // Label 1869: @85031
30065 /* 85031 */ GIM_Try, /*On fail goto*//*Label 1870*/ GIMT_Encode4(85069), // Rule ID 1698 //
30066 /* 85036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30067 /* 85039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30068 /* 85043 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30069 /* 85047 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30070 /* 85054 */ // (st VR256:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src)
30071 /* 85054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDYmr),
30072 /* 85057 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30073 /* 85061 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30074 /* 85063 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30075 /* 85067 */ GIR_RootConstrainSelectedInstOperands,
30076 /* 85068 */ // GIR_Coverage, 1698,
30077 /* 85068 */ GIR_EraseRootFromParent_Done,
30078 /* 85069 */ // Label 1870: @85069
30079 /* 85069 */ GIM_Try, /*On fail goto*//*Label 1871*/ GIMT_Encode4(85111), // Rule ID 4475 //
30080 /* 85074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
30081 /* 85077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30082 /* 85081 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30083 /* 85085 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30084 /* 85089 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30085 /* 85096 */ // (st VR256X:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src)
30086 /* 85096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256mr),
30087 /* 85099 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30088 /* 85103 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30089 /* 85105 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30090 /* 85109 */ GIR_RootConstrainSelectedInstOperands,
30091 /* 85110 */ // GIR_Coverage, 4475,
30092 /* 85110 */ GIR_EraseRootFromParent_Done,
30093 /* 85111 */ // Label 1871: @85111
30094 /* 85111 */ GIM_Try, /*On fail goto*//*Label 1872*/ GIMT_Encode4(85149), // Rule ID 4499 //
30095 /* 85116 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
30096 /* 85119 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30097 /* 85123 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30098 /* 85127 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30099 /* 85134 */ // (st VR256X:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src)
30100 /* 85134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZ256mr),
30101 /* 85137 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30102 /* 85141 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30103 /* 85143 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30104 /* 85147 */ GIR_RootConstrainSelectedInstOperands,
30105 /* 85148 */ // GIR_Coverage, 4499,
30106 /* 85148 */ GIR_EraseRootFromParent_Done,
30107 /* 85149 */ // Label 1872: @85149
30108 /* 85149 */ GIM_Try, /*On fail goto*//*Label 1873*/ GIMT_Encode4(85191), // Rule ID 4529 //
30109 /* 85154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
30110 /* 85157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30111 /* 85161 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30112 /* 85165 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30113 /* 85169 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30114 /* 85176 */ // (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
30115 /* 85176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256mr),
30116 /* 85179 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30117 /* 85183 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30118 /* 85185 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30119 /* 85189 */ GIR_RootConstrainSelectedInstOperands,
30120 /* 85190 */ // GIR_Coverage, 4529,
30121 /* 85190 */ GIR_EraseRootFromParent_Done,
30122 /* 85191 */ // Label 1873: @85191
30123 /* 85191 */ GIM_Try, /*On fail goto*//*Label 1874*/ GIMT_Encode4(85229), // Rule ID 4571 //
30124 /* 85196 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
30125 /* 85199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
30126 /* 85203 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30127 /* 85207 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30128 /* 85214 */ // (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
30129 /* 85214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Z256mr),
30130 /* 85217 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30131 /* 85221 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30132 /* 85223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30133 /* 85227 */ GIR_RootConstrainSelectedInstOperands,
30134 /* 85228 */ // GIR_Coverage, 4571,
30135 /* 85228 */ GIR_EraseRootFromParent_Done,
30136 /* 85229 */ // Label 1874: @85229
30137 /* 85229 */ GIM_Try, /*On fail goto*//*Label 1875*/ GIMT_Encode4(85271), // Rule ID 17889 //
30138 /* 85234 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30139 /* 85237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30140 /* 85241 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30141 /* 85245 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30142 /* 85249 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30143 /* 85256 */ // (st VR256:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src)
30144 /* 85256 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSYmr),
30145 /* 85259 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30146 /* 85263 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30147 /* 85265 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30148 /* 85269 */ GIR_RootConstrainSelectedInstOperands,
30149 /* 85270 */ // GIR_Coverage, 17889,
30150 /* 85270 */ GIR_EraseRootFromParent_Done,
30151 /* 85271 */ // Label 1875: @85271
30152 /* 85271 */ GIM_Try, /*On fail goto*//*Label 1876*/ GIMT_Encode4(85309), // Rule ID 17893 //
30153 /* 85276 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
30154 /* 85279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30155 /* 85283 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30156 /* 85287 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30157 /* 85294 */ // (st VR256:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src)
30158 /* 85294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPSYmr),
30159 /* 85297 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30160 /* 85301 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30161 /* 85303 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30162 /* 85307 */ GIR_RootConstrainSelectedInstOperands,
30163 /* 85308 */ // GIR_Coverage, 17893,
30164 /* 85308 */ GIR_EraseRootFromParent_Done,
30165 /* 85309 */ // Label 1876: @85309
30166 /* 85309 */ GIM_Reject,
30167 /* 85310 */ // Label 1868: @85310
30168 /* 85310 */ GIM_Reject,
30169 /* 85311 */ // Label 1519: @85311
30170 /* 85311 */ GIM_Try, /*On fail goto*//*Label 1877*/ GIMT_Encode4(85484),
30171 /* 85316 */ GIM_CheckAtomicOrdering, /*MI*/0, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30172 /* 85319 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/0, /*MMO*/0, /*OpIdx*/0,
30173 /* 85323 */ GIM_Try, /*On fail goto*//*Label 1878*/ GIMT_Encode4(85365), // Rule ID 4474 //
30174 /* 85328 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30175 /* 85331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30176 /* 85335 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30177 /* 85339 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30178 /* 85343 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30179 /* 85350 */ // (st VR512:{ *:[v8f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVAPDZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8f64] }:$src)
30180 /* 85350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZmr),
30181 /* 85353 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30182 /* 85357 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30183 /* 85359 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30184 /* 85363 */ GIR_RootConstrainSelectedInstOperands,
30185 /* 85364 */ // GIR_Coverage, 4474,
30186 /* 85364 */ GIR_EraseRootFromParent_Done,
30187 /* 85365 */ // Label 1878: @85365
30188 /* 85365 */ GIM_Try, /*On fail goto*//*Label 1879*/ GIMT_Encode4(85403), // Rule ID 4498 //
30189 /* 85370 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30190 /* 85373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30191 /* 85377 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30192 /* 85381 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30193 /* 85388 */ // (st VR512:{ *:[v8f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVUPDZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8f64] }:$src)
30194 /* 85388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVUPDZmr),
30195 /* 85391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30196 /* 85395 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30197 /* 85397 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30198 /* 85401 */ GIR_RootConstrainSelectedInstOperands,
30199 /* 85402 */ // GIR_Coverage, 4498,
30200 /* 85402 */ GIR_EraseRootFromParent_Done,
30201 /* 85403 */ // Label 1879: @85403
30202 /* 85403 */ GIM_Try, /*On fail goto*//*Label 1880*/ GIMT_Encode4(85445), // Rule ID 4528 //
30203 /* 85408 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30204 /* 85411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30205 /* 85415 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30206 /* 85419 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedstore),
30207 /* 85423 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30208 /* 85430 */ // (st VR512:{ *:[v8i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> => (VMOVDQA64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8i64] }:$src)
30209 /* 85430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zmr),
30210 /* 85433 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30211 /* 85437 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30212 /* 85439 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30213 /* 85443 */ GIR_RootConstrainSelectedInstOperands,
30214 /* 85444 */ // GIR_Coverage, 4528,
30215 /* 85444 */ GIR_EraseRootFromParent_Done,
30216 /* 85445 */ // Label 1880: @85445
30217 /* 85445 */ GIM_Try, /*On fail goto*//*Label 1881*/ GIMT_Encode4(85483), // Rule ID 4570 //
30218 /* 85450 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
30219 /* 85453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
30220 /* 85457 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30221 /* 85461 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30222 /* 85468 */ // (st VR512:{ *:[v8i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> => (VMOVDQU64Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8i64] }:$src)
30223 /* 85468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU64Zmr),
30224 /* 85471 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
30225 /* 85475 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
30226 /* 85477 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30227 /* 85481 */ GIR_RootConstrainSelectedInstOperands,
30228 /* 85482 */ // GIR_Coverage, 4570,
30229 /* 85482 */ GIR_EraseRootFromParent_Done,
30230 /* 85483 */ // Label 1881: @85483
30231 /* 85483 */ GIM_Reject,
30232 /* 85484 */ // Label 1877: @85484
30233 /* 85484 */ GIM_Reject,
30234 /* 85485 */ // Label 1520: @85485
30235 /* 85485 */ GIM_Reject,
30236 /* 85486 */ // Label 15: @85486
30237 /* 85486 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 1886*/ GIMT_Encode4(85721),
30238 /* 85497 */ /*GILLT_s8*//*Label 1882*/ GIMT_Encode4(85513),
30239 /* 85501 */ /*GILLT_s16*//*Label 1883*/ GIMT_Encode4(85565),
30240 /* 85505 */ /*GILLT_s32*//*Label 1884*/ GIMT_Encode4(85617),
30241 /* 85509 */ /*GILLT_s64*//*Label 1885*/ GIMT_Encode4(85669),
30242 /* 85513 */ // Label 1882: @85513
30243 /* 85513 */ GIM_Try, /*On fail goto*//*Label 1887*/ GIMT_Encode4(85564), // Rule ID 45 //
30244 /* 85518 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
30245 /* 85521 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
30246 /* 85528 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
30247 /* 85532 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30248 /* 85536 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
30249 /* 85540 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30250 /* 85547 */ // (atomic_swap:{ *:[i8] } addr:{ *:[iPTR] }:$ptr, GR8:{ *:[i8] }:$val)<<P:Predicate_atomic_swap_i8>> => (XCHG8rm:{ *:[i8] } GR8:{ *:[i8] }:$val, addr:{ *:[iPTR] }:$ptr)
30251 /* 85547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG8rm),
30252 /* 85550 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30253 /* 85552 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30254 /* 85554 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30255 /* 85558 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30256 /* 85562 */ GIR_RootConstrainSelectedInstOperands,
30257 /* 85563 */ // GIR_Coverage, 45,
30258 /* 85563 */ GIR_EraseRootFromParent_Done,
30259 /* 85564 */ // Label 1887: @85564
30260 /* 85564 */ GIM_Reject,
30261 /* 85565 */ // Label 1883: @85565
30262 /* 85565 */ GIM_Try, /*On fail goto*//*Label 1888*/ GIMT_Encode4(85616), // Rule ID 46 //
30263 /* 85570 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
30264 /* 85573 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
30265 /* 85580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
30266 /* 85584 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30267 /* 85588 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
30268 /* 85592 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30269 /* 85599 */ // (atomic_swap:{ *:[i16] } addr:{ *:[iPTR] }:$ptr, GR16:{ *:[i16] }:$val)<<P:Predicate_atomic_swap_i16>> => (XCHG16rm:{ *:[i16] } GR16:{ *:[i16] }:$val, addr:{ *:[iPTR] }:$ptr)
30270 /* 85599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG16rm),
30271 /* 85602 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30272 /* 85604 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30273 /* 85606 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30274 /* 85610 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30275 /* 85614 */ GIR_RootConstrainSelectedInstOperands,
30276 /* 85615 */ // GIR_Coverage, 46,
30277 /* 85615 */ GIR_EraseRootFromParent_Done,
30278 /* 85616 */ // Label 1888: @85616
30279 /* 85616 */ GIM_Reject,
30280 /* 85617 */ // Label 1884: @85617
30281 /* 85617 */ GIM_Try, /*On fail goto*//*Label 1889*/ GIMT_Encode4(85668), // Rule ID 47 //
30282 /* 85622 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
30283 /* 85625 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
30284 /* 85632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
30285 /* 85636 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30286 /* 85640 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
30287 /* 85644 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30288 /* 85651 */ // (atomic_swap:{ *:[i32] } addr:{ *:[iPTR] }:$ptr, GR32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_i32>> => (XCHG32rm:{ *:[i32] } GR32:{ *:[i32] }:$val, addr:{ *:[iPTR] }:$ptr)
30289 /* 85651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG32rm),
30290 /* 85654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30291 /* 85656 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30292 /* 85658 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30293 /* 85662 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30294 /* 85666 */ GIR_RootConstrainSelectedInstOperands,
30295 /* 85667 */ // GIR_Coverage, 47,
30296 /* 85667 */ GIR_EraseRootFromParent_Done,
30297 /* 85668 */ // Label 1889: @85668
30298 /* 85668 */ GIM_Reject,
30299 /* 85669 */ // Label 1885: @85669
30300 /* 85669 */ GIM_Try, /*On fail goto*//*Label 1890*/ GIMT_Encode4(85720), // Rule ID 48 //
30301 /* 85674 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
30302 /* 85677 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
30303 /* 85684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
30304 /* 85688 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30305 /* 85692 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
30306 /* 85696 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30307 /* 85703 */ // (atomic_swap:{ *:[i64] } addr:{ *:[iPTR] }:$ptr, GR64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_i64>> => (XCHG64rm:{ *:[i64] } GR64:{ *:[i64] }:$val, addr:{ *:[iPTR] }:$ptr)
30308 /* 85703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XCHG64rm),
30309 /* 85706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30310 /* 85708 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30311 /* 85710 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30312 /* 85714 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30313 /* 85718 */ GIR_RootConstrainSelectedInstOperands,
30314 /* 85719 */ // GIR_Coverage, 48,
30315 /* 85719 */ GIR_EraseRootFromParent_Done,
30316 /* 85720 */ // Label 1890: @85720
30317 /* 85720 */ GIM_Reject,
30318 /* 85721 */ // Label 1886: @85721
30319 /* 85721 */ GIM_Reject,
30320 /* 85722 */ // Label 16: @85722
30321 /* 85722 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 1895*/ GIMT_Encode4(85969),
30322 /* 85733 */ /*GILLT_s8*//*Label 1891*/ GIMT_Encode4(85749),
30323 /* 85737 */ /*GILLT_s16*//*Label 1892*/ GIMT_Encode4(85804),
30324 /* 85741 */ /*GILLT_s32*//*Label 1893*/ GIMT_Encode4(85859),
30325 /* 85745 */ /*GILLT_s64*//*Label 1894*/ GIMT_Encode4(85914),
30326 /* 85749 */ // Label 1891: @85749
30327 /* 85749 */ GIM_Try, /*On fail goto*//*Label 1896*/ GIMT_Encode4(85803), // Rule ID 17262 //
30328 /* 85754 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
30329 /* 85757 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(1),
30330 /* 85764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
30331 /* 85768 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30332 /* 85772 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
30333 /* 85776 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30334 /* 85783 */ // (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)
30335 /* 85783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD8),
30336 /* 85786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30337 /* 85788 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30338 /* 85790 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30339 /* 85794 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
30340 /* 85797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30341 /* 85801 */ GIR_RootConstrainSelectedInstOperands,
30342 /* 85802 */ // GIR_Coverage, 17262,
30343 /* 85802 */ GIR_EraseRootFromParent_Done,
30344 /* 85803 */ // Label 1896: @85803
30345 /* 85803 */ GIM_Reject,
30346 /* 85804 */ // Label 1892: @85804
30347 /* 85804 */ GIM_Try, /*On fail goto*//*Label 1897*/ GIMT_Encode4(85858), // Rule ID 17263 //
30348 /* 85809 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
30349 /* 85812 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
30350 /* 85819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
30351 /* 85823 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30352 /* 85827 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
30353 /* 85831 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30354 /* 85838 */ // (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)
30355 /* 85838 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD16),
30356 /* 85841 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30357 /* 85843 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30358 /* 85845 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30359 /* 85849 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
30360 /* 85852 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30361 /* 85856 */ GIR_RootConstrainSelectedInstOperands,
30362 /* 85857 */ // GIR_Coverage, 17263,
30363 /* 85857 */ GIR_EraseRootFromParent_Done,
30364 /* 85858 */ // Label 1897: @85858
30365 /* 85858 */ GIM_Reject,
30366 /* 85859 */ // Label 1893: @85859
30367 /* 85859 */ GIM_Try, /*On fail goto*//*Label 1898*/ GIMT_Encode4(85913), // Rule ID 17264 //
30368 /* 85864 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
30369 /* 85867 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
30370 /* 85874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
30371 /* 85878 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30372 /* 85882 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
30373 /* 85886 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30374 /* 85893 */ // (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)
30375 /* 85893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD32),
30376 /* 85896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30377 /* 85898 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30378 /* 85900 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30379 /* 85904 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
30380 /* 85907 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30381 /* 85911 */ GIR_RootConstrainSelectedInstOperands,
30382 /* 85912 */ // GIR_Coverage, 17264,
30383 /* 85912 */ GIR_EraseRootFromParent_Done,
30384 /* 85913 */ // Label 1898: @85913
30385 /* 85913 */ GIM_Reject,
30386 /* 85914 */ // Label 1894: @85914
30387 /* 85914 */ GIM_Try, /*On fail goto*//*Label 1899*/ GIMT_Encode4(85968), // Rule ID 17265 //
30388 /* 85919 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
30389 /* 85922 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
30390 /* 85929 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
30391 /* 85933 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
30392 /* 85937 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
30393 /* 85941 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30394 /* 85948 */ // (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)
30395 /* 85948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LXADD64),
30396 /* 85951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30397 /* 85953 */ GIR_RootToRootCopy, /*OpIdx*/2, // val
30398 /* 85955 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // ptr
30399 /* 85959 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
30400 /* 85962 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30401 /* 85966 */ GIR_RootConstrainSelectedInstOperands,
30402 /* 85967 */ // GIR_Coverage, 17265,
30403 /* 85967 */ GIR_EraseRootFromParent_Done,
30404 /* 85968 */ // Label 1899: @85968
30405 /* 85968 */ GIM_Reject,
30406 /* 85969 */ // Label 1895: @85969
30407 /* 85969 */ GIM_Reject,
30408 /* 85970 */ // Label 17: @85970
30409 /* 85970 */ GIM_Try, /*On fail goto*//*Label 1900*/ GIMT_Encode4(86125),
30410 /* 85975 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
30411 /* 85978 */ GIM_Try, /*On fail goto*//*Label 1901*/ GIMT_Encode4(86028), // Rule ID 156 //
30412 /* 85983 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPREFETCHI_In64BitMode),
30413 /* 85986 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
30414 /* 85989 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
30415 /* 85992 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
30416 /* 85996 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
30417 /* 86000 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 3,
30418 /* 86004 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
30419 /* 86008 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30420 /* 86015 */ // (prefetch addr:{ *:[iPTR] }:$src, 0:{ *:[i32] }, 3:{ *:[i32] }, 0:{ *:[i32] }) => (PREFETCHIT0 addr:{ *:[iPTR] }:$src)
30421 /* 86015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHIT0),
30422 /* 86018 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30423 /* 86022 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30424 /* 86026 */ GIR_RootConstrainSelectedInstOperands,
30425 /* 86027 */ // GIR_Coverage, 156,
30426 /* 86027 */ GIR_EraseRootFromParent_Done,
30427 /* 86028 */ // Label 1901: @86028
30428 /* 86028 */ GIM_Try, /*On fail goto*//*Label 1902*/ GIMT_Encode4(86078), // Rule ID 157 //
30429 /* 86033 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPREFETCHI_In64BitMode),
30430 /* 86036 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
30431 /* 86039 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
30432 /* 86042 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
30433 /* 86046 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 0,
30434 /* 86050 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 2,
30435 /* 86054 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 0,
30436 /* 86058 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30437 /* 86065 */ // (prefetch addr:{ *:[iPTR] }:$src, 0:{ *:[i32] }, 2:{ *:[i32] }, 0:{ *:[i32] }) => (PREFETCHIT1 addr:{ *:[iPTR] }:$src)
30438 /* 86065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHIT1),
30439 /* 86068 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30440 /* 86072 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30441 /* 86076 */ GIR_RootConstrainSelectedInstOperands,
30442 /* 86077 */ // GIR_Coverage, 157,
30443 /* 86077 */ GIR_EraseRootFromParent_Done,
30444 /* 86078 */ // Label 1902: @86078
30445 /* 86078 */ GIM_Try, /*On fail goto*//*Label 1903*/ GIMT_Encode4(86124), // Rule ID 16963 //
30446 /* 86083 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPrefetchW),
30447 /* 86086 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
30448 /* 86089 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
30449 /* 86093 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/1, 1,
30450 /* 86097 */ // MIs[0] Operand 2
30451 /* 86097 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
30452 /* 86100 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
30453 /* 86104 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30454 /* 86111 */ // (prefetch addr:{ *:[iPTR] }:$addr, 1:{ *:[i32] }, (timm:{ *:[i32] })<<P:Predicate_PrefetchWLevel>>, 1:{ *:[i32] }) => (PREFETCHW addr:{ *:[iPTR] }:$addr)
30455 /* 86111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHW),
30456 /* 86114 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // addr
30457 /* 86118 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30458 /* 86122 */ GIR_RootConstrainSelectedInstOperands,
30459 /* 86123 */ // GIR_Coverage, 16963,
30460 /* 86123 */ GIR_EraseRootFromParent_Done,
30461 /* 86124 */ // Label 1903: @86124
30462 /* 86124 */ GIM_Reject,
30463 /* 86125 */ // Label 1900: @86125
30464 /* 86125 */ GIM_Try, /*On fail goto*//*Label 1904*/ GIMT_Encode4(86288),
30465 /* 86130 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
30466 /* 86133 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
30467 /* 86136 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
30468 /* 86140 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
30469 /* 86143 */ GIM_Try, /*On fail goto*//*Label 1905*/ GIMT_Encode4(86179), // Rule ID 2481 //
30470 /* 86148 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSEPrefetch),
30471 /* 86151 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 3,
30472 /* 86155 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
30473 /* 86159 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30474 /* 86166 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 3:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT0 addr:{ *:[iPTR] }:$src)
30475 /* 86166 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT0),
30476 /* 86169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30477 /* 86173 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30478 /* 86177 */ GIR_RootConstrainSelectedInstOperands,
30479 /* 86178 */ // GIR_Coverage, 2481,
30480 /* 86178 */ GIR_EraseRootFromParent_Done,
30481 /* 86179 */ // Label 1905: @86179
30482 /* 86179 */ GIM_Try, /*On fail goto*//*Label 1906*/ GIMT_Encode4(86215), // Rule ID 2482 //
30483 /* 86184 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSEPrefetch),
30484 /* 86187 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 2,
30485 /* 86191 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
30486 /* 86195 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30487 /* 86202 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 2:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT1 addr:{ *:[iPTR] }:$src)
30488 /* 86202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT1),
30489 /* 86205 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30490 /* 86209 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30491 /* 86213 */ GIR_RootConstrainSelectedInstOperands,
30492 /* 86214 */ // GIR_Coverage, 2482,
30493 /* 86214 */ GIR_EraseRootFromParent_Done,
30494 /* 86215 */ // Label 1906: @86215
30495 /* 86215 */ GIM_Try, /*On fail goto*//*Label 1907*/ GIMT_Encode4(86251), // Rule ID 2483 //
30496 /* 86220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSEPrefetch),
30497 /* 86223 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
30498 /* 86227 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
30499 /* 86231 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30500 /* 86238 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 1:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHT2 addr:{ *:[iPTR] }:$src)
30501 /* 86238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHT2),
30502 /* 86241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30503 /* 86245 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30504 /* 86249 */ GIR_RootConstrainSelectedInstOperands,
30505 /* 86250 */ // GIR_Coverage, 2483,
30506 /* 86250 */ GIR_EraseRootFromParent_Done,
30507 /* 86251 */ // Label 1907: @86251
30508 /* 86251 */ GIM_Try, /*On fail goto*//*Label 1908*/ GIMT_Encode4(86287), // Rule ID 2484 //
30509 /* 86256 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSEPrefetch),
30510 /* 86259 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 0,
30511 /* 86263 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/3, 1,
30512 /* 86267 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30513 /* 86274 */ // (prefetch addr:{ *:[iPTR] }:$src, (timm:{ *:[i32] }), 0:{ *:[i32] }, 1:{ *:[i32] }) => (PREFETCHNTA addr:{ *:[iPTR] }:$src)
30514 /* 86274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHNTA),
30515 /* 86277 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30516 /* 86281 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
30517 /* 86285 */ GIR_RootConstrainSelectedInstOperands,
30518 /* 86286 */ // GIR_Coverage, 2484,
30519 /* 86286 */ GIR_EraseRootFromParent_Done,
30520 /* 86287 */ // Label 1908: @86287
30521 /* 86287 */ GIM_Reject,
30522 /* 86288 */ // Label 1904: @86288
30523 /* 86288 */ GIM_Reject,
30524 /* 86289 */ // Label 18: @86289
30525 /* 86289 */ GIM_Try, /*On fail goto*//*Label 1909*/ GIMT_Encode4(88618),
30526 /* 86294 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
30527 /* 86297 */ GIM_Try, /*On fail goto*//*Label 1910*/ GIMT_Encode4(86364), // Rule ID 1506 //
30528 /* 86302 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30529 /* 86305 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubwd),
30530 /* 86310 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30531 /* 86313 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30532 /* 86316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30533 /* 86320 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30534 /* 86324 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30535 /* 86328 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30536 /* 86331 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30537 /* 86335 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30538 /* 86339 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30539 /* 86341 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30540 /* 86348 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16202:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30541 /* 86348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBWDrm),
30542 /* 86351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30543 /* 86353 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30544 /* 86357 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30545 /* 86362 */ GIR_RootConstrainSelectedInstOperands,
30546 /* 86363 */ // GIR_Coverage, 1506,
30547 /* 86363 */ GIR_EraseRootFromParent_Done,
30548 /* 86364 */ // Label 1910: @86364
30549 /* 86364 */ GIM_Try, /*On fail goto*//*Label 1911*/ GIMT_Encode4(86431), // Rule ID 1508 //
30550 /* 86369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30551 /* 86372 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubdq),
30552 /* 86377 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30553 /* 86380 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30554 /* 86383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30555 /* 86387 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30556 /* 86391 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30557 /* 86395 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30558 /* 86398 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30559 /* 86402 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30560 /* 86406 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30561 /* 86408 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30562 /* 86415 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16201:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30563 /* 86415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBDQrm),
30564 /* 86418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30565 /* 86420 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30566 /* 86424 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30567 /* 86429 */ GIR_RootConstrainSelectedInstOperands,
30568 /* 86430 */ // GIR_Coverage, 1508,
30569 /* 86430 */ GIR_EraseRootFromParent_Done,
30570 /* 86431 */ // Label 1911: @86431
30571 /* 86431 */ GIM_Try, /*On fail goto*//*Label 1912*/ GIMT_Encode4(86498), // Rule ID 1510 //
30572 /* 86436 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30573 /* 86439 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubbw),
30574 /* 86444 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30575 /* 86447 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30576 /* 86450 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30577 /* 86454 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30578 /* 86458 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30579 /* 86462 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30580 /* 86465 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30581 /* 86469 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30582 /* 86473 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30583 /* 86475 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30584 /* 86482 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16200:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHSUBBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
30585 /* 86482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBBWrm),
30586 /* 86485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30587 /* 86487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30588 /* 86491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30589 /* 86496 */ GIR_RootConstrainSelectedInstOperands,
30590 /* 86497 */ // GIR_Coverage, 1510,
30591 /* 86497 */ GIR_EraseRootFromParent_Done,
30592 /* 86498 */ // Label 1912: @86498
30593 /* 86498 */ GIM_Try, /*On fail goto*//*Label 1913*/ GIMT_Encode4(86565), // Rule ID 1512 //
30594 /* 86503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30595 /* 86506 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwq),
30596 /* 86511 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30597 /* 86514 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30598 /* 86517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30599 /* 86521 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30600 /* 86525 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30601 /* 86529 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30602 /* 86532 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30603 /* 86536 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30604 /* 86540 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30605 /* 86542 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30606 /* 86549 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16199:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDWQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30607 /* 86549 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWQrm),
30608 /* 86552 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30609 /* 86554 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30610 /* 86558 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30611 /* 86563 */ GIR_RootConstrainSelectedInstOperands,
30612 /* 86564 */ // GIR_Coverage, 1512,
30613 /* 86564 */ GIR_EraseRootFromParent_Done,
30614 /* 86565 */ // Label 1913: @86565
30615 /* 86565 */ GIM_Try, /*On fail goto*//*Label 1914*/ GIMT_Encode4(86632), // Rule ID 1514 //
30616 /* 86570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30617 /* 86573 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwd),
30618 /* 86578 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30619 /* 86581 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30620 /* 86584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30621 /* 86588 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30622 /* 86592 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30623 /* 86596 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30624 /* 86599 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30625 /* 86603 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30626 /* 86607 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30627 /* 86609 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30628 /* 86616 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16198:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30629 /* 86616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWDrm),
30630 /* 86619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30631 /* 86621 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30632 /* 86625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30633 /* 86630 */ GIR_RootConstrainSelectedInstOperands,
30634 /* 86631 */ // GIR_Coverage, 1514,
30635 /* 86631 */ GIR_EraseRootFromParent_Done,
30636 /* 86632 */ // Label 1914: @86632
30637 /* 86632 */ GIM_Try, /*On fail goto*//*Label 1915*/ GIMT_Encode4(86699), // Rule ID 1516 //
30638 /* 86637 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30639 /* 86640 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwq),
30640 /* 86645 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30641 /* 86648 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30642 /* 86651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30643 /* 86655 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30644 /* 86659 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30645 /* 86663 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30646 /* 86666 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30647 /* 86670 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30648 /* 86674 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30649 /* 86676 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30650 /* 86683 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16197:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUWQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30651 /* 86683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWQrm),
30652 /* 86686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30653 /* 86688 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30654 /* 86692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30655 /* 86697 */ GIR_RootConstrainSelectedInstOperands,
30656 /* 86698 */ // GIR_Coverage, 1516,
30657 /* 86698 */ GIR_EraseRootFromParent_Done,
30658 /* 86699 */ // Label 1915: @86699
30659 /* 86699 */ GIM_Try, /*On fail goto*//*Label 1916*/ GIMT_Encode4(86766), // Rule ID 1518 //
30660 /* 86704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30661 /* 86707 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwd),
30662 /* 86712 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30663 /* 86715 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30664 /* 86718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30665 /* 86722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30666 /* 86726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30667 /* 86730 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30668 /* 86733 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30669 /* 86737 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30670 /* 86741 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30671 /* 86743 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30672 /* 86750 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16196:{ *:[iPTR] }, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUWDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30673 /* 86750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWDrm),
30674 /* 86753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30675 /* 86755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30676 /* 86759 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30677 /* 86764 */ GIR_RootConstrainSelectedInstOperands,
30678 /* 86765 */ // GIR_Coverage, 1518,
30679 /* 86765 */ GIR_EraseRootFromParent_Done,
30680 /* 86766 */ // Label 1916: @86766
30681 /* 86766 */ GIM_Try, /*On fail goto*//*Label 1917*/ GIMT_Encode4(86833), // Rule ID 1520 //
30682 /* 86771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30683 /* 86774 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddudq),
30684 /* 86779 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30685 /* 86782 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30686 /* 86785 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30687 /* 86789 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30688 /* 86793 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30689 /* 86797 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30690 /* 86800 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30691 /* 86804 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30692 /* 86808 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30693 /* 86810 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30694 /* 86817 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16195:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30695 /* 86817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUDQrm),
30696 /* 86820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30697 /* 86822 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30698 /* 86826 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30699 /* 86831 */ GIR_RootConstrainSelectedInstOperands,
30700 /* 86832 */ // GIR_Coverage, 1520,
30701 /* 86832 */ GIR_EraseRootFromParent_Done,
30702 /* 86833 */ // Label 1917: @86833
30703 /* 86833 */ GIM_Try, /*On fail goto*//*Label 1918*/ GIMT_Encode4(86900), // Rule ID 1522 //
30704 /* 86838 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30705 /* 86841 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubw),
30706 /* 86846 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30707 /* 86849 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30708 /* 86852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30709 /* 86856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30710 /* 86860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30711 /* 86864 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30712 /* 86867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30713 /* 86871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30714 /* 86875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30715 /* 86877 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30716 /* 86884 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16194:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
30717 /* 86884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBWrm),
30718 /* 86887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30719 /* 86889 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30720 /* 86893 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30721 /* 86898 */ GIR_RootConstrainSelectedInstOperands,
30722 /* 86899 */ // GIR_Coverage, 1522,
30723 /* 86899 */ GIR_EraseRootFromParent_Done,
30724 /* 86900 */ // Label 1918: @86900
30725 /* 86900 */ GIM_Try, /*On fail goto*//*Label 1919*/ GIMT_Encode4(86967), // Rule ID 1524 //
30726 /* 86905 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30727 /* 86908 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubq),
30728 /* 86913 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30729 /* 86916 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30730 /* 86919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30731 /* 86923 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30732 /* 86927 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30733 /* 86931 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30734 /* 86934 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30735 /* 86938 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30736 /* 86942 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30737 /* 86944 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30738 /* 86951 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16193:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30739 /* 86951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBQrm),
30740 /* 86954 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30741 /* 86956 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30742 /* 86960 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30743 /* 86965 */ GIR_RootConstrainSelectedInstOperands,
30744 /* 86966 */ // GIR_Coverage, 1524,
30745 /* 86966 */ GIR_EraseRootFromParent_Done,
30746 /* 86967 */ // Label 1919: @86967
30747 /* 86967 */ GIM_Try, /*On fail goto*//*Label 1920*/ GIMT_Encode4(87034), // Rule ID 1526 //
30748 /* 86972 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30749 /* 86975 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubd),
30750 /* 86980 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30751 /* 86983 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30752 /* 86986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30753 /* 86990 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30754 /* 86994 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30755 /* 86998 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30756 /* 87001 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30757 /* 87005 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30758 /* 87009 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30759 /* 87011 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30760 /* 87018 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16192:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDUBDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30761 /* 87018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBDrm),
30762 /* 87021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30763 /* 87023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30764 /* 87027 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30765 /* 87032 */ GIR_RootConstrainSelectedInstOperands,
30766 /* 87033 */ // GIR_Coverage, 1526,
30767 /* 87033 */ GIR_EraseRootFromParent_Done,
30768 /* 87034 */ // Label 1920: @87034
30769 /* 87034 */ GIM_Try, /*On fail goto*//*Label 1921*/ GIMT_Encode4(87101), // Rule ID 1528 //
30770 /* 87039 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30771 /* 87042 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadddq),
30772 /* 87047 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30773 /* 87050 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30774 /* 87053 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30775 /* 87057 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30776 /* 87061 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30777 /* 87065 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30778 /* 87068 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30779 /* 87072 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30780 /* 87076 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30781 /* 87078 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30782 /* 87085 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16191:{ *:[iPTR] }, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDDQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30783 /* 87085 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDDQrm),
30784 /* 87088 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30785 /* 87090 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30786 /* 87094 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30787 /* 87099 */ GIR_RootConstrainSelectedInstOperands,
30788 /* 87100 */ // GIR_Coverage, 1528,
30789 /* 87100 */ GIR_EraseRootFromParent_Done,
30790 /* 87101 */ // Label 1921: @87101
30791 /* 87101 */ GIM_Try, /*On fail goto*//*Label 1922*/ GIMT_Encode4(87168), // Rule ID 1530 //
30792 /* 87106 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30793 /* 87109 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbw),
30794 /* 87114 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
30795 /* 87117 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30796 /* 87120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30797 /* 87124 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30798 /* 87128 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30799 /* 87132 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30800 /* 87135 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30801 /* 87139 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30802 /* 87143 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30803 /* 87145 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30804 /* 87152 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16190:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
30805 /* 87152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBWrm),
30806 /* 87155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30807 /* 87157 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30808 /* 87161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30809 /* 87166 */ GIR_RootConstrainSelectedInstOperands,
30810 /* 87167 */ // GIR_Coverage, 1530,
30811 /* 87167 */ GIR_EraseRootFromParent_Done,
30812 /* 87168 */ // Label 1922: @87168
30813 /* 87168 */ GIM_Try, /*On fail goto*//*Label 1923*/ GIMT_Encode4(87235), // Rule ID 1532 //
30814 /* 87173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30815 /* 87176 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbq),
30816 /* 87181 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30817 /* 87184 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30818 /* 87187 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30819 /* 87191 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30820 /* 87195 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30821 /* 87199 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30822 /* 87202 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30823 /* 87206 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30824 /* 87210 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30825 /* 87212 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30826 /* 87219 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16189:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBQrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
30827 /* 87219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBQrm),
30828 /* 87222 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30829 /* 87224 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30830 /* 87228 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30831 /* 87233 */ GIR_RootConstrainSelectedInstOperands,
30832 /* 87234 */ // GIR_Coverage, 1532,
30833 /* 87234 */ GIR_EraseRootFromParent_Done,
30834 /* 87235 */ // Label 1923: @87235
30835 /* 87235 */ GIM_Try, /*On fail goto*//*Label 1924*/ GIMT_Encode4(87302), // Rule ID 1534 //
30836 /* 87240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30837 /* 87243 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbd),
30838 /* 87248 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30839 /* 87251 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
30840 /* 87254 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30841 /* 87258 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30842 /* 87262 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30843 /* 87266 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30844 /* 87269 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30845 /* 87273 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30846 /* 87277 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30847 /* 87279 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30848 /* 87286 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16188:{ *:[iPTR] }, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPHADDBDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
30849 /* 87286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBDrm),
30850 /* 87289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30851 /* 87291 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30852 /* 87295 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30853 /* 87300 */ GIR_RootConstrainSelectedInstOperands,
30854 /* 87301 */ // GIR_Coverage, 1534,
30855 /* 87301 */ GIR_EraseRootFromParent_Done,
30856 /* 87302 */ // Label 1924: @87302
30857 /* 87302 */ GIM_Try, /*On fail goto*//*Label 1925*/ GIMT_Encode4(87369), // Rule ID 1540 //
30858 /* 87307 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30859 /* 87310 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps),
30860 /* 87315 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30861 /* 87318 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30862 /* 87321 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30863 /* 87325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30864 /* 87329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30865 /* 87333 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30866 /* 87336 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30867 /* 87340 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30868 /* 87344 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30869 /* 87346 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30870 /* 87353 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16180:{ *:[iPTR] }, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
30871 /* 87353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSrm),
30872 /* 87356 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30873 /* 87358 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30874 /* 87362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30875 /* 87367 */ GIR_RootConstrainSelectedInstOperands,
30876 /* 87368 */ // GIR_Coverage, 1540,
30877 /* 87368 */ GIR_EraseRootFromParent_Done,
30878 /* 87369 */ // Label 1925: @87369
30879 /* 87369 */ GIM_Try, /*On fail goto*//*Label 1926*/ GIMT_Encode4(87436), // Rule ID 1542 //
30880 /* 87374 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30881 /* 87377 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps_256),
30882 /* 87382 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
30883 /* 87385 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
30884 /* 87388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30885 /* 87392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30886 /* 87396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30887 /* 87400 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30888 /* 87403 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30889 /* 87407 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30890 /* 87411 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30891 /* 87413 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30892 /* 87420 */ // (intrinsic_wo_chain:{ *:[v8f32] } 16181:{ *:[iPTR] }, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
30893 /* 87420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSYrm),
30894 /* 87423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30895 /* 87425 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30896 /* 87429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30897 /* 87434 */ GIR_RootConstrainSelectedInstOperands,
30898 /* 87435 */ // GIR_Coverage, 1542,
30899 /* 87435 */ GIR_EraseRootFromParent_Done,
30900 /* 87436 */ // Label 1926: @87436
30901 /* 87436 */ GIM_Try, /*On fail goto*//*Label 1927*/ GIMT_Encode4(87503), // Rule ID 1548 //
30902 /* 87441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30903 /* 87444 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd),
30904 /* 87449 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30905 /* 87452 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30906 /* 87455 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30907 /* 87459 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30908 /* 87463 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30909 /* 87467 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30910 /* 87470 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30911 /* 87474 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30912 /* 87478 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30913 /* 87480 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30914 /* 87487 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16178:{ *:[iPTR] }, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPDrm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
30915 /* 87487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDrm),
30916 /* 87490 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30917 /* 87492 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30918 /* 87496 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30919 /* 87501 */ GIR_RootConstrainSelectedInstOperands,
30920 /* 87502 */ // GIR_Coverage, 1548,
30921 /* 87502 */ GIR_EraseRootFromParent_Done,
30922 /* 87503 */ // Label 1927: @87503
30923 /* 87503 */ GIM_Try, /*On fail goto*//*Label 1928*/ GIMT_Encode4(87570), // Rule ID 1550 //
30924 /* 87508 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30925 /* 87511 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd_256),
30926 /* 87516 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
30927 /* 87519 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
30928 /* 87522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
30929 /* 87526 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30930 /* 87530 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30931 /* 87534 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30932 /* 87537 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30933 /* 87541 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30934 /* 87545 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30935 /* 87547 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30936 /* 87554 */ // (intrinsic_wo_chain:{ *:[v4f64] } 16179:{ *:[iPTR] }, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VFRCZPDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
30937 /* 87554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDYrm),
30938 /* 87557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30939 /* 87559 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
30940 /* 87563 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30941 /* 87568 */ GIR_RootConstrainSelectedInstOperands,
30942 /* 87569 */ // GIR_Coverage, 1550,
30943 /* 87569 */ GIR_EraseRootFromParent_Done,
30944 /* 87570 */ // Label 1928: @87570
30945 /* 87570 */ GIM_Try, /*On fail goto*//*Label 1929*/ GIMT_Encode4(87637), // Rule ID 3340 //
30946 /* 87575 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
30947 /* 87578 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
30948 /* 87583 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30949 /* 87586 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
30950 /* 87589 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30951 /* 87593 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
30952 /* 87597 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
30953 /* 87601 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
30954 /* 87604 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
30955 /* 87608 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
30956 /* 87612 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
30957 /* 87614 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
30958 /* 87621 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14579:{ *:[iPTR] }, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESIMCrm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
30959 /* 87621 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESIMCrm),
30960 /* 87624 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30961 /* 87626 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
30962 /* 87630 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
30963 /* 87635 */ GIR_RootConstrainSelectedInstOperands,
30964 /* 87636 */ // GIR_Coverage, 3340,
30965 /* 87636 */ GIR_EraseRootFromParent_Done,
30966 /* 87637 */ // Label 1929: @87637
30967 /* 87637 */ GIM_Try, /*On fail goto*//*Label 1930*/ GIMT_Encode4(87673), // Rule ID 1505 //
30968 /* 87642 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30969 /* 87645 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubwd),
30970 /* 87650 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
30971 /* 87653 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
30972 /* 87656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30973 /* 87660 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30974 /* 87664 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16202:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHSUBWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
30975 /* 87664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBWDrr),
30976 /* 87667 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30977 /* 87669 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30978 /* 87671 */ GIR_RootConstrainSelectedInstOperands,
30979 /* 87672 */ // GIR_Coverage, 1505,
30980 /* 87672 */ GIR_EraseRootFromParent_Done,
30981 /* 87673 */ // Label 1930: @87673
30982 /* 87673 */ GIM_Try, /*On fail goto*//*Label 1931*/ GIMT_Encode4(87709), // Rule ID 1507 //
30983 /* 87678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30984 /* 87681 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubdq),
30985 /* 87686 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
30986 /* 87689 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
30987 /* 87692 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30988 /* 87696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
30989 /* 87700 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16201:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHSUBDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
30990 /* 87700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBDQrr),
30991 /* 87703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
30992 /* 87705 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
30993 /* 87707 */ GIR_RootConstrainSelectedInstOperands,
30994 /* 87708 */ // GIR_Coverage, 1507,
30995 /* 87708 */ GIR_EraseRootFromParent_Done,
30996 /* 87709 */ // Label 1931: @87709
30997 /* 87709 */ GIM_Try, /*On fail goto*//*Label 1932*/ GIMT_Encode4(87745), // Rule ID 1509 //
30998 /* 87714 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
30999 /* 87717 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphsubbw),
31000 /* 87722 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31001 /* 87725 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31002 /* 87728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31003 /* 87732 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31004 /* 87736 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16200:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHSUBBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
31005 /* 87736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHSUBBWrr),
31006 /* 87739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31007 /* 87741 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31008 /* 87743 */ GIR_RootConstrainSelectedInstOperands,
31009 /* 87744 */ // GIR_Coverage, 1509,
31010 /* 87744 */ GIR_EraseRootFromParent_Done,
31011 /* 87745 */ // Label 1932: @87745
31012 /* 87745 */ GIM_Try, /*On fail goto*//*Label 1933*/ GIMT_Encode4(87781), // Rule ID 1511 //
31013 /* 87750 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31014 /* 87753 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwq),
31015 /* 87758 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31016 /* 87761 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31017 /* 87764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31018 /* 87768 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31019 /* 87772 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16199:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDWQrr:{ *:[v2i64] } VR128:{ *:[v8i16] }:$src)
31020 /* 87772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWQrr),
31021 /* 87775 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31022 /* 87777 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31023 /* 87779 */ GIR_RootConstrainSelectedInstOperands,
31024 /* 87780 */ // GIR_Coverage, 1511,
31025 /* 87780 */ GIR_EraseRootFromParent_Done,
31026 /* 87781 */ // Label 1933: @87781
31027 /* 87781 */ GIM_Try, /*On fail goto*//*Label 1934*/ GIMT_Encode4(87817), // Rule ID 1513 //
31028 /* 87786 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31029 /* 87789 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddwd),
31030 /* 87794 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31031 /* 87797 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31032 /* 87800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31033 /* 87804 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31034 /* 87808 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16198:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
31035 /* 87808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDWDrr),
31036 /* 87811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31037 /* 87813 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31038 /* 87815 */ GIR_RootConstrainSelectedInstOperands,
31039 /* 87816 */ // GIR_Coverage, 1513,
31040 /* 87816 */ GIR_EraseRootFromParent_Done,
31041 /* 87817 */ // Label 1934: @87817
31042 /* 87817 */ GIM_Try, /*On fail goto*//*Label 1935*/ GIMT_Encode4(87853), // Rule ID 1515 //
31043 /* 87822 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31044 /* 87825 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwq),
31045 /* 87830 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31046 /* 87833 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31047 /* 87836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31048 /* 87840 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31049 /* 87844 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16197:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDUWQrr:{ *:[v2i64] } VR128:{ *:[v8i16] }:$src)
31050 /* 87844 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWQrr),
31051 /* 87847 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31052 /* 87849 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31053 /* 87851 */ GIR_RootConstrainSelectedInstOperands,
31054 /* 87852 */ // GIR_Coverage, 1515,
31055 /* 87852 */ GIR_EraseRootFromParent_Done,
31056 /* 87853 */ // Label 1935: @87853
31057 /* 87853 */ GIM_Try, /*On fail goto*//*Label 1936*/ GIMT_Encode4(87889), // Rule ID 1517 //
31058 /* 87858 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31059 /* 87861 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadduwd),
31060 /* 87866 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31061 /* 87869 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31062 /* 87872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31063 /* 87876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31064 /* 87880 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16196:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src) => (VPHADDUWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src)
31065 /* 87880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUWDrr),
31066 /* 87883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31067 /* 87885 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31068 /* 87887 */ GIR_RootConstrainSelectedInstOperands,
31069 /* 87888 */ // GIR_Coverage, 1517,
31070 /* 87888 */ GIR_EraseRootFromParent_Done,
31071 /* 87889 */ // Label 1936: @87889
31072 /* 87889 */ GIM_Try, /*On fail goto*//*Label 1937*/ GIMT_Encode4(87925), // Rule ID 1519 //
31073 /* 87894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31074 /* 87897 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddudq),
31075 /* 87902 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31076 /* 87905 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31077 /* 87908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31078 /* 87912 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31079 /* 87916 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16195:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHADDUDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
31080 /* 87916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUDQrr),
31081 /* 87919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31082 /* 87921 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31083 /* 87923 */ GIR_RootConstrainSelectedInstOperands,
31084 /* 87924 */ // GIR_Coverage, 1519,
31085 /* 87924 */ GIR_EraseRootFromParent_Done,
31086 /* 87925 */ // Label 1937: @87925
31087 /* 87925 */ GIM_Try, /*On fail goto*//*Label 1938*/ GIMT_Encode4(87961), // Rule ID 1521 //
31088 /* 87930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31089 /* 87933 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubw),
31090 /* 87938 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31091 /* 87941 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31092 /* 87944 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31093 /* 87948 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31094 /* 87952 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16194:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
31095 /* 87952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBWrr),
31096 /* 87955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31097 /* 87957 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31098 /* 87959 */ GIR_RootConstrainSelectedInstOperands,
31099 /* 87960 */ // GIR_Coverage, 1521,
31100 /* 87960 */ GIR_EraseRootFromParent_Done,
31101 /* 87961 */ // Label 1938: @87961
31102 /* 87961 */ GIM_Try, /*On fail goto*//*Label 1939*/ GIMT_Encode4(87997), // Rule ID 1523 //
31103 /* 87966 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31104 /* 87969 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubq),
31105 /* 87974 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31106 /* 87977 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31107 /* 87980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31108 /* 87984 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31109 /* 87988 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16193:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBQrr:{ *:[v2i64] } VR128:{ *:[v16i8] }:$src)
31110 /* 87988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBQrr),
31111 /* 87991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31112 /* 87993 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31113 /* 87995 */ GIR_RootConstrainSelectedInstOperands,
31114 /* 87996 */ // GIR_Coverage, 1523,
31115 /* 87996 */ GIR_EraseRootFromParent_Done,
31116 /* 87997 */ // Label 1939: @87997
31117 /* 87997 */ GIM_Try, /*On fail goto*//*Label 1940*/ GIMT_Encode4(88033), // Rule ID 1525 //
31118 /* 88002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31119 /* 88005 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddubd),
31120 /* 88010 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31121 /* 88013 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31122 /* 88016 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31123 /* 88020 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31124 /* 88024 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16192:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDUBDrr:{ *:[v4i32] } VR128:{ *:[v16i8] }:$src)
31125 /* 88024 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDUBDrr),
31126 /* 88027 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31127 /* 88029 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31128 /* 88031 */ GIR_RootConstrainSelectedInstOperands,
31129 /* 88032 */ // GIR_Coverage, 1525,
31130 /* 88032 */ GIR_EraseRootFromParent_Done,
31131 /* 88033 */ // Label 1940: @88033
31132 /* 88033 */ GIM_Try, /*On fail goto*//*Label 1941*/ GIMT_Encode4(88069), // Rule ID 1527 //
31133 /* 88038 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31134 /* 88041 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphadddq),
31135 /* 88046 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31136 /* 88049 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31137 /* 88052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31138 /* 88056 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31139 /* 88060 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16191:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src) => (VPHADDDQrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src)
31140 /* 88060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDDQrr),
31141 /* 88063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31142 /* 88065 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31143 /* 88067 */ GIR_RootConstrainSelectedInstOperands,
31144 /* 88068 */ // GIR_Coverage, 1527,
31145 /* 88068 */ GIR_EraseRootFromParent_Done,
31146 /* 88069 */ // Label 1941: @88069
31147 /* 88069 */ GIM_Try, /*On fail goto*//*Label 1942*/ GIMT_Encode4(88105), // Rule ID 1529 //
31148 /* 88074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31149 /* 88077 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbw),
31150 /* 88082 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31151 /* 88085 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31152 /* 88088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31153 /* 88092 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31154 /* 88096 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16190:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBWrr:{ *:[v8i16] } VR128:{ *:[v16i8] }:$src)
31155 /* 88096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBWrr),
31156 /* 88099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31157 /* 88101 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31158 /* 88103 */ GIR_RootConstrainSelectedInstOperands,
31159 /* 88104 */ // GIR_Coverage, 1529,
31160 /* 88104 */ GIR_EraseRootFromParent_Done,
31161 /* 88105 */ // Label 1942: @88105
31162 /* 88105 */ GIM_Try, /*On fail goto*//*Label 1943*/ GIMT_Encode4(88141), // Rule ID 1531 //
31163 /* 88110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31164 /* 88113 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbq),
31165 /* 88118 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31166 /* 88121 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31167 /* 88124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31168 /* 88128 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31169 /* 88132 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16189:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBQrr:{ *:[v2i64] } VR128:{ *:[v16i8] }:$src)
31170 /* 88132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBQrr),
31171 /* 88135 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31172 /* 88137 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31173 /* 88139 */ GIR_RootConstrainSelectedInstOperands,
31174 /* 88140 */ // GIR_Coverage, 1531,
31175 /* 88140 */ GIR_EraseRootFromParent_Done,
31176 /* 88141 */ // Label 1943: @88141
31177 /* 88141 */ GIM_Try, /*On fail goto*//*Label 1944*/ GIMT_Encode4(88177), // Rule ID 1533 //
31178 /* 88146 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31179 /* 88149 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vphaddbd),
31180 /* 88154 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31181 /* 88157 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31182 /* 88160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31183 /* 88164 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31184 /* 88168 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16188:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src) => (VPHADDBDrr:{ *:[v4i32] } VR128:{ *:[v16i8] }:$src)
31185 /* 88168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPHADDBDrr),
31186 /* 88171 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31187 /* 88173 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31188 /* 88175 */ GIR_RootConstrainSelectedInstOperands,
31189 /* 88176 */ // GIR_Coverage, 1533,
31190 /* 88176 */ GIR_EraseRootFromParent_Done,
31191 /* 88177 */ // Label 1944: @88177
31192 /* 88177 */ GIM_Try, /*On fail goto*//*Label 1945*/ GIMT_Encode4(88213), // Rule ID 1535 //
31193 /* 88182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31194 /* 88185 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ss),
31195 /* 88190 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31196 /* 88193 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31197 /* 88196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31198 /* 88200 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31199 /* 88204 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16183:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VFRCZSSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
31200 /* 88204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZSSrr),
31201 /* 88207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31202 /* 88209 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31203 /* 88211 */ GIR_RootConstrainSelectedInstOperands,
31204 /* 88212 */ // GIR_Coverage, 1535,
31205 /* 88212 */ GIR_EraseRootFromParent_Done,
31206 /* 88213 */ // Label 1945: @88213
31207 /* 88213 */ GIM_Try, /*On fail goto*//*Label 1946*/ GIMT_Encode4(88249), // Rule ID 1539 //
31208 /* 88218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31209 /* 88221 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps),
31210 /* 88226 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31211 /* 88229 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31212 /* 88232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31213 /* 88236 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31214 /* 88240 */ // (intrinsic_wo_chain:{ *:[v4f32] } 16180:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VFRCZPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
31215 /* 88240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSrr),
31216 /* 88243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31217 /* 88245 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31218 /* 88247 */ GIR_RootConstrainSelectedInstOperands,
31219 /* 88248 */ // GIR_Coverage, 1539,
31220 /* 88248 */ GIR_EraseRootFromParent_Done,
31221 /* 88249 */ // Label 1946: @88249
31222 /* 88249 */ GIM_Try, /*On fail goto*//*Label 1947*/ GIMT_Encode4(88285), // Rule ID 1541 //
31223 /* 88254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31224 /* 88257 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_ps_256),
31225 /* 88262 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31226 /* 88265 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31227 /* 88268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31228 /* 88272 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31229 /* 88276 */ // (intrinsic_wo_chain:{ *:[v8f32] } 16181:{ *:[iPTR] }, VR256:{ *:[v8f32] }:$src) => (VFRCZPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
31230 /* 88276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPSYrr),
31231 /* 88279 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31232 /* 88281 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31233 /* 88283 */ GIR_RootConstrainSelectedInstOperands,
31234 /* 88284 */ // GIR_Coverage, 1541,
31235 /* 88284 */ GIR_EraseRootFromParent_Done,
31236 /* 88285 */ // Label 1947: @88285
31237 /* 88285 */ GIM_Try, /*On fail goto*//*Label 1948*/ GIMT_Encode4(88321), // Rule ID 1543 //
31238 /* 88290 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31239 /* 88293 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_sd),
31240 /* 88298 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31241 /* 88301 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31242 /* 88304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31243 /* 88308 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31244 /* 88312 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16182:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src) => (VFRCZSDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
31245 /* 88312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZSDrr),
31246 /* 88315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31247 /* 88317 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31248 /* 88319 */ GIR_RootConstrainSelectedInstOperands,
31249 /* 88320 */ // GIR_Coverage, 1543,
31250 /* 88320 */ GIR_EraseRootFromParent_Done,
31251 /* 88321 */ // Label 1948: @88321
31252 /* 88321 */ GIM_Try, /*On fail goto*//*Label 1949*/ GIMT_Encode4(88357), // Rule ID 1547 //
31253 /* 88326 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31254 /* 88329 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd),
31255 /* 88334 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31256 /* 88337 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31257 /* 88340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31258 /* 88344 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31259 /* 88348 */ // (intrinsic_wo_chain:{ *:[v2f64] } 16178:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src) => (VFRCZPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
31260 /* 88348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDrr),
31261 /* 88351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31262 /* 88353 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31263 /* 88355 */ GIR_RootConstrainSelectedInstOperands,
31264 /* 88356 */ // GIR_Coverage, 1547,
31265 /* 88356 */ GIR_EraseRootFromParent_Done,
31266 /* 88357 */ // Label 1949: @88357
31267 /* 88357 */ GIM_Try, /*On fail goto*//*Label 1950*/ GIMT_Encode4(88393), // Rule ID 1549 //
31268 /* 88362 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
31269 /* 88365 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vfrcz_pd_256),
31270 /* 88370 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31271 /* 88373 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31272 /* 88376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31273 /* 88380 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31274 /* 88384 */ // (intrinsic_wo_chain:{ *:[v4f64] } 16179:{ *:[iPTR] }, VR256:{ *:[v4f64] }:$src) => (VFRCZPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
31275 /* 88384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFRCZPDYrr),
31276 /* 88387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31277 /* 88389 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31278 /* 88391 */ GIR_RootConstrainSelectedInstOperands,
31279 /* 88392 */ // GIR_Coverage, 1549,
31280 /* 88392 */ GIR_EraseRootFromParent_Done,
31281 /* 88393 */ // Label 1950: @88393
31282 /* 88393 */ GIM_Try, /*On fail goto*//*Label 1951*/ GIMT_Encode4(88429), // Rule ID 3339 //
31283 /* 88398 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
31284 /* 88401 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
31285 /* 88406 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31286 /* 88409 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31287 /* 88412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31288 /* 88416 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31289 /* 88420 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14579:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1) => (VAESIMCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1)
31290 /* 88420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESIMCrr),
31291 /* 88423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31292 /* 88425 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31293 /* 88427 */ GIR_RootConstrainSelectedInstOperands,
31294 /* 88428 */ // GIR_Coverage, 3339,
31295 /* 88428 */ GIR_EraseRootFromParent_Done,
31296 /* 88429 */ // Label 1951: @88429
31297 /* 88429 */ GIM_Try, /*On fail goto*//*Label 1952*/ GIMT_Encode4(88465), // Rule ID 3341 //
31298 /* 88434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
31299 /* 88437 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesimc),
31300 /* 88442 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31301 /* 88445 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31302 /* 88448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31303 /* 88452 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31304 /* 88456 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14579:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1) => (AESIMCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1)
31305 /* 88456 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESIMCrr),
31306 /* 88459 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31307 /* 88461 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31308 /* 88463 */ GIR_RootConstrainSelectedInstOperands,
31309 /* 88464 */ // GIR_Coverage, 3341,
31310 /* 88464 */ GIR_EraseRootFromParent_Done,
31311 /* 88465 */ // Label 1952: @88465
31312 /* 88465 */ GIM_Try, /*On fail goto*//*Label 1953*/ GIMT_Encode4(88503), // Rule ID 18232 //
31313 /* 88470 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
31314 /* 88473 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rsqrt_ss),
31315 /* 88478 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31316 /* 88481 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31317 /* 88484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31318 /* 88488 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31319 /* 88492 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15914:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (RSQRTSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
31320 /* 88492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RSQRTSSr_Int),
31321 /* 88495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31322 /* 88497 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31323 /* 88499 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31324 /* 88501 */ GIR_RootConstrainSelectedInstOperands,
31325 /* 88502 */ // GIR_Coverage, 18232,
31326 /* 88502 */ GIR_EraseRootFromParent_Done,
31327 /* 88503 */ // Label 1953: @88503
31328 /* 88503 */ GIM_Try, /*On fail goto*//*Label 1954*/ GIMT_Encode4(88541), // Rule ID 18236 //
31329 /* 88508 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
31330 /* 88511 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rsqrt_ss),
31331 /* 88516 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31332 /* 88519 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31333 /* 88522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31334 /* 88526 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31335 /* 88530 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15914:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VRSQRTSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
31336 /* 88530 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VRSQRTSSr_Int),
31337 /* 88533 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31338 /* 88535 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31339 /* 88537 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31340 /* 88539 */ GIR_RootConstrainSelectedInstOperands,
31341 /* 88540 */ // GIR_Coverage, 18236,
31342 /* 88540 */ GIR_EraseRootFromParent_Done,
31343 /* 88541 */ // Label 1954: @88541
31344 /* 88541 */ GIM_Try, /*On fail goto*//*Label 1955*/ GIMT_Encode4(88579), // Rule ID 18252 //
31345 /* 88546 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
31346 /* 88549 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rcp_ss),
31347 /* 88554 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31348 /* 88557 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31349 /* 88560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31350 /* 88564 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31351 /* 88568 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15912:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (RCPSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
31352 /* 88568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RCPSSr_Int),
31353 /* 88571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31354 /* 88573 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31355 /* 88575 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31356 /* 88577 */ GIR_RootConstrainSelectedInstOperands,
31357 /* 88578 */ // GIR_Coverage, 18252,
31358 /* 88578 */ GIR_EraseRootFromParent_Done,
31359 /* 88579 */ // Label 1955: @88579
31360 /* 88579 */ GIM_Try, /*On fail goto*//*Label 1956*/ GIMT_Encode4(88617), // Rule ID 18256 //
31361 /* 88584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
31362 /* 88587 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse_rcp_ss),
31363 /* 88592 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31364 /* 88595 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31365 /* 88598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31366 /* 88602 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31367 /* 88606 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15912:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src) => (VRCPSSr_Int:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src, VR128:{ *:[v4f32] }:$src)
31368 /* 88606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VRCPSSr_Int),
31369 /* 88609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31370 /* 88611 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31371 /* 88613 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
31372 /* 88615 */ GIR_RootConstrainSelectedInstOperands,
31373 /* 88616 */ // GIR_Coverage, 18256,
31374 /* 88616 */ GIR_EraseRootFromParent_Done,
31375 /* 88617 */ // Label 1956: @88617
31376 /* 88617 */ GIM_Reject,
31377 /* 88618 */ // Label 1909: @88618
31378 /* 88618 */ GIM_Try, /*On fail goto*//*Label 1957*/ GIMT_Encode4(94825),
31379 /* 88623 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/4,
31380 /* 88626 */ GIM_Try, /*On fail goto*//*Label 1958*/ GIMT_Encode4(88698), // Rule ID 3344 //
31381 /* 88631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
31382 /* 88634 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
31383 /* 88639 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31384 /* 88642 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31385 /* 88645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31386 /* 88649 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
31387 /* 88653 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31388 /* 88657 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31389 /* 88660 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31390 /* 88664 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31391 /* 88668 */ // MIs[0] src2
31392 /* 88668 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
31393 /* 88671 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31394 /* 88673 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31395 /* 88680 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14580:{ *:[iPTR] }, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (timm:{ *:[i8] }):$src2) => (VAESKEYGENASSISTrmi:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1, (timm:{ *:[i8] }):$src2)
31396 /* 88680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESKEYGENASSISTrmi),
31397 /* 88683 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31398 /* 88685 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
31399 /* 88689 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
31400 /* 88691 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31401 /* 88696 */ GIR_RootConstrainSelectedInstOperands,
31402 /* 88697 */ // GIR_Coverage, 3344,
31403 /* 88697 */ GIR_EraseRootFromParent_Done,
31404 /* 88698 */ // Label 1958: @88698
31405 /* 88698 */ GIM_Try, /*On fail goto*//*Label 1959*/ GIMT_Encode4(88774), // Rule ID 16770 //
31406 /* 88703 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
31407 /* 88706 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
31408 /* 88711 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31409 /* 88714 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31410 /* 88717 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
31411 /* 88720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31412 /* 88724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31413 /* 88728 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31414 /* 88732 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31415 /* 88736 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31416 /* 88739 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31417 /* 88743 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31418 /* 88747 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31419 /* 88749 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31420 /* 88756 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16157:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Z128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31421 /* 88756 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z128rm),
31422 /* 88759 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31423 /* 88761 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31424 /* 88763 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31425 /* 88767 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31426 /* 88772 */ GIR_RootConstrainSelectedInstOperands,
31427 /* 88773 */ // GIR_Coverage, 16770,
31428 /* 88773 */ GIR_EraseRootFromParent_Done,
31429 /* 88774 */ // Label 1959: @88774
31430 /* 88774 */ GIM_Try, /*On fail goto*//*Label 1960*/ GIMT_Encode4(88850), // Rule ID 16772 //
31431 /* 88779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
31432 /* 88782 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
31433 /* 88787 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31434 /* 88790 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31435 /* 88793 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31436 /* 88796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31437 /* 88800 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31438 /* 88804 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31439 /* 88808 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31440 /* 88812 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31441 /* 88815 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31442 /* 88819 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31443 /* 88823 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31444 /* 88825 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31445 /* 88832 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16158:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Z256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31446 /* 88832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z256rm),
31447 /* 88835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31448 /* 88837 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31449 /* 88839 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31450 /* 88843 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31451 /* 88848 */ GIR_RootConstrainSelectedInstOperands,
31452 /* 88849 */ // GIR_Coverage, 16772,
31453 /* 88849 */ GIR_EraseRootFromParent_Done,
31454 /* 88850 */ // Label 1960: @88850
31455 /* 88850 */ GIM_Try, /*On fail goto*//*Label 1961*/ GIMT_Encode4(88926), // Rule ID 16776 //
31456 /* 88855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
31457 /* 88858 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
31458 /* 88863 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31459 /* 88866 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31460 /* 88869 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
31461 /* 88872 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31462 /* 88876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
31463 /* 88880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31464 /* 88884 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31465 /* 88888 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31466 /* 88891 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31467 /* 88895 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31468 /* 88899 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31469 /* 88901 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31470 /* 88908 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16160:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Z128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31471 /* 88908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z128rm),
31472 /* 88911 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31473 /* 88913 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31474 /* 88915 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31475 /* 88919 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31476 /* 88924 */ GIR_RootConstrainSelectedInstOperands,
31477 /* 88925 */ // GIR_Coverage, 16776,
31478 /* 88925 */ GIR_EraseRootFromParent_Done,
31479 /* 88926 */ // Label 1961: @88926
31480 /* 88926 */ GIM_Try, /*On fail goto*//*Label 1962*/ GIMT_Encode4(89002), // Rule ID 16778 //
31481 /* 88931 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
31482 /* 88934 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
31483 /* 88939 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31484 /* 88942 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31485 /* 88945 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31486 /* 88948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31487 /* 88952 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
31488 /* 88956 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31489 /* 88960 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31490 /* 88964 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31491 /* 88967 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31492 /* 88971 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31493 /* 88975 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31494 /* 88977 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31495 /* 88984 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16161:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Z256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31496 /* 88984 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z256rm),
31497 /* 88987 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31498 /* 88989 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31499 /* 88991 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31500 /* 88995 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31501 /* 89000 */ GIR_RootConstrainSelectedInstOperands,
31502 /* 89001 */ // GIR_Coverage, 16778,
31503 /* 89001 */ GIR_EraseRootFromParent_Done,
31504 /* 89002 */ // Label 1962: @89002
31505 /* 89002 */ GIM_Try, /*On fail goto*//*Label 1963*/ GIMT_Encode4(89078), // Rule ID 2999 //
31506 /* 89007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
31507 /* 89010 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
31508 /* 89015 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
31509 /* 89018 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
31510 /* 89021 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
31511 /* 89024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31512 /* 89028 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31513 /* 89032 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31514 /* 89036 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31515 /* 89040 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31516 /* 89043 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31517 /* 89047 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31518 /* 89051 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31519 /* 89053 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31520 /* 89060 */ // (intrinsic_wo_chain:{ *:[v16i8] } 16052:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
31521 /* 89060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBrm),
31522 /* 89063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31523 /* 89065 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31524 /* 89067 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31525 /* 89071 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31526 /* 89076 */ GIR_RootConstrainSelectedInstOperands,
31527 /* 89077 */ // GIR_Coverage, 2999,
31528 /* 89077 */ GIR_EraseRootFromParent_Done,
31529 /* 89078 */ // Label 1963: @89078
31530 /* 89078 */ GIM_Try, /*On fail goto*//*Label 1964*/ GIMT_Encode4(89154), // Rule ID 3001 //
31531 /* 89083 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
31532 /* 89086 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
31533 /* 89091 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
31534 /* 89094 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
31535 /* 89097 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
31536 /* 89100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31537 /* 89104 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31538 /* 89108 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31539 /* 89112 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31540 /* 89116 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31541 /* 89119 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31542 /* 89123 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31543 /* 89127 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31544 /* 89129 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31545 /* 89136 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16056:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
31546 /* 89136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWrm),
31547 /* 89139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31548 /* 89141 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31549 /* 89143 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31550 /* 89147 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31551 /* 89152 */ GIR_RootConstrainSelectedInstOperands,
31552 /* 89153 */ // GIR_Coverage, 3001,
31553 /* 89153 */ GIR_EraseRootFromParent_Done,
31554 /* 89154 */ // Label 1964: @89154
31555 /* 89154 */ GIM_Try, /*On fail goto*//*Label 1965*/ GIMT_Encode4(89230), // Rule ID 3003 //
31556 /* 89159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
31557 /* 89162 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
31558 /* 89167 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
31559 /* 89170 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
31560 /* 89173 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
31561 /* 89176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31562 /* 89180 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31563 /* 89184 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31564 /* 89188 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31565 /* 89192 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31566 /* 89195 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31567 /* 89199 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31568 /* 89203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31569 /* 89205 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31570 /* 89212 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16054:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31571 /* 89212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDrm),
31572 /* 89215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31573 /* 89217 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31574 /* 89219 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31575 /* 89223 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31576 /* 89228 */ GIR_RootConstrainSelectedInstOperands,
31577 /* 89229 */ // GIR_Coverage, 3003,
31578 /* 89229 */ GIR_EraseRootFromParent_Done,
31579 /* 89230 */ // Label 1965: @89230
31580 /* 89230 */ GIM_Try, /*On fail goto*//*Label 1966*/ GIMT_Encode4(89306), // Rule ID 3023 //
31581 /* 89235 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
31582 /* 89238 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_b),
31583 /* 89243 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
31584 /* 89246 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
31585 /* 89249 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
31586 /* 89252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31587 /* 89256 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31588 /* 89260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31589 /* 89264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31590 /* 89268 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31591 /* 89271 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31592 /* 89275 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31593 /* 89279 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31594 /* 89281 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31595 /* 89288 */ // (intrinsic_wo_chain:{ *:[v32i8] } 14943:{ *:[iPTR] }, VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
31596 /* 89288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBYrm),
31597 /* 89291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31598 /* 89293 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31599 /* 89295 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31600 /* 89299 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31601 /* 89304 */ GIR_RootConstrainSelectedInstOperands,
31602 /* 89305 */ // GIR_Coverage, 3023,
31603 /* 89305 */ GIR_EraseRootFromParent_Done,
31604 /* 89306 */ // Label 1966: @89306
31605 /* 89306 */ GIM_Try, /*On fail goto*//*Label 1967*/ GIMT_Encode4(89382), // Rule ID 3025 //
31606 /* 89311 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
31607 /* 89314 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_w),
31608 /* 89319 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
31609 /* 89322 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
31610 /* 89325 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
31611 /* 89328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31612 /* 89332 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31613 /* 89336 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31614 /* 89340 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31615 /* 89344 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31616 /* 89347 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31617 /* 89351 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31618 /* 89355 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31619 /* 89357 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31620 /* 89364 */ // (intrinsic_wo_chain:{ *:[v16i16] } 14945:{ *:[iPTR] }, VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
31621 /* 89364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWYrm),
31622 /* 89367 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31623 /* 89369 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31624 /* 89371 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31625 /* 89375 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31626 /* 89380 */ GIR_RootConstrainSelectedInstOperands,
31627 /* 89381 */ // GIR_Coverage, 3025,
31628 /* 89381 */ GIR_EraseRootFromParent_Done,
31629 /* 89382 */ // Label 1967: @89382
31630 /* 89382 */ GIM_Try, /*On fail goto*//*Label 1968*/ GIMT_Encode4(89458), // Rule ID 3027 //
31631 /* 89387 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
31632 /* 89390 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_d),
31633 /* 89395 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
31634 /* 89398 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
31635 /* 89401 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
31636 /* 89404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31637 /* 89408 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31638 /* 89412 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31639 /* 89416 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31640 /* 89420 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31641 /* 89423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31642 /* 89427 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31643 /* 89431 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31644 /* 89433 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31645 /* 89440 */ // (intrinsic_wo_chain:{ *:[v8i32] } 14944:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSIGNDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31646 /* 89440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDYrm),
31647 /* 89443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31648 /* 89445 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31649 /* 89447 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31650 /* 89451 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31651 /* 89456 */ GIR_RootConstrainSelectedInstOperands,
31652 /* 89457 */ // GIR_Coverage, 3027,
31653 /* 89457 */ GIR_EraseRootFromParent_Done,
31654 /* 89458 */ // Label 1968: @89458
31655 /* 89458 */ GIM_Try, /*On fail goto*//*Label 1969*/ GIMT_Encode4(89534), // Rule ID 3286 //
31656 /* 89463 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
31657 /* 89466 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
31658 /* 89471 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31659 /* 89474 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31660 /* 89477 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
31661 /* 89480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31662 /* 89484 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31663 /* 89488 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31664 /* 89492 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31665 /* 89496 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31666 /* 89499 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31667 /* 89503 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31668 /* 89507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31669 /* 89509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31670 /* 89516 */ // (intrinsic_wo_chain:{ *:[i32] } 16010:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m8:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31671 /* 89516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m8),
31672 /* 89519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31673 /* 89521 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31674 /* 89523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31675 /* 89527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31676 /* 89532 */ GIR_RootConstrainSelectedInstOperands,
31677 /* 89533 */ // GIR_Coverage, 3286,
31678 /* 89533 */ GIR_EraseRootFromParent_Done,
31679 /* 89534 */ // Label 1969: @89534
31680 /* 89534 */ GIM_Try, /*On fail goto*//*Label 1970*/ GIMT_Encode4(89610), // Rule ID 3288 //
31681 /* 89539 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
31682 /* 89542 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
31683 /* 89547 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31684 /* 89550 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31685 /* 89553 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
31686 /* 89556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31687 /* 89560 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31688 /* 89564 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31689 /* 89568 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31690 /* 89572 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31691 /* 89575 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31692 /* 89579 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31693 /* 89583 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31694 /* 89585 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31695 /* 89592 */ // (intrinsic_wo_chain:{ *:[i32] } 16008:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m16:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31696 /* 89592 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m16),
31697 /* 89595 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31698 /* 89597 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31699 /* 89599 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31700 /* 89603 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31701 /* 89608 */ GIR_RootConstrainSelectedInstOperands,
31702 /* 89609 */ // GIR_Coverage, 3288,
31703 /* 89609 */ GIR_EraseRootFromParent_Done,
31704 /* 89610 */ // Label 1970: @89610
31705 /* 89610 */ GIM_Try, /*On fail goto*//*Label 1971*/ GIMT_Encode4(89686), // Rule ID 3290 //
31706 /* 89615 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
31707 /* 89618 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
31708 /* 89623 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31709 /* 89626 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31710 /* 89629 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
31711 /* 89632 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31712 /* 89636 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31713 /* 89640 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31714 /* 89644 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31715 /* 89648 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31716 /* 89651 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31717 /* 89655 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31718 /* 89659 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31719 /* 89661 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31720 /* 89668 */ // (intrinsic_wo_chain:{ *:[i32] } 16009:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m32:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31721 /* 89668 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m32),
31722 /* 89671 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31723 /* 89673 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31724 /* 89675 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31725 /* 89679 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31726 /* 89684 */ GIR_RootConstrainSelectedInstOperands,
31727 /* 89685 */ // GIR_Coverage, 3290,
31728 /* 89685 */ GIR_EraseRootFromParent_Done,
31729 /* 89686 */ // Label 1971: @89686
31730 /* 89686 */ GIM_Try, /*On fail goto*//*Label 1972*/ GIMT_Encode4(89762), // Rule ID 3292 //
31731 /* 89691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
31732 /* 89694 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
31733 /* 89699 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
31734 /* 89702 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
31735 /* 89705 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
31736 /* 89708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31737 /* 89712 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31738 /* 89716 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31739 /* 89720 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31740 /* 89724 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31741 /* 89727 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31742 /* 89731 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31743 /* 89735 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31744 /* 89737 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31745 /* 89744 */ // (intrinsic_wo_chain:{ *:[i64] } 16011:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r64m64:{ *:[i64] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31746 /* 89744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64m64),
31747 /* 89747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31748 /* 89749 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31749 /* 89751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31750 /* 89755 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31751 /* 89760 */ GIR_RootConstrainSelectedInstOperands,
31752 /* 89761 */ // GIR_Coverage, 3292,
31753 /* 89761 */ GIR_EraseRootFromParent_Done,
31754 /* 89762 */ // Label 1972: @89762
31755 /* 89762 */ GIM_Try, /*On fail goto*//*Label 1973*/ GIMT_Encode4(89838), // Rule ID 3294 //
31756 /* 89767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
31757 /* 89770 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
31758 /* 89775 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31759 /* 89778 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31760 /* 89781 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
31761 /* 89784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31762 /* 89788 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31763 /* 89792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31764 /* 89796 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31765 /* 89800 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31766 /* 89803 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31767 /* 89807 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31768 /* 89811 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31769 /* 89813 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31770 /* 89820 */ // (intrinsic_wo_chain:{ *:[i32] } 16010:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m8_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31771 /* 89820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m8_EVEX),
31772 /* 89823 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31773 /* 89825 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31774 /* 89827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31775 /* 89831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31776 /* 89836 */ GIR_RootConstrainSelectedInstOperands,
31777 /* 89837 */ // GIR_Coverage, 3294,
31778 /* 89837 */ GIR_EraseRootFromParent_Done,
31779 /* 89838 */ // Label 1973: @89838
31780 /* 89838 */ GIM_Try, /*On fail goto*//*Label 1974*/ GIMT_Encode4(89914), // Rule ID 3296 //
31781 /* 89843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
31782 /* 89846 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
31783 /* 89851 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31784 /* 89854 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31785 /* 89857 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
31786 /* 89860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31787 /* 89864 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31788 /* 89868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31789 /* 89872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31790 /* 89876 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31791 /* 89879 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31792 /* 89883 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31793 /* 89887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31794 /* 89889 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31795 /* 89896 */ // (intrinsic_wo_chain:{ *:[i32] } 16008:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m16_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31796 /* 89896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m16_EVEX),
31797 /* 89899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31798 /* 89901 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31799 /* 89903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31800 /* 89907 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31801 /* 89912 */ GIR_RootConstrainSelectedInstOperands,
31802 /* 89913 */ // GIR_Coverage, 3296,
31803 /* 89913 */ GIR_EraseRootFromParent_Done,
31804 /* 89914 */ // Label 1974: @89914
31805 /* 89914 */ GIM_Try, /*On fail goto*//*Label 1975*/ GIMT_Encode4(89990), // Rule ID 3298 //
31806 /* 89919 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
31807 /* 89922 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
31808 /* 89927 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
31809 /* 89930 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
31810 /* 89933 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
31811 /* 89936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31812 /* 89940 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
31813 /* 89944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31814 /* 89948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31815 /* 89952 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31816 /* 89955 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31817 /* 89959 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31818 /* 89963 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31819 /* 89965 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31820 /* 89972 */ // (intrinsic_wo_chain:{ *:[i32] } 16009:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r32m32_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
31821 /* 89972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32m32_EVEX),
31822 /* 89975 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31823 /* 89977 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31824 /* 89979 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31825 /* 89983 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31826 /* 89988 */ GIR_RootConstrainSelectedInstOperands,
31827 /* 89989 */ // GIR_Coverage, 3298,
31828 /* 89989 */ GIR_EraseRootFromParent_Done,
31829 /* 89990 */ // Label 1975: @89990
31830 /* 89990 */ GIM_Try, /*On fail goto*//*Label 1976*/ GIMT_Encode4(90066), // Rule ID 3300 //
31831 /* 89995 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
31832 /* 89998 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
31833 /* 90003 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
31834 /* 90006 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
31835 /* 90009 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
31836 /* 90012 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31837 /* 90016 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
31838 /* 90020 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31839 /* 90024 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31840 /* 90028 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31841 /* 90031 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31842 /* 90035 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31843 /* 90039 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31844 /* 90041 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31845 /* 90048 */ // (intrinsic_wo_chain:{ *:[i64] } 16011:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CRC32r64m64_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31846 /* 90048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64m64_EVEX),
31847 /* 90051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31848 /* 90053 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31849 /* 90055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31850 /* 90059 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31851 /* 90064 */ GIR_RootConstrainSelectedInstOperands,
31852 /* 90065 */ // GIR_Coverage, 3300,
31853 /* 90065 */ GIR_EraseRootFromParent_Done,
31854 /* 90066 */ // Label 1976: @90066
31855 /* 90066 */ GIM_Try, /*On fail goto*//*Label 1977*/ GIMT_Encode4(90142), // Rule ID 3316 //
31856 /* 90071 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
31857 /* 90074 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
31858 /* 90079 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31859 /* 90082 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31860 /* 90085 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31861 /* 90088 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31862 /* 90092 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31863 /* 90096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31864 /* 90100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31865 /* 90104 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31866 /* 90107 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31867 /* 90111 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31868 /* 90115 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31869 /* 90117 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31870 /* 90124 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14573:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31871 /* 90124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCrm),
31872 /* 90127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31873 /* 90129 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31874 /* 90131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31875 /* 90135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31876 /* 90140 */ GIR_RootConstrainSelectedInstOperands,
31877 /* 90141 */ // GIR_Coverage, 3316,
31878 /* 90141 */ GIR_EraseRootFromParent_Done,
31879 /* 90142 */ // Label 1977: @90142
31880 /* 90142 */ GIM_Try, /*On fail goto*//*Label 1978*/ GIMT_Encode4(90218), // Rule ID 3318 //
31881 /* 90147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
31882 /* 90150 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
31883 /* 90155 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31884 /* 90158 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31885 /* 90161 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31886 /* 90164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31887 /* 90168 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31888 /* 90172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31889 /* 90176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31890 /* 90180 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31891 /* 90183 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31892 /* 90187 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31893 /* 90191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31894 /* 90193 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31895 /* 90200 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14576:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31896 /* 90200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTrm),
31897 /* 90203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31898 /* 90205 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31899 /* 90207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31900 /* 90211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31901 /* 90216 */ GIR_RootConstrainSelectedInstOperands,
31902 /* 90217 */ // GIR_Coverage, 3318,
31903 /* 90217 */ GIR_EraseRootFromParent_Done,
31904 /* 90218 */ // Label 1978: @90218
31905 /* 90218 */ GIM_Try, /*On fail goto*//*Label 1979*/ GIMT_Encode4(90294), // Rule ID 3320 //
31906 /* 90223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
31907 /* 90226 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
31908 /* 90231 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31909 /* 90234 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31910 /* 90237 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31911 /* 90240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31912 /* 90244 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31913 /* 90248 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31914 /* 90252 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31915 /* 90256 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31916 /* 90259 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31917 /* 90263 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31918 /* 90267 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31919 /* 90269 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31920 /* 90276 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14567:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31921 /* 90276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECrm),
31922 /* 90279 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31923 /* 90281 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31924 /* 90283 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31925 /* 90287 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31926 /* 90292 */ GIR_RootConstrainSelectedInstOperands,
31927 /* 90293 */ // GIR_Coverage, 3320,
31928 /* 90293 */ GIR_EraseRootFromParent_Done,
31929 /* 90294 */ // Label 1979: @90294
31930 /* 90294 */ GIM_Try, /*On fail goto*//*Label 1980*/ GIMT_Encode4(90370), // Rule ID 3322 //
31931 /* 90299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
31932 /* 90302 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
31933 /* 90307 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
31934 /* 90310 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
31935 /* 90313 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
31936 /* 90316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31937 /* 90320 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
31938 /* 90324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31939 /* 90328 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31940 /* 90332 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31941 /* 90335 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31942 /* 90339 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31943 /* 90343 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31944 /* 90345 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31945 /* 90352 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14570:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31946 /* 90352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTrm),
31947 /* 90355 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31948 /* 90357 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31949 /* 90359 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31950 /* 90363 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31951 /* 90368 */ GIR_RootConstrainSelectedInstOperands,
31952 /* 90369 */ // GIR_Coverage, 3322,
31953 /* 90369 */ GIR_EraseRootFromParent_Done,
31954 /* 90370 */ // Label 1980: @90370
31955 /* 90370 */ GIM_Try, /*On fail goto*//*Label 1981*/ GIMT_Encode4(90446), // Rule ID 3324 //
31956 /* 90375 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
31957 /* 90378 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
31958 /* 90383 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31959 /* 90386 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31960 /* 90389 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31961 /* 90392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31962 /* 90396 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31963 /* 90400 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31964 /* 90404 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31965 /* 90408 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31966 /* 90411 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31967 /* 90415 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31968 /* 90419 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31969 /* 90421 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31970 /* 90428 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14574:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31971 /* 90428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCYrm),
31972 /* 90431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31973 /* 90433 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31974 /* 90435 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
31975 /* 90439 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
31976 /* 90444 */ GIR_RootConstrainSelectedInstOperands,
31977 /* 90445 */ // GIR_Coverage, 3324,
31978 /* 90445 */ GIR_EraseRootFromParent_Done,
31979 /* 90446 */ // Label 1981: @90446
31980 /* 90446 */ GIM_Try, /*On fail goto*//*Label 1982*/ GIMT_Encode4(90522), // Rule ID 3326 //
31981 /* 90451 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
31982 /* 90454 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
31983 /* 90459 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
31984 /* 90462 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
31985 /* 90465 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
31986 /* 90468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31987 /* 90472 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
31988 /* 90476 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
31989 /* 90480 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
31990 /* 90484 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
31991 /* 90487 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
31992 /* 90491 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
31993 /* 90495 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
31994 /* 90497 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
31995 /* 90504 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14577:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
31996 /* 90504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTYrm),
31997 /* 90507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
31998 /* 90509 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
31999 /* 90511 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32000 /* 90515 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32001 /* 90520 */ GIR_RootConstrainSelectedInstOperands,
32002 /* 90521 */ // GIR_Coverage, 3326,
32003 /* 90521 */ GIR_EraseRootFromParent_Done,
32004 /* 90522 */ // Label 1982: @90522
32005 /* 90522 */ GIM_Try, /*On fail goto*//*Label 1983*/ GIMT_Encode4(90598), // Rule ID 3328 //
32006 /* 90527 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
32007 /* 90530 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
32008 /* 90535 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32009 /* 90538 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32010 /* 90541 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32011 /* 90544 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32012 /* 90548 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32013 /* 90552 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32014 /* 90556 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32015 /* 90560 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32016 /* 90563 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32017 /* 90567 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32018 /* 90571 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32019 /* 90573 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32020 /* 90580 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14568:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32021 /* 90580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECYrm),
32022 /* 90583 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32023 /* 90585 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32024 /* 90587 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32025 /* 90591 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32026 /* 90596 */ GIR_RootConstrainSelectedInstOperands,
32027 /* 90597 */ // GIR_Coverage, 3328,
32028 /* 90597 */ GIR_EraseRootFromParent_Done,
32029 /* 90598 */ // Label 1983: @90598
32030 /* 90598 */ GIM_Try, /*On fail goto*//*Label 1984*/ GIMT_Encode4(90674), // Rule ID 3330 //
32031 /* 90603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
32032 /* 90606 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
32033 /* 90611 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32034 /* 90614 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32035 /* 90617 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32036 /* 90620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32037 /* 90624 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32038 /* 90628 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32039 /* 90632 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32040 /* 90636 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32041 /* 90639 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32042 /* 90643 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32043 /* 90647 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32044 /* 90649 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32045 /* 90656 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14571:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32046 /* 90656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTYrm),
32047 /* 90659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32048 /* 90661 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32049 /* 90663 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32050 /* 90667 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32051 /* 90672 */ GIR_RootConstrainSelectedInstOperands,
32052 /* 90673 */ // GIR_Coverage, 3330,
32053 /* 90673 */ GIR_EraseRootFromParent_Done,
32054 /* 90674 */ // Label 1984: @90674
32055 /* 90674 */ GIM_Try, /*On fail goto*//*Label 1985*/ GIMT_Encode4(90750), // Rule ID 3541 //
32056 /* 90679 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
32057 /* 90682 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
32058 /* 90687 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32059 /* 90690 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32060 /* 90693 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32061 /* 90696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32062 /* 90700 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32063 /* 90704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32064 /* 90708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32065 /* 90712 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32066 /* 90715 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32067 /* 90719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32068 /* 90723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32069 /* 90725 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32070 /* 90732 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16157:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4rm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32071 /* 90732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4rm),
32072 /* 90735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32073 /* 90737 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32074 /* 90739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32075 /* 90743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32076 /* 90748 */ GIR_RootConstrainSelectedInstOperands,
32077 /* 90749 */ // GIR_Coverage, 3541,
32078 /* 90749 */ GIR_EraseRootFromParent_Done,
32079 /* 90750 */ // Label 1985: @90750
32080 /* 90750 */ GIM_Try, /*On fail goto*//*Label 1986*/ GIMT_Encode4(90826), // Rule ID 3543 //
32081 /* 90755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
32082 /* 90758 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
32083 /* 90763 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32084 /* 90766 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32085 /* 90769 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32086 /* 90772 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32087 /* 90776 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32088 /* 90780 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32089 /* 90784 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32090 /* 90788 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32091 /* 90791 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32092 /* 90795 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32093 /* 90799 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32094 /* 90801 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32095 /* 90808 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16158:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Yrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32096 /* 90808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Yrm),
32097 /* 90811 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32098 /* 90813 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32099 /* 90815 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32100 /* 90819 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32101 /* 90824 */ GIR_RootConstrainSelectedInstOperands,
32102 /* 90825 */ // GIR_Coverage, 3543,
32103 /* 90825 */ GIR_EraseRootFromParent_Done,
32104 /* 90826 */ // Label 1986: @90826
32105 /* 90826 */ GIM_Try, /*On fail goto*//*Label 1987*/ GIMT_Encode4(90902), // Rule ID 3545 //
32106 /* 90831 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
32107 /* 90834 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
32108 /* 90839 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32109 /* 90842 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32110 /* 90845 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32111 /* 90848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32112 /* 90852 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32113 /* 90856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32114 /* 90860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32115 /* 90864 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32116 /* 90867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32117 /* 90871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32118 /* 90875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32119 /* 90877 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32120 /* 90884 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16160:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4rm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32121 /* 90884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4rm),
32122 /* 90887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32123 /* 90889 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32124 /* 90891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32125 /* 90895 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32126 /* 90900 */ GIR_RootConstrainSelectedInstOperands,
32127 /* 90901 */ // GIR_Coverage, 3545,
32128 /* 90901 */ GIR_EraseRootFromParent_Done,
32129 /* 90902 */ // Label 1987: @90902
32130 /* 90902 */ GIM_Try, /*On fail goto*//*Label 1988*/ GIMT_Encode4(90978), // Rule ID 3547 //
32131 /* 90907 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
32132 /* 90910 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
32133 /* 90915 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32134 /* 90918 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32135 /* 90921 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32136 /* 90924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32137 /* 90928 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32138 /* 90932 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32139 /* 90936 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32140 /* 90940 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32141 /* 90943 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32142 /* 90947 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32143 /* 90951 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32144 /* 90953 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32145 /* 90960 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16161:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Yrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32146 /* 90960 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Yrm),
32147 /* 90963 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32148 /* 90965 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32149 /* 90967 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32150 /* 90971 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32151 /* 90976 */ GIR_RootConstrainSelectedInstOperands,
32152 /* 90977 */ // GIR_Coverage, 3547,
32153 /* 90977 */ GIR_EraseRootFromParent_Done,
32154 /* 90978 */ // Label 1988: @90978
32155 /* 90978 */ GIM_Try, /*On fail goto*//*Label 1989*/ GIMT_Encode4(91054), // Rule ID 14041 //
32156 /* 90983 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32157 /* 90986 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
32158 /* 90991 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32159 /* 90994 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32160 /* 90997 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32161 /* 91000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32162 /* 91004 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32163 /* 91008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32164 /* 91012 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32165 /* 91016 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32166 /* 91019 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32167 /* 91023 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32168 /* 91027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32169 /* 91029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32170 /* 91036 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14573:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32171 /* 91036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ128rm),
32172 /* 91039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32173 /* 91041 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32174 /* 91043 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32175 /* 91047 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32176 /* 91052 */ GIR_RootConstrainSelectedInstOperands,
32177 /* 91053 */ // GIR_Coverage, 14041,
32178 /* 91053 */ GIR_EraseRootFromParent_Done,
32179 /* 91054 */ // Label 1989: @91054
32180 /* 91054 */ GIM_Try, /*On fail goto*//*Label 1990*/ GIMT_Encode4(91130), // Rule ID 14043 //
32181 /* 91059 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32182 /* 91062 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
32183 /* 91067 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32184 /* 91070 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32185 /* 91073 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32186 /* 91076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32187 /* 91080 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32188 /* 91084 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32189 /* 91088 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32190 /* 91092 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32191 /* 91095 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32192 /* 91099 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32193 /* 91103 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32194 /* 91105 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32195 /* 91112 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14574:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32196 /* 91112 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ256rm),
32197 /* 91115 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32198 /* 91117 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32199 /* 91119 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32200 /* 91123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32201 /* 91128 */ GIR_RootConstrainSelectedInstOperands,
32202 /* 91129 */ // GIR_Coverage, 14043,
32203 /* 91129 */ GIR_EraseRootFromParent_Done,
32204 /* 91130 */ // Label 1990: @91130
32205 /* 91130 */ GIM_Try, /*On fail goto*//*Label 1991*/ GIMT_Encode4(91206), // Rule ID 14045 //
32206 /* 91135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
32207 /* 91138 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_512),
32208 /* 91143 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32209 /* 91146 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32210 /* 91149 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32211 /* 91152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32212 /* 91156 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32213 /* 91160 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32214 /* 91164 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32215 /* 91168 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32216 /* 91171 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32217 /* 91175 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32218 /* 91179 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32219 /* 91181 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32220 /* 91188 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14575:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32221 /* 91188 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZrm),
32222 /* 91191 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32223 /* 91193 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32224 /* 91195 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32225 /* 91199 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32226 /* 91204 */ GIR_RootConstrainSelectedInstOperands,
32227 /* 91205 */ // GIR_Coverage, 14045,
32228 /* 91205 */ GIR_EraseRootFromParent_Done,
32229 /* 91206 */ // Label 1991: @91206
32230 /* 91206 */ GIM_Try, /*On fail goto*//*Label 1992*/ GIMT_Encode4(91282), // Rule ID 14047 //
32231 /* 91211 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32232 /* 91214 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
32233 /* 91219 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32234 /* 91222 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32235 /* 91225 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32236 /* 91228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32237 /* 91232 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32238 /* 91236 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32239 /* 91240 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32240 /* 91244 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32241 /* 91247 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32242 /* 91251 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32243 /* 91255 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32244 /* 91257 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32245 /* 91264 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14576:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32246 /* 91264 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ128rm),
32247 /* 91267 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32248 /* 91269 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32249 /* 91271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32250 /* 91275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32251 /* 91280 */ GIR_RootConstrainSelectedInstOperands,
32252 /* 91281 */ // GIR_Coverage, 14047,
32253 /* 91281 */ GIR_EraseRootFromParent_Done,
32254 /* 91282 */ // Label 1992: @91282
32255 /* 91282 */ GIM_Try, /*On fail goto*//*Label 1993*/ GIMT_Encode4(91358), // Rule ID 14049 //
32256 /* 91287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32257 /* 91290 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
32258 /* 91295 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32259 /* 91298 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32260 /* 91301 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32261 /* 91304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32262 /* 91308 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32263 /* 91312 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32264 /* 91316 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32265 /* 91320 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32266 /* 91323 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32267 /* 91327 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32268 /* 91331 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32269 /* 91333 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32270 /* 91340 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14577:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32271 /* 91340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ256rm),
32272 /* 91343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32273 /* 91345 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32274 /* 91347 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32275 /* 91351 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32276 /* 91356 */ GIR_RootConstrainSelectedInstOperands,
32277 /* 91357 */ // GIR_Coverage, 14049,
32278 /* 91357 */ GIR_EraseRootFromParent_Done,
32279 /* 91358 */ // Label 1993: @91358
32280 /* 91358 */ GIM_Try, /*On fail goto*//*Label 1994*/ GIMT_Encode4(91434), // Rule ID 14051 //
32281 /* 91363 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
32282 /* 91366 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_512),
32283 /* 91371 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32284 /* 91374 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32285 /* 91377 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32286 /* 91380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32287 /* 91384 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32288 /* 91388 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32289 /* 91392 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32290 /* 91396 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32291 /* 91399 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32292 /* 91403 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32293 /* 91407 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32294 /* 91409 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32295 /* 91416 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14578:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESENCLASTZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32296 /* 91416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZrm),
32297 /* 91419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32298 /* 91421 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32299 /* 91423 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32300 /* 91427 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32301 /* 91432 */ GIR_RootConstrainSelectedInstOperands,
32302 /* 91433 */ // GIR_Coverage, 14051,
32303 /* 91433 */ GIR_EraseRootFromParent_Done,
32304 /* 91434 */ // Label 1994: @91434
32305 /* 91434 */ GIM_Try, /*On fail goto*//*Label 1995*/ GIMT_Encode4(91510), // Rule ID 14053 //
32306 /* 91439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32307 /* 91442 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
32308 /* 91447 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32309 /* 91450 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32310 /* 91453 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32311 /* 91456 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32312 /* 91460 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32313 /* 91464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32314 /* 91468 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32315 /* 91472 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32316 /* 91475 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32317 /* 91479 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32318 /* 91483 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32319 /* 91485 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32320 /* 91492 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14567:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32321 /* 91492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ128rm),
32322 /* 91495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32323 /* 91497 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32324 /* 91499 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32325 /* 91503 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32326 /* 91508 */ GIR_RootConstrainSelectedInstOperands,
32327 /* 91509 */ // GIR_Coverage, 14053,
32328 /* 91509 */ GIR_EraseRootFromParent_Done,
32329 /* 91510 */ // Label 1995: @91510
32330 /* 91510 */ GIM_Try, /*On fail goto*//*Label 1996*/ GIMT_Encode4(91586), // Rule ID 14055 //
32331 /* 91515 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32332 /* 91518 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
32333 /* 91523 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32334 /* 91526 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32335 /* 91529 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32336 /* 91532 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32337 /* 91536 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32338 /* 91540 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32339 /* 91544 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32340 /* 91548 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32341 /* 91551 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32342 /* 91555 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32343 /* 91559 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32344 /* 91561 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32345 /* 91568 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14568:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32346 /* 91568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ256rm),
32347 /* 91571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32348 /* 91573 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32349 /* 91575 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32350 /* 91579 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32351 /* 91584 */ GIR_RootConstrainSelectedInstOperands,
32352 /* 91585 */ // GIR_Coverage, 14055,
32353 /* 91585 */ GIR_EraseRootFromParent_Done,
32354 /* 91586 */ // Label 1996: @91586
32355 /* 91586 */ GIM_Try, /*On fail goto*//*Label 1997*/ GIMT_Encode4(91662), // Rule ID 14057 //
32356 /* 91591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
32357 /* 91594 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_512),
32358 /* 91599 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32359 /* 91602 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32360 /* 91605 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32361 /* 91608 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32362 /* 91612 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32363 /* 91616 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32364 /* 91620 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32365 /* 91624 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32366 /* 91627 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32367 /* 91631 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32368 /* 91635 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32369 /* 91637 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32370 /* 91644 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14569:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32371 /* 91644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZrm),
32372 /* 91647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32373 /* 91649 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32374 /* 91651 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32375 /* 91655 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32376 /* 91660 */ GIR_RootConstrainSelectedInstOperands,
32377 /* 91661 */ // GIR_Coverage, 14057,
32378 /* 91661 */ GIR_EraseRootFromParent_Done,
32379 /* 91662 */ // Label 1997: @91662
32380 /* 91662 */ GIM_Try, /*On fail goto*//*Label 1998*/ GIMT_Encode4(91738), // Rule ID 14059 //
32381 /* 91667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32382 /* 91670 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
32383 /* 91675 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32384 /* 91678 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32385 /* 91681 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
32386 /* 91684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32387 /* 91688 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32388 /* 91692 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32389 /* 91696 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32390 /* 91700 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32391 /* 91703 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32392 /* 91707 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32393 /* 91711 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32394 /* 91713 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32395 /* 91720 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14570:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32396 /* 91720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ128rm),
32397 /* 91723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32398 /* 91725 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32399 /* 91727 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32400 /* 91731 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32401 /* 91736 */ GIR_RootConstrainSelectedInstOperands,
32402 /* 91737 */ // GIR_Coverage, 14059,
32403 /* 91737 */ GIR_EraseRootFromParent_Done,
32404 /* 91738 */ // Label 1998: @91738
32405 /* 91738 */ GIM_Try, /*On fail goto*//*Label 1999*/ GIMT_Encode4(91814), // Rule ID 14061 //
32406 /* 91743 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
32407 /* 91746 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
32408 /* 91751 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
32409 /* 91754 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
32410 /* 91757 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
32411 /* 91760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32412 /* 91764 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32413 /* 91768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32414 /* 91772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32415 /* 91776 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32416 /* 91779 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32417 /* 91783 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32418 /* 91787 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32419 /* 91789 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32420 /* 91796 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14571:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32421 /* 91796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ256rm),
32422 /* 91799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32423 /* 91801 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32424 /* 91803 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32425 /* 91807 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32426 /* 91812 */ GIR_RootConstrainSelectedInstOperands,
32427 /* 91813 */ // GIR_Coverage, 14061,
32428 /* 91813 */ GIR_EraseRootFromParent_Done,
32429 /* 91814 */ // Label 1999: @91814
32430 /* 91814 */ GIM_Try, /*On fail goto*//*Label 2000*/ GIMT_Encode4(91890), // Rule ID 14063 //
32431 /* 91819 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
32432 /* 91822 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_512),
32433 /* 91827 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
32434 /* 91830 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
32435 /* 91833 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
32436 /* 91836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32437 /* 91840 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32438 /* 91844 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32439 /* 91848 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32440 /* 91852 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32441 /* 91855 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32442 /* 91859 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32443 /* 91863 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32444 /* 91865 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32445 /* 91872 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14572:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VAESDECLASTZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
32446 /* 91872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZrm),
32447 /* 91875 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32448 /* 91877 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32449 /* 91879 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32450 /* 91883 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32451 /* 91888 */ GIR_RootConstrainSelectedInstOperands,
32452 /* 91889 */ // GIR_Coverage, 14063,
32453 /* 91889 */ GIR_EraseRootFromParent_Done,
32454 /* 91890 */ // Label 2000: @91890
32455 /* 91890 */ GIM_Try, /*On fail goto*//*Label 2001*/ GIMT_Encode4(91966), // Rule ID 16774 //
32456 /* 91895 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32457 /* 91898 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4512),
32458 /* 91903 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
32459 /* 91906 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
32460 /* 91909 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
32461 /* 91912 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32462 /* 91916 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32463 /* 91920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32464 /* 91924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32465 /* 91928 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32466 /* 91931 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32467 /* 91935 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32468 /* 91939 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32469 /* 91941 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32470 /* 91948 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16159:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4KEY4Zrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32471 /* 91948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Zrm),
32472 /* 91951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32473 /* 91953 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32474 /* 91955 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32475 /* 91959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32476 /* 91964 */ GIR_RootConstrainSelectedInstOperands,
32477 /* 91965 */ // GIR_Coverage, 16774,
32478 /* 91965 */ GIR_EraseRootFromParent_Done,
32479 /* 91966 */ // Label 2001: @91966
32480 /* 91966 */ GIM_Try, /*On fail goto*//*Label 2002*/ GIMT_Encode4(92042), // Rule ID 16780 //
32481 /* 91971 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32482 /* 91974 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4512),
32483 /* 91979 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
32484 /* 91982 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
32485 /* 91985 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
32486 /* 91988 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32487 /* 91992 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
32488 /* 91996 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
32489 /* 92000 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
32490 /* 92004 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
32491 /* 92007 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
32492 /* 92011 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
32493 /* 92015 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
32494 /* 92017 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
32495 /* 92024 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16162:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSM4RNDS4Zrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
32496 /* 92024 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Zrm),
32497 /* 92027 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32498 /* 92029 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32499 /* 92031 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
32500 /* 92035 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
32501 /* 92040 */ GIR_RootConstrainSelectedInstOperands,
32502 /* 92041 */ // GIR_Coverage, 16780,
32503 /* 92041 */ GIR_EraseRootFromParent_Done,
32504 /* 92042 */ // Label 2002: @92042
32505 /* 92042 */ GIM_Try, /*On fail goto*//*Label 2003*/ GIMT_Encode4(92083), // Rule ID 3343 //
32506 /* 92047 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX),
32507 /* 92050 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
32508 /* 92055 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32509 /* 92058 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32510 /* 92061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32511 /* 92065 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32512 /* 92069 */ // MIs[0] src2
32513 /* 92069 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
32514 /* 92072 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14580:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2) => (VAESKEYGENASSISTrri:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2)
32515 /* 92072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESKEYGENASSISTrri),
32516 /* 92075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32517 /* 92077 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32518 /* 92079 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32519 /* 92081 */ GIR_RootConstrainSelectedInstOperands,
32520 /* 92082 */ // GIR_Coverage, 3343,
32521 /* 92082 */ GIR_EraseRootFromParent_Done,
32522 /* 92083 */ // Label 2003: @92083
32523 /* 92083 */ GIM_Try, /*On fail goto*//*Label 2004*/ GIMT_Encode4(92124), // Rule ID 3345 //
32524 /* 92088 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
32525 /* 92091 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aeskeygenassist),
32526 /* 92096 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
32527 /* 92099 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
32528 /* 92102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32529 /* 92106 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32530 /* 92110 */ // MIs[0] src2
32531 /* 92110 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
32532 /* 92113 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14580:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2) => (AESKEYGENASSISTrri:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (timm:{ *:[i8] }):$src2)
32533 /* 92113 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESKEYGENASSISTrri),
32534 /* 92116 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32535 /* 92118 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32536 /* 92120 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32537 /* 92122 */ GIR_RootConstrainSelectedInstOperands,
32538 /* 92123 */ // GIR_Coverage, 3345,
32539 /* 92123 */ GIR_EraseRootFromParent_Done,
32540 /* 92124 */ // Label 2004: @92124
32541 /* 92124 */ GIM_Try, /*On fail goto*//*Label 2005*/ GIMT_Encode4(92169), // Rule ID 16769 //
32542 /* 92129 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32543 /* 92132 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
32544 /* 92137 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32545 /* 92140 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32546 /* 92143 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32547 /* 92146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32548 /* 92150 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32549 /* 92154 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32550 /* 92158 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16157:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VSM4KEY4Z128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
32551 /* 92158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z128rr),
32552 /* 92161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32553 /* 92163 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32554 /* 92165 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32555 /* 92167 */ GIR_RootConstrainSelectedInstOperands,
32556 /* 92168 */ // GIR_Coverage, 16769,
32557 /* 92168 */ GIR_EraseRootFromParent_Done,
32558 /* 92169 */ // Label 2005: @92169
32559 /* 92169 */ GIM_Try, /*On fail goto*//*Label 2006*/ GIMT_Encode4(92214), // Rule ID 16771 //
32560 /* 92174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32561 /* 92177 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
32562 /* 92182 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32563 /* 92185 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32564 /* 92188 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32565 /* 92191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32566 /* 92195 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32567 /* 92199 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32568 /* 92203 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16158:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VSM4KEY4Z256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
32569 /* 92203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Z256rr),
32570 /* 92206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32571 /* 92208 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32572 /* 92210 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32573 /* 92212 */ GIR_RootConstrainSelectedInstOperands,
32574 /* 92213 */ // GIR_Coverage, 16771,
32575 /* 92213 */ GIR_EraseRootFromParent_Done,
32576 /* 92214 */ // Label 2006: @92214
32577 /* 92214 */ GIM_Try, /*On fail goto*//*Label 2007*/ GIMT_Encode4(92259), // Rule ID 16775 //
32578 /* 92219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32579 /* 92222 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
32580 /* 92227 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32581 /* 92230 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32582 /* 92233 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32583 /* 92236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32584 /* 92240 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32585 /* 92244 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
32586 /* 92248 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16160:{ *:[iPTR] }, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VSM4RNDS4Z128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
32587 /* 92248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z128rr),
32588 /* 92251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32589 /* 92253 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32590 /* 92255 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32591 /* 92257 */ GIR_RootConstrainSelectedInstOperands,
32592 /* 92258 */ // GIR_Coverage, 16775,
32593 /* 92258 */ GIR_EraseRootFromParent_Done,
32594 /* 92259 */ // Label 2007: @92259
32595 /* 92259 */ GIM_Try, /*On fail goto*//*Label 2008*/ GIMT_Encode4(92304), // Rule ID 16777 //
32596 /* 92264 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
32597 /* 92267 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
32598 /* 92272 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32599 /* 92275 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32600 /* 92278 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32601 /* 92281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32602 /* 92285 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32603 /* 92289 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
32604 /* 92293 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16161:{ *:[iPTR] }, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VSM4RNDS4Z256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
32605 /* 92293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Z256rr),
32606 /* 92296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32607 /* 92298 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32608 /* 92300 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32609 /* 92302 */ GIR_RootConstrainSelectedInstOperands,
32610 /* 92303 */ // GIR_Coverage, 16777,
32611 /* 92303 */ GIR_EraseRootFromParent_Done,
32612 /* 92304 */ // Label 2008: @92304
32613 /* 92304 */ GIM_Try, /*On fail goto*//*Label 2009*/ GIMT_Encode4(92349), // Rule ID 2998 //
32614 /* 92309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
32615 /* 92312 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
32616 /* 92317 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
32617 /* 92320 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
32618 /* 92323 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
32619 /* 92326 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32620 /* 92330 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32621 /* 92334 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32622 /* 92338 */ // (intrinsic_wo_chain:{ *:[v16i8] } 16052:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSIGNBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
32623 /* 92338 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBrr),
32624 /* 92341 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32625 /* 92343 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32626 /* 92345 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32627 /* 92347 */ GIR_RootConstrainSelectedInstOperands,
32628 /* 92348 */ // GIR_Coverage, 2998,
32629 /* 92348 */ GIR_EraseRootFromParent_Done,
32630 /* 92349 */ // Label 2009: @92349
32631 /* 92349 */ GIM_Try, /*On fail goto*//*Label 2010*/ GIMT_Encode4(92394), // Rule ID 3000 //
32632 /* 92354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
32633 /* 92357 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
32634 /* 92362 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
32635 /* 92365 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
32636 /* 92368 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
32637 /* 92371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32638 /* 92375 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32639 /* 92379 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32640 /* 92383 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16056:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSIGNWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
32641 /* 92383 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWrr),
32642 /* 92386 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32643 /* 92388 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32644 /* 92390 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32645 /* 92392 */ GIR_RootConstrainSelectedInstOperands,
32646 /* 92393 */ // GIR_Coverage, 3000,
32647 /* 92393 */ GIR_EraseRootFromParent_Done,
32648 /* 92394 */ // Label 2010: @92394
32649 /* 92394 */ GIM_Try, /*On fail goto*//*Label 2011*/ GIMT_Encode4(92439), // Rule ID 3002 //
32650 /* 92399 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
32651 /* 92402 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
32652 /* 92407 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32653 /* 92410 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32654 /* 92413 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32655 /* 92416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32656 /* 92420 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32657 /* 92424 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32658 /* 92428 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16054:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPSIGNDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32659 /* 92428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDrr),
32660 /* 92431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32661 /* 92433 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32662 /* 92435 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32663 /* 92437 */ GIR_RootConstrainSelectedInstOperands,
32664 /* 92438 */ // GIR_Coverage, 3002,
32665 /* 92438 */ GIR_EraseRootFromParent_Done,
32666 /* 92439 */ // Label 2011: @92439
32667 /* 92439 */ GIM_Try, /*On fail goto*//*Label 2012*/ GIMT_Encode4(92484), // Rule ID 3022 //
32668 /* 92444 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
32669 /* 92447 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_b),
32670 /* 92452 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
32671 /* 92455 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
32672 /* 92458 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
32673 /* 92461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32674 /* 92465 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32675 /* 92469 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32676 /* 92473 */ // (intrinsic_wo_chain:{ *:[v32i8] } 14943:{ *:[iPTR] }, VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSIGNBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
32677 /* 92473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNBYrr),
32678 /* 92476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32679 /* 92478 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32680 /* 92480 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32681 /* 92482 */ GIR_RootConstrainSelectedInstOperands,
32682 /* 92483 */ // GIR_Coverage, 3022,
32683 /* 92483 */ GIR_EraseRootFromParent_Done,
32684 /* 92484 */ // Label 2012: @92484
32685 /* 92484 */ GIM_Try, /*On fail goto*//*Label 2013*/ GIMT_Encode4(92529), // Rule ID 3024 //
32686 /* 92489 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
32687 /* 92492 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_w),
32688 /* 92497 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
32689 /* 92500 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
32690 /* 92503 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
32691 /* 92506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32692 /* 92510 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32693 /* 92514 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32694 /* 92518 */ // (intrinsic_wo_chain:{ *:[v16i16] } 14945:{ *:[iPTR] }, VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSIGNWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
32695 /* 92518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNWYrr),
32696 /* 92521 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32697 /* 92523 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32698 /* 92525 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32699 /* 92527 */ GIR_RootConstrainSelectedInstOperands,
32700 /* 92528 */ // GIR_Coverage, 3024,
32701 /* 92528 */ GIR_EraseRootFromParent_Done,
32702 /* 92529 */ // Label 2013: @92529
32703 /* 92529 */ GIM_Try, /*On fail goto*//*Label 2014*/ GIMT_Encode4(92574), // Rule ID 3026 //
32704 /* 92534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
32705 /* 92537 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_psign_d),
32706 /* 92542 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
32707 /* 92545 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
32708 /* 92548 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
32709 /* 92551 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32710 /* 92555 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32711 /* 92559 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
32712 /* 92563 */ // (intrinsic_wo_chain:{ *:[v8i32] } 14944:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPSIGNDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
32713 /* 92563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSIGNDYrr),
32714 /* 92566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32715 /* 92568 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32716 /* 92570 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32717 /* 92572 */ GIR_RootConstrainSelectedInstOperands,
32718 /* 92573 */ // GIR_Coverage, 3026,
32719 /* 92573 */ GIR_EraseRootFromParent_Done,
32720 /* 92574 */ // Label 2014: @92574
32721 /* 92574 */ GIM_Try, /*On fail goto*//*Label 2015*/ GIMT_Encode4(92619), // Rule ID 3040 //
32722 /* 92579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
32723 /* 92582 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_b_128),
32724 /* 92587 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
32725 /* 92590 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
32726 /* 92593 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
32727 /* 92596 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32728 /* 92600 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32729 /* 92604 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32730 /* 92608 */ // (intrinsic_wo_chain:{ *:[v16i8] } 16052:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSIGNBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
32731 /* 92608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNBrr),
32732 /* 92611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32733 /* 92613 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32734 /* 92615 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32735 /* 92617 */ GIR_RootConstrainSelectedInstOperands,
32736 /* 92618 */ // GIR_Coverage, 3040,
32737 /* 92618 */ GIR_EraseRootFromParent_Done,
32738 /* 92619 */ // Label 2015: @92619
32739 /* 92619 */ GIM_Try, /*On fail goto*//*Label 2016*/ GIMT_Encode4(92664), // Rule ID 3042 //
32740 /* 92624 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
32741 /* 92627 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_w_128),
32742 /* 92632 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
32743 /* 92635 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
32744 /* 92638 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
32745 /* 92641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32746 /* 92645 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32747 /* 92649 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32748 /* 92653 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16056:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSIGNWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
32749 /* 92653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNWrr),
32750 /* 92656 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32751 /* 92658 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32752 /* 92660 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32753 /* 92662 */ GIR_RootConstrainSelectedInstOperands,
32754 /* 92663 */ // GIR_Coverage, 3042,
32755 /* 92663 */ GIR_EraseRootFromParent_Done,
32756 /* 92664 */ // Label 2016: @92664
32757 /* 92664 */ GIM_Try, /*On fail goto*//*Label 2017*/ GIMT_Encode4(92709), // Rule ID 3044 //
32758 /* 92669 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
32759 /* 92672 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_ssse3_psign_d_128),
32760 /* 92677 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32761 /* 92680 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32762 /* 92683 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32763 /* 92686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32764 /* 92690 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32765 /* 92694 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32766 /* 92698 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16054:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PSIGNDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32767 /* 92698 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PSIGNDrr),
32768 /* 92701 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32769 /* 92703 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32770 /* 92705 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32771 /* 92707 */ GIR_RootConstrainSelectedInstOperands,
32772 /* 92708 */ // GIR_Coverage, 3044,
32773 /* 92708 */ GIR_EraseRootFromParent_Done,
32774 /* 92709 */ // Label 2017: @92709
32775 /* 92709 */ GIM_Try, /*On fail goto*//*Label 2018*/ GIMT_Encode4(92754), // Rule ID 3285 //
32776 /* 92714 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
32777 /* 92717 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
32778 /* 92722 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32779 /* 92725 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32780 /* 92728 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
32781 /* 92731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32782 /* 92735 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32783 /* 92739 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
32784 /* 92743 */ // (intrinsic_wo_chain:{ *:[i32] } 16010:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (CRC32r32r8:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2)
32785 /* 92743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r8),
32786 /* 92746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32787 /* 92748 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32788 /* 92750 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32789 /* 92752 */ GIR_RootConstrainSelectedInstOperands,
32790 /* 92753 */ // GIR_Coverage, 3285,
32791 /* 92753 */ GIR_EraseRootFromParent_Done,
32792 /* 92754 */ // Label 2018: @92754
32793 /* 92754 */ GIM_Try, /*On fail goto*//*Label 2019*/ GIMT_Encode4(92799), // Rule ID 3287 //
32794 /* 92759 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
32795 /* 92762 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
32796 /* 92767 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32797 /* 92770 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32798 /* 92773 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
32799 /* 92776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32800 /* 92780 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32801 /* 92784 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
32802 /* 92788 */ // (intrinsic_wo_chain:{ *:[i32] } 16008:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2) => (CRC32r32r16:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2)
32803 /* 92788 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r16),
32804 /* 92791 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32805 /* 92793 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32806 /* 92795 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32807 /* 92797 */ GIR_RootConstrainSelectedInstOperands,
32808 /* 92798 */ // GIR_Coverage, 3287,
32809 /* 92798 */ GIR_EraseRootFromParent_Done,
32810 /* 92799 */ // Label 2019: @92799
32811 /* 92799 */ GIM_Try, /*On fail goto*//*Label 2020*/ GIMT_Encode4(92844), // Rule ID 3289 //
32812 /* 92804 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
32813 /* 92807 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
32814 /* 92812 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32815 /* 92815 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32816 /* 92818 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
32817 /* 92821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32818 /* 92825 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32819 /* 92829 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32820 /* 92833 */ // (intrinsic_wo_chain:{ *:[i32] } 16009:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (CRC32r32r32:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
32821 /* 92833 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r32),
32822 /* 92836 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32823 /* 92838 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32824 /* 92840 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32825 /* 92842 */ GIR_RootConstrainSelectedInstOperands,
32826 /* 92843 */ // GIR_Coverage, 3289,
32827 /* 92843 */ GIR_EraseRootFromParent_Done,
32828 /* 92844 */ // Label 2020: @92844
32829 /* 92844 */ GIM_Try, /*On fail goto*//*Label 2021*/ GIMT_Encode4(92889), // Rule ID 3291 //
32830 /* 92849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_NoEGPR),
32831 /* 92852 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
32832 /* 92857 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
32833 /* 92860 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
32834 /* 92863 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
32835 /* 92866 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32836 /* 92870 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32837 /* 92874 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32838 /* 92878 */ // (intrinsic_wo_chain:{ *:[i64] } 16011:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (CRC32r64r64:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
32839 /* 92878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64r64),
32840 /* 92881 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32841 /* 92883 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32842 /* 92885 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32843 /* 92887 */ GIR_RootConstrainSelectedInstOperands,
32844 /* 92888 */ // GIR_Coverage, 3291,
32845 /* 92888 */ GIR_EraseRootFromParent_Done,
32846 /* 92889 */ // Label 2021: @92889
32847 /* 92889 */ GIM_Try, /*On fail goto*//*Label 2022*/ GIMT_Encode4(92934), // Rule ID 3293 //
32848 /* 92894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
32849 /* 92897 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_8),
32850 /* 92902 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32851 /* 92905 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32852 /* 92908 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
32853 /* 92911 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32854 /* 92915 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32855 /* 92919 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
32856 /* 92923 */ // (intrinsic_wo_chain:{ *:[i32] } 16010:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2) => (CRC32r32r8_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR8:{ *:[i8] }:$src2)
32857 /* 92923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r8_EVEX),
32858 /* 92926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32859 /* 92928 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32860 /* 92930 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32861 /* 92932 */ GIR_RootConstrainSelectedInstOperands,
32862 /* 92933 */ // GIR_Coverage, 3293,
32863 /* 92933 */ GIR_EraseRootFromParent_Done,
32864 /* 92934 */ // Label 2022: @92934
32865 /* 92934 */ GIM_Try, /*On fail goto*//*Label 2023*/ GIMT_Encode4(92979), // Rule ID 3295 //
32866 /* 92939 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
32867 /* 92942 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_16),
32868 /* 92947 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32869 /* 92950 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32870 /* 92953 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
32871 /* 92956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32872 /* 92960 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32873 /* 92964 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
32874 /* 92968 */ // (intrinsic_wo_chain:{ *:[i32] } 16008:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2) => (CRC32r32r16_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR16:{ *:[i16] }:$src2)
32875 /* 92968 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r16_EVEX),
32876 /* 92971 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32877 /* 92973 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32878 /* 92975 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32879 /* 92977 */ GIR_RootConstrainSelectedInstOperands,
32880 /* 92978 */ // GIR_Coverage, 3295,
32881 /* 92978 */ GIR_EraseRootFromParent_Done,
32882 /* 92979 */ // Label 2023: @92979
32883 /* 92979 */ GIM_Try, /*On fail goto*//*Label 2024*/ GIMT_Encode4(93024), // Rule ID 3297 //
32884 /* 92984 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
32885 /* 92987 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_32_32),
32886 /* 92992 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
32887 /* 92995 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
32888 /* 92998 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
32889 /* 93001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32890 /* 93005 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32891 /* 93009 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
32892 /* 93013 */ // (intrinsic_wo_chain:{ *:[i32] } 16009:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2) => (CRC32r32r32_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
32893 /* 93013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r32r32_EVEX),
32894 /* 93016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32895 /* 93018 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32896 /* 93020 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32897 /* 93022 */ GIR_RootConstrainSelectedInstOperands,
32898 /* 93023 */ // GIR_Coverage, 3297,
32899 /* 93023 */ GIR_EraseRootFromParent_Done,
32900 /* 93024 */ // Label 2024: @93024
32901 /* 93024 */ GIM_Try, /*On fail goto*//*Label 2025*/ GIMT_Encode4(93069), // Rule ID 3299 //
32902 /* 93029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCRC32_HasEGPR_In64BitMode),
32903 /* 93032 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse42_crc32_64_64),
32904 /* 93037 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
32905 /* 93040 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
32906 /* 93043 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
32907 /* 93046 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32908 /* 93050 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32909 /* 93054 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
32910 /* 93058 */ // (intrinsic_wo_chain:{ *:[i64] } 16011:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (CRC32r64r64_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
32911 /* 93058 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CRC32r64r64_EVEX),
32912 /* 93061 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32913 /* 93063 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32914 /* 93065 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32915 /* 93067 */ GIR_RootConstrainSelectedInstOperands,
32916 /* 93068 */ // GIR_Coverage, 3299,
32917 /* 93068 */ GIR_EraseRootFromParent_Done,
32918 /* 93069 */ // Label 2025: @93069
32919 /* 93069 */ GIM_Try, /*On fail goto*//*Label 2026*/ GIMT_Encode4(93114), // Rule ID 3303 //
32920 /* 93074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
32921 /* 93077 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1nexte),
32922 /* 93082 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32923 /* 93085 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32924 /* 93088 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32925 /* 93091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32926 /* 93095 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32927 /* 93099 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32928 /* 93103 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15880:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1NEXTErr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32929 /* 93103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1NEXTErr),
32930 /* 93106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32931 /* 93108 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32932 /* 93110 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32933 /* 93112 */ GIR_RootConstrainSelectedInstOperands,
32934 /* 93113 */ // GIR_Coverage, 3303,
32935 /* 93113 */ GIR_EraseRootFromParent_Done,
32936 /* 93114 */ // Label 2026: @93114
32937 /* 93114 */ GIM_Try, /*On fail goto*//*Label 2027*/ GIMT_Encode4(93159), // Rule ID 3305 //
32938 /* 93119 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
32939 /* 93122 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1msg1),
32940 /* 93127 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32941 /* 93130 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32942 /* 93133 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32943 /* 93136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32944 /* 93140 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32945 /* 93144 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32946 /* 93148 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15878:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32947 /* 93148 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1MSG1rr),
32948 /* 93151 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32949 /* 93153 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32950 /* 93155 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32951 /* 93157 */ GIR_RootConstrainSelectedInstOperands,
32952 /* 93158 */ // GIR_Coverage, 3305,
32953 /* 93158 */ GIR_EraseRootFromParent_Done,
32954 /* 93159 */ // Label 2027: @93159
32955 /* 93159 */ GIM_Try, /*On fail goto*//*Label 2028*/ GIMT_Encode4(93204), // Rule ID 3307 //
32956 /* 93164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
32957 /* 93167 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1msg2),
32958 /* 93172 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32959 /* 93175 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32960 /* 93178 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32961 /* 93181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32962 /* 93185 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32963 /* 93189 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32964 /* 93193 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15879:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA1MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32965 /* 93193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1MSG2rr),
32966 /* 93196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32967 /* 93198 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32968 /* 93200 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32969 /* 93202 */ GIR_RootConstrainSelectedInstOperands,
32970 /* 93203 */ // GIR_Coverage, 3307,
32971 /* 93203 */ GIR_EraseRootFromParent_Done,
32972 /* 93204 */ // Label 2028: @93204
32973 /* 93204 */ GIM_Try, /*On fail goto*//*Label 2029*/ GIMT_Encode4(93249), // Rule ID 3311 //
32974 /* 93209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
32975 /* 93212 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256msg1),
32976 /* 93217 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32977 /* 93220 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32978 /* 93223 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32979 /* 93226 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32980 /* 93230 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32981 /* 93234 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32982 /* 93238 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15882:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA256MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
32983 /* 93238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256MSG1rr),
32984 /* 93241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
32985 /* 93243 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
32986 /* 93245 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
32987 /* 93247 */ GIR_RootConstrainSelectedInstOperands,
32988 /* 93248 */ // GIR_Coverage, 3311,
32989 /* 93248 */ GIR_EraseRootFromParent_Done,
32990 /* 93249 */ // Label 2029: @93249
32991 /* 93249 */ GIM_Try, /*On fail goto*//*Label 2030*/ GIMT_Encode4(93294), // Rule ID 3313 //
32992 /* 93254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
32993 /* 93257 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256msg2),
32994 /* 93262 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
32995 /* 93265 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
32996 /* 93268 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
32997 /* 93271 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32998 /* 93275 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
32999 /* 93279 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33000 /* 93283 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15883:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (SHA256MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33001 /* 93283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256MSG2rr),
33002 /* 93286 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33003 /* 93288 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33004 /* 93290 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33005 /* 93292 */ GIR_RootConstrainSelectedInstOperands,
33006 /* 93293 */ // GIR_Coverage, 3313,
33007 /* 93293 */ GIR_EraseRootFromParent_Done,
33008 /* 93294 */ // Label 2030: @93294
33009 /* 93294 */ GIM_Try, /*On fail goto*//*Label 2031*/ GIMT_Encode4(93339), // Rule ID 3315 //
33010 /* 93299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
33011 /* 93302 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
33012 /* 93307 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33013 /* 93310 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33014 /* 93313 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33015 /* 93316 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33016 /* 93320 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33017 /* 93324 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33018 /* 93328 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14573:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESENCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33019 /* 93328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCrr),
33020 /* 93331 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33021 /* 93333 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33022 /* 93335 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33023 /* 93337 */ GIR_RootConstrainSelectedInstOperands,
33024 /* 93338 */ // GIR_Coverage, 3315,
33025 /* 93338 */ GIR_EraseRootFromParent_Done,
33026 /* 93339 */ // Label 2031: @93339
33027 /* 93339 */ GIM_Try, /*On fail goto*//*Label 2032*/ GIMT_Encode4(93384), // Rule ID 3317 //
33028 /* 93344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
33029 /* 93347 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
33030 /* 93352 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33031 /* 93355 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33032 /* 93358 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33033 /* 93361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33034 /* 93365 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33035 /* 93369 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33036 /* 93373 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14576:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESENCLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33037 /* 93373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTrr),
33038 /* 93376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33039 /* 93378 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33040 /* 93380 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33041 /* 93382 */ GIR_RootConstrainSelectedInstOperands,
33042 /* 93383 */ // GIR_Coverage, 3317,
33043 /* 93383 */ GIR_EraseRootFromParent_Done,
33044 /* 93384 */ // Label 2032: @93384
33045 /* 93384 */ GIM_Try, /*On fail goto*//*Label 2033*/ GIMT_Encode4(93429), // Rule ID 3319 //
33046 /* 93389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
33047 /* 93392 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
33048 /* 93397 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33049 /* 93400 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33050 /* 93403 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33051 /* 93406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33052 /* 93410 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33053 /* 93414 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33054 /* 93418 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14567:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESDECrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33055 /* 93418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECrr),
33056 /* 93421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33057 /* 93423 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33058 /* 93425 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33059 /* 93427 */ GIR_RootConstrainSelectedInstOperands,
33060 /* 93428 */ // GIR_Coverage, 3319,
33061 /* 93428 */ GIR_EraseRootFromParent_Done,
33062 /* 93429 */ // Label 2033: @93429
33063 /* 93429 */ GIM_Try, /*On fail goto*//*Label 2034*/ GIMT_Encode4(93474), // Rule ID 3321 //
33064 /* 93434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_HasAVX_NoVLX_Or_NoVAES),
33065 /* 93437 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
33066 /* 93442 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33067 /* 93445 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33068 /* 93448 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33069 /* 93451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33070 /* 93455 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33071 /* 93459 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33072 /* 93463 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14570:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VAESDECLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33073 /* 93463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTrr),
33074 /* 93466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33075 /* 93468 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33076 /* 93470 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33077 /* 93472 */ GIR_RootConstrainSelectedInstOperands,
33078 /* 93473 */ // GIR_Coverage, 3321,
33079 /* 93473 */ GIR_EraseRootFromParent_Done,
33080 /* 93474 */ // Label 2034: @93474
33081 /* 93474 */ GIM_Try, /*On fail goto*//*Label 2035*/ GIMT_Encode4(93519), // Rule ID 3323 //
33082 /* 93479 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
33083 /* 93482 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
33084 /* 93487 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33085 /* 93490 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33086 /* 93493 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33087 /* 93496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33088 /* 93500 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33089 /* 93504 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33090 /* 93508 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14574:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESENCYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
33091 /* 93508 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCYrr),
33092 /* 93511 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33093 /* 93513 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33094 /* 93515 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33095 /* 93517 */ GIR_RootConstrainSelectedInstOperands,
33096 /* 93518 */ // GIR_Coverage, 3323,
33097 /* 93518 */ GIR_EraseRootFromParent_Done,
33098 /* 93519 */ // Label 2035: @93519
33099 /* 93519 */ GIM_Try, /*On fail goto*//*Label 2036*/ GIMT_Encode4(93564), // Rule ID 3325 //
33100 /* 93524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
33101 /* 93527 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
33102 /* 93532 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33103 /* 93535 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33104 /* 93538 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33105 /* 93541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33106 /* 93545 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33107 /* 93549 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33108 /* 93553 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14577:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESENCLASTYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
33109 /* 93553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTYrr),
33110 /* 93556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33111 /* 93558 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33112 /* 93560 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33113 /* 93562 */ GIR_RootConstrainSelectedInstOperands,
33114 /* 93563 */ // GIR_Coverage, 3325,
33115 /* 93563 */ GIR_EraseRootFromParent_Done,
33116 /* 93564 */ // Label 2036: @93564
33117 /* 93564 */ GIM_Try, /*On fail goto*//*Label 2037*/ GIMT_Encode4(93609), // Rule ID 3327 //
33118 /* 93569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
33119 /* 93572 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
33120 /* 93577 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33121 /* 93580 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33122 /* 93583 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33123 /* 93586 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33124 /* 93590 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33125 /* 93594 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33126 /* 93598 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14568:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESDECYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
33127 /* 93598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECYrr),
33128 /* 93601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33129 /* 93603 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33130 /* 93605 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33131 /* 93607 */ GIR_RootConstrainSelectedInstOperands,
33132 /* 93608 */ // GIR_Coverage, 3327,
33133 /* 93608 */ GIR_EraseRootFromParent_Done,
33134 /* 93609 */ // Label 2037: @93609
33135 /* 93609 */ GIM_Try, /*On fail goto*//*Label 2038*/ GIMT_Encode4(93654), // Rule ID 3329 //
33136 /* 93614 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_NoVLX),
33137 /* 93617 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
33138 /* 93622 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33139 /* 93625 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33140 /* 93628 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33141 /* 93631 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33142 /* 93635 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33143 /* 93639 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33144 /* 93643 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14571:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VAESDECLASTYrr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
33145 /* 93643 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTYrr),
33146 /* 93646 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33147 /* 93648 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33148 /* 93650 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33149 /* 93652 */ GIR_RootConstrainSelectedInstOperands,
33150 /* 93653 */ // GIR_Coverage, 3329,
33151 /* 93653 */ GIR_EraseRootFromParent_Done,
33152 /* 93654 */ // Label 2038: @93654
33153 /* 93654 */ GIM_Try, /*On fail goto*//*Label 2039*/ GIMT_Encode4(93699), // Rule ID 3331 //
33154 /* 93659 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
33155 /* 93662 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
33156 /* 93667 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33157 /* 93670 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33158 /* 93673 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33159 /* 93676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33160 /* 93680 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33161 /* 93684 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33162 /* 93688 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14573:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESENCrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33163 /* 93688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESENCrr),
33164 /* 93691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33165 /* 93693 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33166 /* 93695 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33167 /* 93697 */ GIR_RootConstrainSelectedInstOperands,
33168 /* 93698 */ // GIR_Coverage, 3331,
33169 /* 93698 */ GIR_EraseRootFromParent_Done,
33170 /* 93699 */ // Label 2039: @93699
33171 /* 93699 */ GIM_Try, /*On fail goto*//*Label 2040*/ GIMT_Encode4(93744), // Rule ID 3333 //
33172 /* 93704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
33173 /* 93707 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
33174 /* 93712 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33175 /* 93715 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33176 /* 93718 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33177 /* 93721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33178 /* 93725 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33179 /* 93729 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33180 /* 93733 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14576:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESENCLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33181 /* 93733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESENCLASTrr),
33182 /* 93736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33183 /* 93738 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33184 /* 93740 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33185 /* 93742 */ GIR_RootConstrainSelectedInstOperands,
33186 /* 93743 */ // GIR_Coverage, 3333,
33187 /* 93743 */ GIR_EraseRootFromParent_Done,
33188 /* 93744 */ // Label 2040: @93744
33189 /* 93744 */ GIM_Try, /*On fail goto*//*Label 2041*/ GIMT_Encode4(93789), // Rule ID 3335 //
33190 /* 93749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
33191 /* 93752 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
33192 /* 93757 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33193 /* 93760 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33194 /* 93763 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33195 /* 93766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33196 /* 93770 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33197 /* 93774 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33198 /* 93778 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14567:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESDECrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33199 /* 93778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESDECrr),
33200 /* 93781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33201 /* 93783 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33202 /* 93785 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33203 /* 93787 */ GIR_RootConstrainSelectedInstOperands,
33204 /* 93788 */ // GIR_Coverage, 3335,
33205 /* 93788 */ GIR_EraseRootFromParent_Done,
33206 /* 93789 */ // Label 2041: @93789
33207 /* 93789 */ GIM_Try, /*On fail goto*//*Label 2042*/ GIMT_Encode4(93834), // Rule ID 3337 //
33208 /* 93794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAES_NoAVX),
33209 /* 93797 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
33210 /* 93802 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33211 /* 93805 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33212 /* 93808 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33213 /* 93811 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33214 /* 93815 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33215 /* 93819 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33216 /* 93823 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14570:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (AESDECLASTrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33217 /* 93823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AESDECLASTrr),
33218 /* 93826 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33219 /* 93828 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33220 /* 93830 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33221 /* 93832 */ GIR_RootConstrainSelectedInstOperands,
33222 /* 93833 */ // GIR_Coverage, 3337,
33223 /* 93833 */ GIR_EraseRootFromParent_Done,
33224 /* 93834 */ // Label 2042: @93834
33225 /* 93834 */ GIM_Try, /*On fail goto*//*Label 2043*/ GIMT_Encode4(93879), // Rule ID 3354 //
33226 /* 93839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE4A),
33227 /* 93842 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse4a_extrq),
33228 /* 93847 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33229 /* 93850 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33230 /* 93853 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
33231 /* 93856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33232 /* 93860 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33233 /* 93864 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33234 /* 93868 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16026:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src, VR128:{ *:[v16i8] }:$mask) => (EXTRQ:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src, VR128:{ *:[v16i8] }:$mask)
33235 /* 93868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::EXTRQ),
33236 /* 93871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33237 /* 93873 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
33238 /* 93875 */ GIR_RootToRootCopy, /*OpIdx*/3, // mask
33239 /* 93877 */ GIR_RootConstrainSelectedInstOperands,
33240 /* 93878 */ // GIR_Coverage, 3354,
33241 /* 93878 */ GIR_EraseRootFromParent_Done,
33242 /* 93879 */ // Label 2043: @93879
33243 /* 93879 */ GIM_Try, /*On fail goto*//*Label 2044*/ GIMT_Encode4(93924), // Rule ID 3356 //
33244 /* 93884 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE4A),
33245 /* 93887 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse4a_insertq),
33246 /* 93892 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33247 /* 93895 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33248 /* 93898 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33249 /* 93901 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33250 /* 93905 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33251 /* 93909 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33252 /* 93913 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16028:{ *:[iPTR] }, VR128:{ *:[v2i64] }:$src, VR128:{ *:[v2i64] }:$mask) => (INSERTQ:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src, VR128:{ *:[v2i64] }:$mask)
33253 /* 93913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INSERTQ),
33254 /* 93916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33255 /* 93918 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
33256 /* 93920 */ GIR_RootToRootCopy, /*OpIdx*/3, // mask
33257 /* 93922 */ GIR_RootConstrainSelectedInstOperands,
33258 /* 93923 */ // GIR_Coverage, 3356,
33259 /* 93923 */ GIR_EraseRootFromParent_Done,
33260 /* 93924 */ // Label 2044: @93924
33261 /* 93924 */ GIM_Try, /*On fail goto*//*Label 2045*/ GIMT_Encode4(93969), // Rule ID 3531 //
33262 /* 93929 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA512),
33263 /* 93932 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512msg1),
33264 /* 93937 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33265 /* 93940 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33266 /* 93943 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33267 /* 93946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33268 /* 93950 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33269 /* 93954 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33270 /* 93958 */ // (intrinsic_wo_chain:{ *:[v4i64] } 16151:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VSHA512MSG1rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
33271 /* 93958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512MSG1rr),
33272 /* 93961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33273 /* 93963 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33274 /* 93965 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33275 /* 93967 */ GIR_RootConstrainSelectedInstOperands,
33276 /* 93968 */ // GIR_Coverage, 3531,
33277 /* 93968 */ GIR_EraseRootFromParent_Done,
33278 /* 93969 */ // Label 2045: @93969
33279 /* 93969 */ GIM_Try, /*On fail goto*//*Label 2046*/ GIMT_Encode4(94014), // Rule ID 3532 //
33280 /* 93974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA512),
33281 /* 93977 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512msg2),
33282 /* 93982 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33283 /* 93985 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33284 /* 93988 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33285 /* 93991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33286 /* 93995 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33287 /* 93999 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33288 /* 94003 */ // (intrinsic_wo_chain:{ *:[v4i64] } 16152:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VSHA512MSG2rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
33289 /* 94003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512MSG2rr),
33290 /* 94006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33291 /* 94008 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33292 /* 94010 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33293 /* 94012 */ GIR_RootConstrainSelectedInstOperands,
33294 /* 94013 */ // GIR_Coverage, 3532,
33295 /* 94013 */ GIR_EraseRootFromParent_Done,
33296 /* 94014 */ // Label 2046: @94014
33297 /* 94014 */ GIM_Try, /*On fail goto*//*Label 2047*/ GIMT_Encode4(94059), // Rule ID 3540 //
33298 /* 94019 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
33299 /* 94022 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4128),
33300 /* 94027 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33301 /* 94030 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33302 /* 94033 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33303 /* 94036 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33304 /* 94040 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33305 /* 94044 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33306 /* 94048 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16157:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VSM4KEY4rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33307 /* 94048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4rr),
33308 /* 94051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33309 /* 94053 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33310 /* 94055 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33311 /* 94057 */ GIR_RootConstrainSelectedInstOperands,
33312 /* 94058 */ // GIR_Coverage, 3540,
33313 /* 94058 */ GIR_EraseRootFromParent_Done,
33314 /* 94059 */ // Label 2047: @94059
33315 /* 94059 */ GIM_Try, /*On fail goto*//*Label 2048*/ GIMT_Encode4(94104), // Rule ID 3542 //
33316 /* 94064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
33317 /* 94067 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4256),
33318 /* 94072 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33319 /* 94075 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33320 /* 94078 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33321 /* 94081 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33322 /* 94085 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33323 /* 94089 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33324 /* 94093 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16158:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VSM4KEY4Yrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
33325 /* 94093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Yrr),
33326 /* 94096 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33327 /* 94098 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33328 /* 94100 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33329 /* 94102 */ GIR_RootConstrainSelectedInstOperands,
33330 /* 94103 */ // GIR_Coverage, 3542,
33331 /* 94103 */ GIR_EraseRootFromParent_Done,
33332 /* 94104 */ // Label 2048: @94104
33333 /* 94104 */ GIM_Try, /*On fail goto*//*Label 2049*/ GIMT_Encode4(94149), // Rule ID 3544 //
33334 /* 94109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
33335 /* 94112 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4128),
33336 /* 94117 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33337 /* 94120 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33338 /* 94123 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33339 /* 94126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33340 /* 94130 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33341 /* 94134 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33342 /* 94138 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16160:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VSM4RNDS4rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
33343 /* 94138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4rr),
33344 /* 94141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33345 /* 94143 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33346 /* 94145 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33347 /* 94147 */ GIR_RootConstrainSelectedInstOperands,
33348 /* 94148 */ // GIR_Coverage, 3544,
33349 /* 94148 */ GIR_EraseRootFromParent_Done,
33350 /* 94149 */ // Label 2049: @94149
33351 /* 94149 */ GIM_Try, /*On fail goto*//*Label 2050*/ GIMT_Encode4(94194), // Rule ID 3546 //
33352 /* 94154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM4),
33353 /* 94157 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4256),
33354 /* 94162 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33355 /* 94165 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33356 /* 94168 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33357 /* 94171 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33358 /* 94175 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33359 /* 94179 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33360 /* 94183 */ // (intrinsic_wo_chain:{ *:[v8i32] } 16161:{ *:[iPTR] }, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VSM4RNDS4Yrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
33361 /* 94183 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Yrr),
33362 /* 94186 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33363 /* 94188 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33364 /* 94190 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33365 /* 94192 */ GIR_RootConstrainSelectedInstOperands,
33366 /* 94193 */ // GIR_Coverage, 3546,
33367 /* 94193 */ GIR_EraseRootFromParent_Done,
33368 /* 94194 */ // Label 2050: @94194
33369 /* 94194 */ GIM_Try, /*On fail goto*//*Label 2051*/ GIMT_Encode4(94239), // Rule ID 14040 //
33370 /* 94199 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33371 /* 94202 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc),
33372 /* 94207 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33373 /* 94210 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33374 /* 94213 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33375 /* 94216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33376 /* 94220 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33377 /* 94224 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33378 /* 94228 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14573:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESENCZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
33379 /* 94228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ128rr),
33380 /* 94231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33381 /* 94233 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33382 /* 94235 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33383 /* 94237 */ GIR_RootConstrainSelectedInstOperands,
33384 /* 94238 */ // GIR_Coverage, 14040,
33385 /* 94238 */ GIR_EraseRootFromParent_Done,
33386 /* 94239 */ // Label 2051: @94239
33387 /* 94239 */ GIM_Try, /*On fail goto*//*Label 2052*/ GIMT_Encode4(94284), // Rule ID 14042 //
33388 /* 94244 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33389 /* 94247 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_256),
33390 /* 94252 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33391 /* 94255 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33392 /* 94258 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33393 /* 94261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33394 /* 94265 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33395 /* 94269 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33396 /* 94273 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14574:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESENCZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
33397 /* 94273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZ256rr),
33398 /* 94276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33399 /* 94278 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33400 /* 94280 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33401 /* 94282 */ GIR_RootConstrainSelectedInstOperands,
33402 /* 94283 */ // GIR_Coverage, 14042,
33403 /* 94283 */ GIR_EraseRootFromParent_Done,
33404 /* 94284 */ // Label 2052: @94284
33405 /* 94284 */ GIM_Try, /*On fail goto*//*Label 2053*/ GIMT_Encode4(94329), // Rule ID 14044 //
33406 /* 94289 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
33407 /* 94292 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenc_512),
33408 /* 94297 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
33409 /* 94300 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
33410 /* 94303 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
33411 /* 94306 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33412 /* 94310 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33413 /* 94314 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33414 /* 94318 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14575:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESENCZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
33415 /* 94318 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCZrr),
33416 /* 94321 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33417 /* 94323 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33418 /* 94325 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33419 /* 94327 */ GIR_RootConstrainSelectedInstOperands,
33420 /* 94328 */ // GIR_Coverage, 14044,
33421 /* 94328 */ GIR_EraseRootFromParent_Done,
33422 /* 94329 */ // Label 2053: @94329
33423 /* 94329 */ GIM_Try, /*On fail goto*//*Label 2054*/ GIMT_Encode4(94374), // Rule ID 14046 //
33424 /* 94334 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33425 /* 94337 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast),
33426 /* 94342 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33427 /* 94345 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33428 /* 94348 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33429 /* 94351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33430 /* 94355 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33431 /* 94359 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33432 /* 94363 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14576:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESENCLASTZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
33433 /* 94363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ128rr),
33434 /* 94366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33435 /* 94368 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33436 /* 94370 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33437 /* 94372 */ GIR_RootConstrainSelectedInstOperands,
33438 /* 94373 */ // GIR_Coverage, 14046,
33439 /* 94373 */ GIR_EraseRootFromParent_Done,
33440 /* 94374 */ // Label 2054: @94374
33441 /* 94374 */ GIM_Try, /*On fail goto*//*Label 2055*/ GIMT_Encode4(94419), // Rule ID 14048 //
33442 /* 94379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33443 /* 94382 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_256),
33444 /* 94387 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33445 /* 94390 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33446 /* 94393 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33447 /* 94396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33448 /* 94400 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33449 /* 94404 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33450 /* 94408 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14577:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESENCLASTZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
33451 /* 94408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZ256rr),
33452 /* 94411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33453 /* 94413 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33454 /* 94415 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33455 /* 94417 */ GIR_RootConstrainSelectedInstOperands,
33456 /* 94418 */ // GIR_Coverage, 14048,
33457 /* 94418 */ GIR_EraseRootFromParent_Done,
33458 /* 94419 */ // Label 2055: @94419
33459 /* 94419 */ GIM_Try, /*On fail goto*//*Label 2056*/ GIMT_Encode4(94464), // Rule ID 14050 //
33460 /* 94424 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
33461 /* 94427 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesenclast_512),
33462 /* 94432 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
33463 /* 94435 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
33464 /* 94438 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
33465 /* 94441 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33466 /* 94445 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33467 /* 94449 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33468 /* 94453 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14578:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESENCLASTZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
33469 /* 94453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESENCLASTZrr),
33470 /* 94456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33471 /* 94458 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33472 /* 94460 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33473 /* 94462 */ GIR_RootConstrainSelectedInstOperands,
33474 /* 94463 */ // GIR_Coverage, 14050,
33475 /* 94463 */ GIR_EraseRootFromParent_Done,
33476 /* 94464 */ // Label 2056: @94464
33477 /* 94464 */ GIM_Try, /*On fail goto*//*Label 2057*/ GIMT_Encode4(94509), // Rule ID 14052 //
33478 /* 94469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33479 /* 94472 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec),
33480 /* 94477 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33481 /* 94480 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33482 /* 94483 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33483 /* 94486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33484 /* 94490 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33485 /* 94494 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33486 /* 94498 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14567:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESDECZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
33487 /* 94498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ128rr),
33488 /* 94501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33489 /* 94503 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33490 /* 94505 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33491 /* 94507 */ GIR_RootConstrainSelectedInstOperands,
33492 /* 94508 */ // GIR_Coverage, 14052,
33493 /* 94508 */ GIR_EraseRootFromParent_Done,
33494 /* 94509 */ // Label 2057: @94509
33495 /* 94509 */ GIM_Try, /*On fail goto*//*Label 2058*/ GIMT_Encode4(94554), // Rule ID 14054 //
33496 /* 94514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33497 /* 94517 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_256),
33498 /* 94522 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33499 /* 94525 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33500 /* 94528 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33501 /* 94531 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33502 /* 94535 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33503 /* 94539 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33504 /* 94543 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14568:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESDECZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
33505 /* 94543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZ256rr),
33506 /* 94546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33507 /* 94548 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33508 /* 94550 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33509 /* 94552 */ GIR_RootConstrainSelectedInstOperands,
33510 /* 94553 */ // GIR_Coverage, 14054,
33511 /* 94553 */ GIR_EraseRootFromParent_Done,
33512 /* 94554 */ // Label 2058: @94554
33513 /* 94554 */ GIM_Try, /*On fail goto*//*Label 2059*/ GIMT_Encode4(94599), // Rule ID 14056 //
33514 /* 94559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
33515 /* 94562 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdec_512),
33516 /* 94567 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
33517 /* 94570 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
33518 /* 94573 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
33519 /* 94576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33520 /* 94580 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33521 /* 94584 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33522 /* 94588 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14569:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESDECZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
33523 /* 94588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECZrr),
33524 /* 94591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33525 /* 94593 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33526 /* 94595 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33527 /* 94597 */ GIR_RootConstrainSelectedInstOperands,
33528 /* 94598 */ // GIR_Coverage, 14056,
33529 /* 94598 */ GIR_EraseRootFromParent_Done,
33530 /* 94599 */ // Label 2059: @94599
33531 /* 94599 */ GIM_Try, /*On fail goto*//*Label 2060*/ GIMT_Encode4(94644), // Rule ID 14058 //
33532 /* 94604 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33533 /* 94607 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast),
33534 /* 94612 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33535 /* 94615 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33536 /* 94618 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33537 /* 94621 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33538 /* 94625 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33539 /* 94629 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
33540 /* 94633 */ // (intrinsic_wo_chain:{ *:[v2i64] } 14570:{ *:[iPTR] }, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VAESDECLASTZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
33541 /* 94633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ128rr),
33542 /* 94636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33543 /* 94638 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33544 /* 94640 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33545 /* 94642 */ GIR_RootConstrainSelectedInstOperands,
33546 /* 94643 */ // GIR_Coverage, 14058,
33547 /* 94643 */ GIR_EraseRootFromParent_Done,
33548 /* 94644 */ // Label 2060: @94644
33549 /* 94644 */ GIM_Try, /*On fail goto*//*Label 2061*/ GIMT_Encode4(94689), // Rule ID 14060 //
33550 /* 94649 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVAES_HasVLX),
33551 /* 94652 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_256),
33552 /* 94657 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
33553 /* 94660 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
33554 /* 94663 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
33555 /* 94666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33556 /* 94670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33557 /* 94674 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
33558 /* 94678 */ // (intrinsic_wo_chain:{ *:[v4i64] } 14571:{ *:[iPTR] }, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VAESDECLASTZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
33559 /* 94678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZ256rr),
33560 /* 94681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33561 /* 94683 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33562 /* 94685 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33563 /* 94687 */ GIR_RootConstrainSelectedInstOperands,
33564 /* 94688 */ // GIR_Coverage, 14060,
33565 /* 94688 */ GIR_EraseRootFromParent_Done,
33566 /* 94689 */ // Label 2061: @94689
33567 /* 94689 */ GIM_Try, /*On fail goto*//*Label 2062*/ GIMT_Encode4(94734), // Rule ID 14062 //
33568 /* 94694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVAES),
33569 /* 94697 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_aesni_aesdeclast_512),
33570 /* 94702 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
33571 /* 94705 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
33572 /* 94708 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
33573 /* 94711 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33574 /* 94715 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33575 /* 94719 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33576 /* 94723 */ // (intrinsic_wo_chain:{ *:[v8i64] } 14572:{ *:[iPTR] }, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VAESDECLASTZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
33577 /* 94723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VAESDECLASTZrr),
33578 /* 94726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33579 /* 94728 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33580 /* 94730 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33581 /* 94732 */ GIR_RootConstrainSelectedInstOperands,
33582 /* 94733 */ // GIR_Coverage, 14062,
33583 /* 94733 */ GIR_EraseRootFromParent_Done,
33584 /* 94734 */ // Label 2062: @94734
33585 /* 94734 */ GIM_Try, /*On fail goto*//*Label 2063*/ GIMT_Encode4(94779), // Rule ID 16773 //
33586 /* 94739 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
33587 /* 94742 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4key4512),
33588 /* 94747 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
33589 /* 94750 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
33590 /* 94753 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
33591 /* 94756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33592 /* 94760 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33593 /* 94764 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33594 /* 94768 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16159:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VSM4KEY4Zrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
33595 /* 94768 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4KEY4Zrr),
33596 /* 94771 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33597 /* 94773 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33598 /* 94775 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33599 /* 94777 */ GIR_RootConstrainSelectedInstOperands,
33600 /* 94778 */ // GIR_Coverage, 16773,
33601 /* 94778 */ GIR_EraseRootFromParent_Done,
33602 /* 94779 */ // Label 2063: @94779
33603 /* 94779 */ GIM_Try, /*On fail goto*//*Label 2064*/ GIMT_Encode4(94824), // Rule ID 16779 //
33604 /* 94784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasSM4),
33605 /* 94787 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm4rnds4512),
33606 /* 94792 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
33607 /* 94795 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
33608 /* 94798 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
33609 /* 94801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33610 /* 94805 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33611 /* 94809 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
33612 /* 94813 */ // (intrinsic_wo_chain:{ *:[v16i32] } 16162:{ *:[iPTR] }, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VSM4RNDS4Zrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
33613 /* 94813 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM4RNDS4Zrr),
33614 /* 94816 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33615 /* 94818 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33616 /* 94820 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
33617 /* 94822 */ GIR_RootConstrainSelectedInstOperands,
33618 /* 94823 */ // GIR_Coverage, 16779,
33619 /* 94823 */ GIR_EraseRootFromParent_Done,
33620 /* 94824 */ // Label 2064: @94824
33621 /* 94824 */ GIM_Reject,
33622 /* 94825 */ // Label 1957: @94825
33623 /* 94825 */ GIM_Try, /*On fail goto*//*Label 2065*/ GIMT_Encode4(98706),
33624 /* 94830 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/5,
33625 /* 94833 */ GIM_Try, /*On fail goto*//*Label 2066*/ GIMT_Encode4(94914), // Rule ID 23592 //
33626 /* 94838 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33627 /* 94841 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
33628 /* 94846 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33629 /* 94849 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33630 /* 94852 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33631 /* 94855 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33632 /* 94859 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33633 /* 94863 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33634 /* 94867 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33635 /* 94870 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33636 /* 94874 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33637 /* 94878 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33638 /* 94882 */ // MIs[0] src3
33639 /* 94882 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33640 /* 94885 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33641 /* 94887 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33642 /* 94894 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15995:{ *:[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)
33643 /* 94894 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrmi),
33644 /* 94897 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33645 /* 94899 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33646 /* 94901 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33647 /* 94905 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33648 /* 94907 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33649 /* 94912 */ GIR_RootConstrainSelectedInstOperands,
33650 /* 94913 */ // GIR_Coverage, 23592,
33651 /* 94913 */ GIR_EraseRootFromParent_Done,
33652 /* 94914 */ // Label 2066: @94914
33653 /* 94914 */ GIM_Try, /*On fail goto*//*Label 2067*/ GIMT_Encode4(94995), // Rule ID 23593 //
33654 /* 94919 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33655 /* 94922 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
33656 /* 94927 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33657 /* 94930 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33658 /* 94933 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33659 /* 94936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33660 /* 94940 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33661 /* 94944 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33662 /* 94948 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33663 /* 94951 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33664 /* 94955 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33665 /* 94959 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33666 /* 94963 */ // MIs[0] src3
33667 /* 94963 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33668 /* 94966 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33669 /* 94968 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33670 /* 94975 */ // (intrinsic_wo_chain:{ *:[v2f64] } 15994:{ *:[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)
33671 /* 94975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrmi),
33672 /* 94978 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33673 /* 94980 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33674 /* 94982 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33675 /* 94986 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33676 /* 94988 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33677 /* 94993 */ GIR_RootConstrainSelectedInstOperands,
33678 /* 94994 */ // GIR_Coverage, 23593,
33679 /* 94994 */ GIR_EraseRootFromParent_Done,
33680 /* 94995 */ // Label 2067: @94995
33681 /* 94995 */ GIM_Try, /*On fail goto*//*Label 2068*/ GIMT_Encode4(95076), // Rule ID 23594 //
33682 /* 95000 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33683 /* 95003 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
33684 /* 95008 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33685 /* 95011 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33686 /* 95014 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33687 /* 95017 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33688 /* 95021 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33689 /* 95025 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33690 /* 95029 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33691 /* 95032 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33692 /* 95036 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33693 /* 95040 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33694 /* 95044 */ // MIs[0] src3
33695 /* 95044 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33696 /* 95047 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33697 /* 95049 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33698 /* 95056 */ // (intrinsic_wo_chain:{ *:[v8f32] } 14605:{ *:[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)
33699 /* 95056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrmi),
33700 /* 95059 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33701 /* 95061 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33702 /* 95063 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33703 /* 95067 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33704 /* 95069 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33705 /* 95074 */ GIR_RootConstrainSelectedInstOperands,
33706 /* 95075 */ // GIR_Coverage, 23594,
33707 /* 95075 */ GIR_EraseRootFromParent_Done,
33708 /* 95076 */ // Label 2068: @95076
33709 /* 95076 */ GIM_Try, /*On fail goto*//*Label 2069*/ GIMT_Encode4(95157), // Rule ID 3230 //
33710 /* 95081 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33711 /* 95084 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
33712 /* 95089 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33713 /* 95092 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33714 /* 95095 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33715 /* 95098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33716 /* 95102 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33717 /* 95106 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33718 /* 95110 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33719 /* 95114 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33720 /* 95117 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33721 /* 95121 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33722 /* 95125 */ // MIs[0] src3
33723 /* 95125 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33724 /* 95128 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33725 /* 95130 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33726 /* 95137 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15995:{ *:[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)
33727 /* 95137 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrmi),
33728 /* 95140 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33729 /* 95142 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33730 /* 95144 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33731 /* 95148 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33732 /* 95150 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33733 /* 95155 */ GIR_RootConstrainSelectedInstOperands,
33734 /* 95156 */ // GIR_Coverage, 3230,
33735 /* 95156 */ GIR_EraseRootFromParent_Done,
33736 /* 95157 */ // Label 2069: @95157
33737 /* 95157 */ GIM_Try, /*On fail goto*//*Label 2070*/ GIMT_Encode4(95238), // Rule ID 3232 //
33738 /* 95162 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33739 /* 95165 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
33740 /* 95170 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33741 /* 95173 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
33742 /* 95176 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
33743 /* 95179 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33744 /* 95183 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33745 /* 95187 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33746 /* 95191 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33747 /* 95195 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33748 /* 95198 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33749 /* 95202 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33750 /* 95206 */ // MIs[0] src3
33751 /* 95206 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33752 /* 95209 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33753 /* 95211 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33754 /* 95218 */ // (intrinsic_wo_chain:{ *:[v2f64] } 15994:{ *:[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)
33755 /* 95218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrmi),
33756 /* 95221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33757 /* 95223 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33758 /* 95225 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33759 /* 95229 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33760 /* 95231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33761 /* 95236 */ GIR_RootConstrainSelectedInstOperands,
33762 /* 95237 */ // GIR_Coverage, 3232,
33763 /* 95237 */ GIR_EraseRootFromParent_Done,
33764 /* 95238 */ // Label 2070: @95238
33765 /* 95238 */ GIM_Try, /*On fail goto*//*Label 2071*/ GIMT_Encode4(95319), // Rule ID 3234 //
33766 /* 95243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
33767 /* 95246 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
33768 /* 95251 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
33769 /* 95254 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
33770 /* 95257 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
33771 /* 95260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33772 /* 95264 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
33773 /* 95268 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
33774 /* 95272 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33775 /* 95276 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33776 /* 95279 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33777 /* 95283 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33778 /* 95287 */ // MIs[0] src3
33779 /* 95287 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
33780 /* 95290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33781 /* 95292 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33782 /* 95299 */ // (intrinsic_wo_chain:{ *:[v8f32] } 14605:{ *:[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)
33783 /* 95299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrmi),
33784 /* 95302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33785 /* 95304 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
33786 /* 95306 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33787 /* 95310 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33788 /* 95312 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33789 /* 95317 */ GIR_RootConstrainSelectedInstOperands,
33790 /* 95318 */ // GIR_Coverage, 3234,
33791 /* 95318 */ GIR_EraseRootFromParent_Done,
33792 /* 95319 */ // Label 2071: @95319
33793 /* 95319 */ GIM_Try, /*On fail goto*//*Label 2072*/ GIMT_Encode4(95404), // Rule ID 23394 //
33794 /* 95324 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33795 /* 95327 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
33796 /* 95332 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33797 /* 95335 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33798 /* 95338 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33799 /* 95341 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33800 /* 95344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33801 /* 95348 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33802 /* 95352 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33803 /* 95356 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33804 /* 95359 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33805 /* 95363 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33806 /* 95367 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33807 /* 95371 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33808 /* 95375 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33809 /* 95377 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33810 /* 95384 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16214:{ *:[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)
33811 /* 95384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrm),
33812 /* 95387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33813 /* 95389 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33814 /* 95391 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33815 /* 95395 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33816 /* 95397 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33817 /* 95402 */ GIR_RootConstrainSelectedInstOperands,
33818 /* 95403 */ // GIR_Coverage, 23394,
33819 /* 95403 */ GIR_EraseRootFromParent_Done,
33820 /* 95404 */ // Label 2072: @95404
33821 /* 95404 */ GIM_Try, /*On fail goto*//*Label 2073*/ GIMT_Encode4(95489), // Rule ID 23395 //
33822 /* 95409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33823 /* 95412 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
33824 /* 95417 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33825 /* 95420 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33826 /* 95423 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33827 /* 95426 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33828 /* 95429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33829 /* 95433 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33830 /* 95437 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33831 /* 95441 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33832 /* 95444 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33833 /* 95448 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33834 /* 95452 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33835 /* 95456 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33836 /* 95460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33837 /* 95462 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33838 /* 95469 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16213:{ *:[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)
33839 /* 95469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrm),
33840 /* 95472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33841 /* 95474 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33842 /* 95476 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33843 /* 95480 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33844 /* 95482 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33845 /* 95487 */ GIR_RootConstrainSelectedInstOperands,
33846 /* 95488 */ // GIR_Coverage, 23395,
33847 /* 95488 */ GIR_EraseRootFromParent_Done,
33848 /* 95489 */ // Label 2073: @95489
33849 /* 95489 */ GIM_Try, /*On fail goto*//*Label 2074*/ GIMT_Encode4(95574), // Rule ID 23396 //
33850 /* 95494 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33851 /* 95497 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
33852 /* 95502 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33853 /* 95505 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33854 /* 95508 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33855 /* 95511 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
33856 /* 95514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33857 /* 95518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33858 /* 95522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33859 /* 95526 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33860 /* 95529 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33861 /* 95533 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33862 /* 95537 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33863 /* 95541 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33864 /* 95545 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33865 /* 95547 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33866 /* 95554 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16212:{ *:[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)
33867 /* 95554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrm),
33868 /* 95557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33869 /* 95559 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33870 /* 95561 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33871 /* 95565 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33872 /* 95567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33873 /* 95572 */ GIR_RootConstrainSelectedInstOperands,
33874 /* 95573 */ // GIR_Coverage, 23396,
33875 /* 95573 */ GIR_EraseRootFromParent_Done,
33876 /* 95574 */ // Label 2074: @95574
33877 /* 95574 */ GIM_Try, /*On fail goto*//*Label 2075*/ GIMT_Encode4(95659), // Rule ID 23397 //
33878 /* 95579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33879 /* 95582 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
33880 /* 95587 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33881 /* 95590 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33882 /* 95593 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33883 /* 95596 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33884 /* 95599 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33885 /* 95603 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33886 /* 95607 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33887 /* 95611 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33888 /* 95614 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33889 /* 95618 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33890 /* 95622 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33891 /* 95626 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33892 /* 95630 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33893 /* 95632 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33894 /* 95639 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16211:{ *:[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)
33895 /* 95639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrm),
33896 /* 95642 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33897 /* 95644 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33898 /* 95646 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33899 /* 95650 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33900 /* 95652 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33901 /* 95657 */ GIR_RootConstrainSelectedInstOperands,
33902 /* 95658 */ // GIR_Coverage, 23397,
33903 /* 95658 */ GIR_EraseRootFromParent_Done,
33904 /* 95659 */ // Label 2075: @95659
33905 /* 95659 */ GIM_Try, /*On fail goto*//*Label 2076*/ GIMT_Encode4(95744), // Rule ID 23398 //
33906 /* 95664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33907 /* 95667 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
33908 /* 95672 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
33909 /* 95675 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33910 /* 95678 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33911 /* 95681 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
33912 /* 95684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33913 /* 95688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33914 /* 95692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33915 /* 95696 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33916 /* 95699 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33917 /* 95703 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33918 /* 95707 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33919 /* 95711 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33920 /* 95715 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33921 /* 95717 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33922 /* 95724 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16210:{ *:[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)
33923 /* 95724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrm),
33924 /* 95727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33925 /* 95729 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33926 /* 95731 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33927 /* 95735 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33928 /* 95737 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33929 /* 95742 */ GIR_RootConstrainSelectedInstOperands,
33930 /* 95743 */ // GIR_Coverage, 23398,
33931 /* 95743 */ GIR_EraseRootFromParent_Done,
33932 /* 95744 */ // Label 2076: @95744
33933 /* 95744 */ GIM_Try, /*On fail goto*//*Label 2077*/ GIMT_Encode4(95829), // Rule ID 23399 //
33934 /* 95749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33935 /* 95752 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
33936 /* 95757 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
33937 /* 95760 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
33938 /* 95763 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
33939 /* 95766 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
33940 /* 95769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33941 /* 95773 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33942 /* 95777 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33943 /* 95781 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33944 /* 95784 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33945 /* 95788 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33946 /* 95792 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33947 /* 95796 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33948 /* 95800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33949 /* 95802 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33950 /* 95809 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16209:{ *:[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)
33951 /* 95809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrm),
33952 /* 95812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33953 /* 95814 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33954 /* 95816 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33955 /* 95820 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33956 /* 95822 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33957 /* 95827 */ GIR_RootConstrainSelectedInstOperands,
33958 /* 95828 */ // GIR_Coverage, 23399,
33959 /* 95828 */ GIR_EraseRootFromParent_Done,
33960 /* 95829 */ // Label 2077: @95829
33961 /* 95829 */ GIM_Try, /*On fail goto*//*Label 2078*/ GIMT_Encode4(95914), // Rule ID 23400 //
33962 /* 95834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33963 /* 95837 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
33964 /* 95842 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33965 /* 95845 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33966 /* 95848 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33967 /* 95851 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33968 /* 95854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33969 /* 95858 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33970 /* 95862 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33971 /* 95866 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
33972 /* 95869 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
33973 /* 95873 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
33974 /* 95877 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33975 /* 95881 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33976 /* 95885 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
33977 /* 95887 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
33978 /* 95894 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16208:{ *:[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)
33979 /* 95894 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrm),
33980 /* 95897 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
33981 /* 95899 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
33982 /* 95901 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
33983 /* 95905 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
33984 /* 95907 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
33985 /* 95912 */ GIR_RootConstrainSelectedInstOperands,
33986 /* 95913 */ // GIR_Coverage, 23400,
33987 /* 95913 */ GIR_EraseRootFromParent_Done,
33988 /* 95914 */ // Label 2078: @95914
33989 /* 95914 */ GIM_Try, /*On fail goto*//*Label 2079*/ GIMT_Encode4(95999), // Rule ID 23401 //
33990 /* 95919 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
33991 /* 95922 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
33992 /* 95927 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
33993 /* 95930 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
33994 /* 95933 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
33995 /* 95936 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
33996 /* 95939 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
33997 /* 95943 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
33998 /* 95947 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
33999 /* 95951 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34000 /* 95954 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34001 /* 95958 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34002 /* 95962 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34003 /* 95966 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34004 /* 95970 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34005 /* 95972 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34006 /* 95979 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16207:{ *:[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)
34007 /* 95979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrm),
34008 /* 95982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34009 /* 95984 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34010 /* 95986 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34011 /* 95990 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34012 /* 95992 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34013 /* 95997 */ GIR_RootConstrainSelectedInstOperands,
34014 /* 95998 */ // GIR_Coverage, 23401,
34015 /* 95998 */ GIR_EraseRootFromParent_Done,
34016 /* 95999 */ // Label 2079: @95999
34017 /* 95999 */ GIM_Try, /*On fail goto*//*Label 2080*/ GIMT_Encode4(96084), // Rule ID 23402 //
34018 /* 96004 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34019 /* 96007 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
34020 /* 96012 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34021 /* 96015 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34022 /* 96018 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34023 /* 96021 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34024 /* 96024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34025 /* 96028 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34026 /* 96032 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34027 /* 96036 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34028 /* 96039 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34029 /* 96043 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34030 /* 96047 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34031 /* 96051 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34032 /* 96055 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34033 /* 96057 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34034 /* 96064 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16206:{ *:[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)
34035 /* 96064 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrm),
34036 /* 96067 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34037 /* 96069 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34038 /* 96071 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34039 /* 96075 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34040 /* 96077 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34041 /* 96082 */ GIR_RootConstrainSelectedInstOperands,
34042 /* 96083 */ // GIR_Coverage, 23402,
34043 /* 96083 */ GIR_EraseRootFromParent_Done,
34044 /* 96084 */ // Label 2080: @96084
34045 /* 96084 */ GIM_Try, /*On fail goto*//*Label 2081*/ GIMT_Encode4(96169), // Rule ID 23403 //
34046 /* 96089 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34047 /* 96092 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
34048 /* 96097 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34049 /* 96100 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34050 /* 96103 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34051 /* 96106 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34052 /* 96109 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34053 /* 96113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34054 /* 96117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34055 /* 96121 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34056 /* 96124 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34057 /* 96128 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34058 /* 96132 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34059 /* 96136 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34060 /* 96140 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34061 /* 96142 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34062 /* 96149 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16205:{ *:[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)
34063 /* 96149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrm),
34064 /* 96152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34065 /* 96154 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34066 /* 96156 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34067 /* 96160 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34068 /* 96162 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34069 /* 96167 */ GIR_RootConstrainSelectedInstOperands,
34070 /* 96168 */ // GIR_Coverage, 23403,
34071 /* 96168 */ GIR_EraseRootFromParent_Done,
34072 /* 96169 */ // Label 2081: @96169
34073 /* 96169 */ GIM_Try, /*On fail goto*//*Label 2082*/ GIMT_Encode4(96254), // Rule ID 23404 //
34074 /* 96174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34075 /* 96177 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
34076 /* 96182 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34077 /* 96185 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34078 /* 96188 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34079 /* 96191 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34080 /* 96194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34081 /* 96198 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34082 /* 96202 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34083 /* 96206 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34084 /* 96209 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34085 /* 96213 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34086 /* 96217 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34087 /* 96221 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34088 /* 96225 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34089 /* 96227 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34090 /* 96234 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16204:{ *:[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)
34091 /* 96234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrm),
34092 /* 96237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34093 /* 96239 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34094 /* 96241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34095 /* 96245 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34096 /* 96247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34097 /* 96252 */ GIR_RootConstrainSelectedInstOperands,
34098 /* 96253 */ // GIR_Coverage, 23404,
34099 /* 96253 */ GIR_EraseRootFromParent_Done,
34100 /* 96254 */ // Label 2082: @96254
34101 /* 96254 */ GIM_Try, /*On fail goto*//*Label 2083*/ GIMT_Encode4(96339), // Rule ID 23405 //
34102 /* 96259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34103 /* 96262 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
34104 /* 96267 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34105 /* 96270 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34106 /* 96273 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34107 /* 96276 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34108 /* 96279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34109 /* 96283 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
34110 /* 96287 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34111 /* 96291 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34112 /* 96294 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34113 /* 96298 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34114 /* 96302 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34115 /* 96306 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34116 /* 96310 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34117 /* 96312 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34118 /* 96319 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16203:{ *:[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)
34119 /* 96319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrm),
34120 /* 96322 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34121 /* 96324 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
34122 /* 96326 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34123 /* 96330 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34124 /* 96332 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34125 /* 96337 */ GIR_RootConstrainSelectedInstOperands,
34126 /* 96338 */ // GIR_Coverage, 23405,
34127 /* 96338 */ GIR_EraseRootFromParent_Done,
34128 /* 96339 */ // Label 2083: @96339
34129 /* 96339 */ GIM_Try, /*On fail goto*//*Label 2084*/ GIMT_Encode4(96424), // Rule ID 1596 //
34130 /* 96344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34131 /* 96347 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
34132 /* 96352 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34133 /* 96355 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34134 /* 96358 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34135 /* 96361 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34136 /* 96364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34137 /* 96368 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34138 /* 96372 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34139 /* 96376 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34140 /* 96380 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34141 /* 96383 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34142 /* 96387 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34143 /* 96391 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34144 /* 96395 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34145 /* 96397 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34146 /* 96404 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16214:{ *:[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)
34147 /* 96404 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrm),
34148 /* 96407 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34149 /* 96409 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34150 /* 96411 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34151 /* 96415 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34152 /* 96417 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34153 /* 96422 */ GIR_RootConstrainSelectedInstOperands,
34154 /* 96423 */ // GIR_Coverage, 1596,
34155 /* 96423 */ GIR_EraseRootFromParent_Done,
34156 /* 96424 */ // Label 2084: @96424
34157 /* 96424 */ GIM_Try, /*On fail goto*//*Label 2085*/ GIMT_Encode4(96509), // Rule ID 1598 //
34158 /* 96429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34159 /* 96432 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
34160 /* 96437 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34161 /* 96440 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34162 /* 96443 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34163 /* 96446 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34164 /* 96449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34165 /* 96453 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34166 /* 96457 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34167 /* 96461 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34168 /* 96465 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34169 /* 96468 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34170 /* 96472 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34171 /* 96476 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34172 /* 96480 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34173 /* 96482 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34174 /* 96489 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16213:{ *:[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)
34175 /* 96489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrm),
34176 /* 96492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34177 /* 96494 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34178 /* 96496 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34179 /* 96500 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34180 /* 96502 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34181 /* 96507 */ GIR_RootConstrainSelectedInstOperands,
34182 /* 96508 */ // GIR_Coverage, 1598,
34183 /* 96508 */ GIR_EraseRootFromParent_Done,
34184 /* 96509 */ // Label 2085: @96509
34185 /* 96509 */ GIM_Try, /*On fail goto*//*Label 2086*/ GIMT_Encode4(96594), // Rule ID 1600 //
34186 /* 96514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34187 /* 96517 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
34188 /* 96522 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
34189 /* 96525 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34190 /* 96528 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34191 /* 96531 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
34192 /* 96534 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34193 /* 96538 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34194 /* 96542 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34195 /* 96546 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34196 /* 96550 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34197 /* 96553 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34198 /* 96557 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34199 /* 96561 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34200 /* 96565 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34201 /* 96567 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34202 /* 96574 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16212:{ *:[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)
34203 /* 96574 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrm),
34204 /* 96577 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34205 /* 96579 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34206 /* 96581 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34207 /* 96585 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34208 /* 96587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34209 /* 96592 */ GIR_RootConstrainSelectedInstOperands,
34210 /* 96593 */ // GIR_Coverage, 1600,
34211 /* 96593 */ GIR_EraseRootFromParent_Done,
34212 /* 96594 */ // Label 2086: @96594
34213 /* 96594 */ GIM_Try, /*On fail goto*//*Label 2087*/ GIMT_Encode4(96679), // Rule ID 1602 //
34214 /* 96599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34215 /* 96602 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
34216 /* 96607 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34217 /* 96610 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34218 /* 96613 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34219 /* 96616 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34220 /* 96619 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34221 /* 96623 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34222 /* 96627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34223 /* 96631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34224 /* 96635 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34225 /* 96638 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34226 /* 96642 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34227 /* 96646 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34228 /* 96650 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34229 /* 96652 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34230 /* 96659 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16211:{ *:[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)
34231 /* 96659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrm),
34232 /* 96662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34233 /* 96664 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34234 /* 96666 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34235 /* 96670 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34236 /* 96672 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34237 /* 96677 */ GIR_RootConstrainSelectedInstOperands,
34238 /* 96678 */ // GIR_Coverage, 1602,
34239 /* 96678 */ GIR_EraseRootFromParent_Done,
34240 /* 96679 */ // Label 2087: @96679
34241 /* 96679 */ GIM_Try, /*On fail goto*//*Label 2088*/ GIMT_Encode4(96764), // Rule ID 1604 //
34242 /* 96684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34243 /* 96687 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
34244 /* 96692 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
34245 /* 96695 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34246 /* 96698 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34247 /* 96701 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
34248 /* 96704 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34249 /* 96708 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34250 /* 96712 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34251 /* 96716 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34252 /* 96720 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34253 /* 96723 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34254 /* 96727 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34255 /* 96731 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34256 /* 96735 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34257 /* 96737 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34258 /* 96744 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16210:{ *:[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)
34259 /* 96744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrm),
34260 /* 96747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34261 /* 96749 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34262 /* 96751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34263 /* 96755 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34264 /* 96757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34265 /* 96762 */ GIR_RootConstrainSelectedInstOperands,
34266 /* 96763 */ // GIR_Coverage, 1604,
34267 /* 96763 */ GIR_EraseRootFromParent_Done,
34268 /* 96764 */ // Label 2088: @96764
34269 /* 96764 */ GIM_Try, /*On fail goto*//*Label 2089*/ GIMT_Encode4(96849), // Rule ID 1606 //
34270 /* 96769 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34271 /* 96772 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
34272 /* 96777 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34273 /* 96780 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34274 /* 96783 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34275 /* 96786 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34276 /* 96789 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34277 /* 96793 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34278 /* 96797 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34279 /* 96801 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34280 /* 96805 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34281 /* 96808 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34282 /* 96812 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34283 /* 96816 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34284 /* 96820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34285 /* 96822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34286 /* 96829 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16209:{ *:[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)
34287 /* 96829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrm),
34288 /* 96832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34289 /* 96834 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34290 /* 96836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34291 /* 96840 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34292 /* 96842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34293 /* 96847 */ GIR_RootConstrainSelectedInstOperands,
34294 /* 96848 */ // GIR_Coverage, 1606,
34295 /* 96848 */ GIR_EraseRootFromParent_Done,
34296 /* 96849 */ // Label 2089: @96849
34297 /* 96849 */ GIM_Try, /*On fail goto*//*Label 2090*/ GIMT_Encode4(96934), // Rule ID 1608 //
34298 /* 96854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34299 /* 96857 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
34300 /* 96862 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34301 /* 96865 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34302 /* 96868 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34303 /* 96871 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34304 /* 96874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34305 /* 96878 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34306 /* 96882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34307 /* 96886 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34308 /* 96890 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34309 /* 96893 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34310 /* 96897 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34311 /* 96901 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34312 /* 96905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34313 /* 96907 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34314 /* 96914 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16208:{ *:[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)
34315 /* 96914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrm),
34316 /* 96917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34317 /* 96919 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34318 /* 96921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34319 /* 96925 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34320 /* 96927 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34321 /* 96932 */ GIR_RootConstrainSelectedInstOperands,
34322 /* 96933 */ // GIR_Coverage, 1608,
34323 /* 96933 */ GIR_EraseRootFromParent_Done,
34324 /* 96934 */ // Label 2090: @96934
34325 /* 96934 */ GIM_Try, /*On fail goto*//*Label 2091*/ GIMT_Encode4(97019), // Rule ID 1610 //
34326 /* 96939 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34327 /* 96942 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
34328 /* 96947 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34329 /* 96950 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34330 /* 96953 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34331 /* 96956 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34332 /* 96959 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34333 /* 96963 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34334 /* 96967 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34335 /* 96971 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34336 /* 96975 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34337 /* 96978 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34338 /* 96982 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34339 /* 96986 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34340 /* 96990 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34341 /* 96992 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34342 /* 96999 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16207:{ *:[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)
34343 /* 96999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrm),
34344 /* 97002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34345 /* 97004 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34346 /* 97006 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34347 /* 97010 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34348 /* 97012 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34349 /* 97017 */ GIR_RootConstrainSelectedInstOperands,
34350 /* 97018 */ // GIR_Coverage, 1610,
34351 /* 97018 */ GIR_EraseRootFromParent_Done,
34352 /* 97019 */ // Label 2091: @97019
34353 /* 97019 */ GIM_Try, /*On fail goto*//*Label 2092*/ GIMT_Encode4(97104), // Rule ID 1612 //
34354 /* 97024 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34355 /* 97027 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
34356 /* 97032 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34357 /* 97035 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34358 /* 97038 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34359 /* 97041 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34360 /* 97044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34361 /* 97048 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34362 /* 97052 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34363 /* 97056 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34364 /* 97060 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34365 /* 97063 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34366 /* 97067 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34367 /* 97071 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34368 /* 97075 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34369 /* 97077 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34370 /* 97084 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16206:{ *:[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)
34371 /* 97084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrm),
34372 /* 97087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34373 /* 97089 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34374 /* 97091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34375 /* 97095 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34376 /* 97097 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34377 /* 97102 */ GIR_RootConstrainSelectedInstOperands,
34378 /* 97103 */ // GIR_Coverage, 1612,
34379 /* 97103 */ GIR_EraseRootFromParent_Done,
34380 /* 97104 */ // Label 2092: @97104
34381 /* 97104 */ GIM_Try, /*On fail goto*//*Label 2093*/ GIMT_Encode4(97189), // Rule ID 1614 //
34382 /* 97109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34383 /* 97112 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
34384 /* 97117 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34385 /* 97120 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34386 /* 97123 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34387 /* 97126 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34388 /* 97129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34389 /* 97133 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34390 /* 97137 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34391 /* 97141 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34392 /* 97145 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34393 /* 97148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34394 /* 97152 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34395 /* 97156 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34396 /* 97160 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34397 /* 97162 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34398 /* 97169 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16205:{ *:[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)
34399 /* 97169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrm),
34400 /* 97172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34401 /* 97174 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34402 /* 97176 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34403 /* 97180 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34404 /* 97182 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34405 /* 97187 */ GIR_RootConstrainSelectedInstOperands,
34406 /* 97188 */ // GIR_Coverage, 1614,
34407 /* 97188 */ GIR_EraseRootFromParent_Done,
34408 /* 97189 */ // Label 2093: @97189
34409 /* 97189 */ GIM_Try, /*On fail goto*//*Label 2094*/ GIMT_Encode4(97274), // Rule ID 1616 //
34410 /* 97194 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34411 /* 97197 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
34412 /* 97202 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34413 /* 97205 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34414 /* 97208 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34415 /* 97211 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34416 /* 97214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34417 /* 97218 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34418 /* 97222 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34419 /* 97226 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34420 /* 97230 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34421 /* 97233 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34422 /* 97237 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34423 /* 97241 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34424 /* 97245 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34425 /* 97247 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34426 /* 97254 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16204:{ *:[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)
34427 /* 97254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrm),
34428 /* 97257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34429 /* 97259 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34430 /* 97261 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34431 /* 97265 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34432 /* 97267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34433 /* 97272 */ GIR_RootConstrainSelectedInstOperands,
34434 /* 97273 */ // GIR_Coverage, 1616,
34435 /* 97273 */ GIR_EraseRootFromParent_Done,
34436 /* 97274 */ // Label 2094: @97274
34437 /* 97274 */ GIM_Try, /*On fail goto*//*Label 2095*/ GIMT_Encode4(97359), // Rule ID 1618 //
34438 /* 97279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34439 /* 97282 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
34440 /* 97287 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34441 /* 97290 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34442 /* 97293 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34443 /* 97296 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34444 /* 97299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34445 /* 97303 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34446 /* 97307 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
34447 /* 97311 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34448 /* 97315 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34449 /* 97318 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34450 /* 97322 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34451 /* 97326 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34452 /* 97330 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34453 /* 97332 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34454 /* 97339 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16203:{ *:[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)
34455 /* 97339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrm),
34456 /* 97342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34457 /* 97344 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34458 /* 97346 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
34459 /* 97350 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34460 /* 97352 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34461 /* 97357 */ GIR_RootConstrainSelectedInstOperands,
34462 /* 97358 */ // GIR_Coverage, 1618,
34463 /* 97358 */ GIR_EraseRootFromParent_Done,
34464 /* 97359 */ // Label 2095: @97359
34465 /* 97359 */ GIM_Try, /*On fail goto*//*Label 2096*/ GIMT_Encode4(97444), // Rule ID 3535 //
34466 /* 97364 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
34467 /* 97367 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg1),
34468 /* 97372 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34469 /* 97375 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34470 /* 97378 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34471 /* 97381 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34472 /* 97384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34473 /* 97388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34474 /* 97392 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34475 /* 97396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
34476 /* 97400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34477 /* 97404 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34478 /* 97407 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34479 /* 97411 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34480 /* 97415 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34481 /* 97417 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34482 /* 97424 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16154:{ *:[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)
34483 /* 97424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG1rm),
34484 /* 97427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34485 /* 97429 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34486 /* 97431 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34487 /* 97433 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
34488 /* 97437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34489 /* 97442 */ GIR_RootConstrainSelectedInstOperands,
34490 /* 97443 */ // GIR_Coverage, 3535,
34491 /* 97443 */ GIR_EraseRootFromParent_Done,
34492 /* 97444 */ // Label 2096: @97444
34493 /* 97444 */ GIM_Try, /*On fail goto*//*Label 2097*/ GIMT_Encode4(97529), // Rule ID 3537 //
34494 /* 97449 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
34495 /* 97452 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg2),
34496 /* 97457 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34497 /* 97460 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34498 /* 97463 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34499 /* 97466 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34500 /* 97469 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34501 /* 97473 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34502 /* 97477 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34503 /* 97481 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
34504 /* 97485 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
34505 /* 97489 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
34506 /* 97492 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
34507 /* 97496 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
34508 /* 97500 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
34509 /* 97502 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
34510 /* 97509 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16155:{ *:[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)
34511 /* 97509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG2rm),
34512 /* 97512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34513 /* 97514 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34514 /* 97516 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34515 /* 97518 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
34516 /* 97522 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
34517 /* 97527 */ GIR_RootConstrainSelectedInstOperands,
34518 /* 97528 */ // GIR_Coverage, 3537,
34519 /* 97528 */ GIR_EraseRootFromParent_Done,
34520 /* 97529 */ // Label 2097: @97529
34521 /* 97529 */ GIM_Try, /*On fail goto*//*Label 2098*/ GIMT_Encode4(97579), // Rule ID 3229 //
34522 /* 97534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34523 /* 97537 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
34524 /* 97542 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34525 /* 97545 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34526 /* 97548 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34527 /* 97551 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34528 /* 97555 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34529 /* 97559 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34530 /* 97563 */ // MIs[0] src3
34531 /* 97563 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34532 /* 97566 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15995:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPSrri:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3)
34533 /* 97566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSrri),
34534 /* 97569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34535 /* 97571 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34536 /* 97573 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34537 /* 97575 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34538 /* 97577 */ GIR_RootConstrainSelectedInstOperands,
34539 /* 97578 */ // GIR_Coverage, 3229,
34540 /* 97578 */ GIR_EraseRootFromParent_Done,
34541 /* 97579 */ // Label 2098: @97579
34542 /* 97579 */ GIM_Try, /*On fail goto*//*Label 2099*/ GIMT_Encode4(97629), // Rule ID 3231 //
34543 /* 97584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34544 /* 97587 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
34545 /* 97592 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34546 /* 97595 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
34547 /* 97598 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
34548 /* 97601 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34549 /* 97605 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34550 /* 97609 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34551 /* 97613 */ // MIs[0] src3
34552 /* 97613 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34553 /* 97616 */ // (intrinsic_wo_chain:{ *:[v2f64] } 15994:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPDrri:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3)
34554 /* 97616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPDrri),
34555 /* 97619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34556 /* 97621 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34557 /* 97623 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34558 /* 97625 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34559 /* 97627 */ GIR_RootConstrainSelectedInstOperands,
34560 /* 97628 */ // GIR_Coverage, 3231,
34561 /* 97628 */ GIR_EraseRootFromParent_Done,
34562 /* 97629 */ // Label 2099: @97629
34563 /* 97629 */ GIM_Try, /*On fail goto*//*Label 2100*/ GIMT_Encode4(97679), // Rule ID 3233 //
34564 /* 97634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
34565 /* 97637 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_dp_ps_256),
34566 /* 97642 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
34567 /* 97645 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
34568 /* 97648 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
34569 /* 97651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34570 /* 97655 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34571 /* 97659 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34572 /* 97663 */ // MIs[0] src3
34573 /* 97663 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34574 /* 97666 */ // (intrinsic_wo_chain:{ *:[v8f32] } 14605:{ *:[iPTR] }, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, (timm:{ *:[i8] }):$src3) => (VDPPSYrri:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, (timm:{ *:[i8] }):$src3)
34575 /* 97666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDPPSYrri),
34576 /* 97669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34577 /* 97671 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34578 /* 97673 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34579 /* 97675 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34580 /* 97677 */ GIR_RootConstrainSelectedInstOperands,
34581 /* 97678 */ // GIR_Coverage, 3233,
34582 /* 97678 */ GIR_EraseRootFromParent_Done,
34583 /* 97679 */ // Label 2100: @97679
34584 /* 97679 */ GIM_Try, /*On fail goto*//*Label 2101*/ GIMT_Encode4(97729), // Rule ID 3239 //
34585 /* 97684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
34586 /* 97687 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dpps),
34587 /* 97692 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34588 /* 97695 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34589 /* 97698 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34590 /* 97701 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34591 /* 97705 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34592 /* 97709 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34593 /* 97713 */ // MIs[0] src3
34594 /* 97713 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34595 /* 97716 */ // (intrinsic_wo_chain:{ *:[v4f32] } 15995:{ *:[iPTR] }, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3) => (DPPSrri:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, (timm:{ *:[i8] }):$src3)
34596 /* 97716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DPPSrri),
34597 /* 97719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34598 /* 97721 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34599 /* 97723 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34600 /* 97725 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34601 /* 97727 */ GIR_RootConstrainSelectedInstOperands,
34602 /* 97728 */ // GIR_Coverage, 3239,
34603 /* 97728 */ GIR_EraseRootFromParent_Done,
34604 /* 97729 */ // Label 2101: @97729
34605 /* 97729 */ GIM_Try, /*On fail goto*//*Label 2102*/ GIMT_Encode4(97779), // Rule ID 3241 //
34606 /* 97734 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
34607 /* 97737 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse41_dppd),
34608 /* 97742 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34609 /* 97745 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
34610 /* 97748 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
34611 /* 97751 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34612 /* 97755 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34613 /* 97759 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34614 /* 97763 */ // MIs[0] src3
34615 /* 97763 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34616 /* 97766 */ // (intrinsic_wo_chain:{ *:[v2f64] } 15994:{ *:[iPTR] }, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3) => (DPPDrri:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, (timm:{ *:[i8] }):$src3)
34617 /* 97766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DPPDrri),
34618 /* 97769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34619 /* 97771 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34620 /* 97773 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34621 /* 97775 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34622 /* 97777 */ GIR_RootConstrainSelectedInstOperands,
34623 /* 97778 */ // GIR_Coverage, 3241,
34624 /* 97778 */ GIR_EraseRootFromParent_Done,
34625 /* 97779 */ // Label 2102: @97779
34626 /* 97779 */ GIM_Try, /*On fail goto*//*Label 2103*/ GIMT_Encode4(97829), // Rule ID 3301 //
34627 /* 97784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
34628 /* 97787 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha1rnds4),
34629 /* 97792 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34630 /* 97795 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34631 /* 97798 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34632 /* 97801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34633 /* 97805 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34634 /* 97809 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34635 /* 97813 */ // MIs[0] src3
34636 /* 97813 */ GIM_CheckIsImm, /*MI*/0, /*Op*/4,
34637 /* 97816 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15881:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, (timm:{ *:[i8] }):$src3) => (SHA1RNDS4rri:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, (timm:{ *:[i8] }):$src3)
34638 /* 97816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA1RNDS4rri),
34639 /* 97819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34640 /* 97821 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34641 /* 97823 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34642 /* 97825 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34643 /* 97827 */ GIR_RootConstrainSelectedInstOperands,
34644 /* 97828 */ // GIR_Coverage, 3301,
34645 /* 97828 */ GIR_EraseRootFromParent_Done,
34646 /* 97829 */ // Label 2103: @97829
34647 /* 97829 */ GIM_Try, /*On fail goto*//*Label 2104*/ GIMT_Encode4(97883), // Rule ID 1595 //
34648 /* 97834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34649 /* 97837 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcswd),
34650 /* 97842 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34651 /* 97845 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34652 /* 97848 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34653 /* 97851 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34654 /* 97854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34655 /* 97858 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34656 /* 97862 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34657 /* 97866 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34658 /* 97870 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16214:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMADCSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
34659 /* 97870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSWDrr),
34660 /* 97873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34661 /* 97875 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34662 /* 97877 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34663 /* 97879 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34664 /* 97881 */ GIR_RootConstrainSelectedInstOperands,
34665 /* 97882 */ // GIR_Coverage, 1595,
34666 /* 97882 */ GIR_EraseRootFromParent_Done,
34667 /* 97883 */ // Label 2104: @97883
34668 /* 97883 */ GIM_Try, /*On fail goto*//*Label 2105*/ GIMT_Encode4(97937), // Rule ID 1597 //
34669 /* 97888 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34670 /* 97891 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmadcsswd),
34671 /* 97896 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34672 /* 97899 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34673 /* 97902 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34674 /* 97905 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34675 /* 97908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34676 /* 97912 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34677 /* 97916 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34678 /* 97920 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34679 /* 97924 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16213:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMADCSSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
34680 /* 97924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMADCSSWDrr),
34681 /* 97927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34682 /* 97929 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34683 /* 97931 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34684 /* 97933 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34685 /* 97935 */ GIR_RootConstrainSelectedInstOperands,
34686 /* 97936 */ // GIR_Coverage, 1597,
34687 /* 97936 */ GIR_EraseRootFromParent_Done,
34688 /* 97937 */ // Label 2105: @97937
34689 /* 97937 */ GIM_Try, /*On fail goto*//*Label 2106*/ GIMT_Encode4(97991), // Rule ID 1599 //
34690 /* 97942 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34691 /* 97945 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsww),
34692 /* 97950 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
34693 /* 97953 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34694 /* 97956 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34695 /* 97959 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
34696 /* 97962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34697 /* 97966 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34698 /* 97970 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34699 /* 97974 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34700 /* 97978 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16212:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3) => (VPMACSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
34701 /* 97978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWWrr),
34702 /* 97981 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34703 /* 97983 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34704 /* 97985 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34705 /* 97987 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34706 /* 97989 */ GIR_RootConstrainSelectedInstOperands,
34707 /* 97990 */ // GIR_Coverage, 1599,
34708 /* 97990 */ GIR_EraseRootFromParent_Done,
34709 /* 97991 */ // Label 2106: @97991
34710 /* 97991 */ GIM_Try, /*On fail goto*//*Label 2107*/ GIMT_Encode4(98045), // Rule ID 1601 //
34711 /* 97996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34712 /* 97999 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacswd),
34713 /* 98004 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34714 /* 98007 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34715 /* 98010 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34716 /* 98013 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34717 /* 98016 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34718 /* 98020 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34719 /* 98024 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34720 /* 98028 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34721 /* 98032 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16211:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
34722 /* 98032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSWDrr),
34723 /* 98035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34724 /* 98037 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34725 /* 98039 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34726 /* 98041 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34727 /* 98043 */ GIR_RootConstrainSelectedInstOperands,
34728 /* 98044 */ // GIR_Coverage, 1601,
34729 /* 98044 */ GIR_EraseRootFromParent_Done,
34730 /* 98045 */ // Label 2107: @98045
34731 /* 98045 */ GIM_Try, /*On fail goto*//*Label 2108*/ GIMT_Encode4(98099), // Rule ID 1603 //
34732 /* 98050 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34733 /* 98053 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssww),
34734 /* 98058 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
34735 /* 98061 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34736 /* 98064 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34737 /* 98067 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v8s16,
34738 /* 98070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34739 /* 98074 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34740 /* 98078 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34741 /* 98082 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34742 /* 98086 */ // (intrinsic_wo_chain:{ *:[v8i16] } 16210:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3) => (VPMACSSWWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v8i16] }:$src3)
34743 /* 98086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWWrr),
34744 /* 98089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34745 /* 98091 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34746 /* 98093 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34747 /* 98095 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34748 /* 98097 */ GIR_RootConstrainSelectedInstOperands,
34749 /* 98098 */ // GIR_Coverage, 1603,
34750 /* 98098 */ GIR_EraseRootFromParent_Done,
34751 /* 98099 */ // Label 2108: @98099
34752 /* 98099 */ GIM_Try, /*On fail goto*//*Label 2109*/ GIMT_Encode4(98153), // Rule ID 1605 //
34753 /* 98104 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34754 /* 98107 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsswd),
34755 /* 98112 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34756 /* 98115 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
34757 /* 98118 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
34758 /* 98121 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34759 /* 98124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34760 /* 98128 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34761 /* 98132 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34762 /* 98136 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34763 /* 98140 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16209:{ *:[iPTR] }, VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSSWDrr:{ *:[v4i32] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2, VR128:{ *:[v4i32] }:$src3)
34764 /* 98140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSWDrr),
34765 /* 98143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34766 /* 98145 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34767 /* 98147 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34768 /* 98149 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34769 /* 98151 */ GIR_RootConstrainSelectedInstOperands,
34770 /* 98152 */ // GIR_Coverage, 1605,
34771 /* 98152 */ GIR_EraseRootFromParent_Done,
34772 /* 98153 */ // Label 2109: @98153
34773 /* 98153 */ GIM_Try, /*On fail goto*//*Label 2110*/ GIMT_Encode4(98207), // Rule ID 1607 //
34774 /* 98158 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34775 /* 98161 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdql),
34776 /* 98166 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34777 /* 98169 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34778 /* 98172 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34779 /* 98175 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34780 /* 98178 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34781 /* 98182 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34782 /* 98186 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34783 /* 98190 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34784 /* 98194 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16208:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSSDQLrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
34785 /* 98194 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQLrr),
34786 /* 98197 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34787 /* 98199 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34788 /* 98201 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34789 /* 98203 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34790 /* 98205 */ GIR_RootConstrainSelectedInstOperands,
34791 /* 98206 */ // GIR_Coverage, 1607,
34792 /* 98206 */ GIR_EraseRootFromParent_Done,
34793 /* 98207 */ // Label 2110: @98207
34794 /* 98207 */ GIM_Try, /*On fail goto*//*Label 2111*/ GIMT_Encode4(98261), // Rule ID 1609 //
34795 /* 98212 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34796 /* 98215 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdqh),
34797 /* 98220 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34798 /* 98223 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34799 /* 98226 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34800 /* 98229 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34801 /* 98232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34802 /* 98236 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34803 /* 98240 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34804 /* 98244 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34805 /* 98248 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16207:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSSDQHrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
34806 /* 98248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDQHrr),
34807 /* 98251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34808 /* 98253 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34809 /* 98255 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34810 /* 98257 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34811 /* 98259 */ GIR_RootConstrainSelectedInstOperands,
34812 /* 98260 */ // GIR_Coverage, 1609,
34813 /* 98260 */ GIR_EraseRootFromParent_Done,
34814 /* 98261 */ // Label 2111: @98261
34815 /* 98261 */ GIM_Try, /*On fail goto*//*Label 2112*/ GIMT_Encode4(98315), // Rule ID 1611 //
34816 /* 98266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34817 /* 98269 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacssdd),
34818 /* 98274 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34819 /* 98277 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34820 /* 98280 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34821 /* 98283 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34822 /* 98286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34823 /* 98290 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34824 /* 98294 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34825 /* 98298 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34826 /* 98302 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16206:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
34827 /* 98302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSSDDrr),
34828 /* 98305 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34829 /* 98307 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34830 /* 98309 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34831 /* 98311 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34832 /* 98313 */ GIR_RootConstrainSelectedInstOperands,
34833 /* 98314 */ // GIR_Coverage, 1611,
34834 /* 98314 */ GIR_EraseRootFromParent_Done,
34835 /* 98315 */ // Label 2112: @98315
34836 /* 98315 */ GIM_Try, /*On fail goto*//*Label 2113*/ GIMT_Encode4(98369), // Rule ID 1613 //
34837 /* 98320 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34838 /* 98323 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdql),
34839 /* 98328 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34840 /* 98331 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34841 /* 98334 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34842 /* 98337 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34843 /* 98340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34844 /* 98344 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34845 /* 98348 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34846 /* 98352 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34847 /* 98356 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16205:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSDQLrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
34848 /* 98356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQLrr),
34849 /* 98359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34850 /* 98361 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34851 /* 98363 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34852 /* 98365 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34853 /* 98367 */ GIR_RootConstrainSelectedInstOperands,
34854 /* 98368 */ // GIR_Coverage, 1613,
34855 /* 98368 */ GIR_EraseRootFromParent_Done,
34856 /* 98369 */ // Label 2113: @98369
34857 /* 98369 */ GIM_Try, /*On fail goto*//*Label 2114*/ GIMT_Encode4(98423), // Rule ID 1615 //
34858 /* 98374 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34859 /* 98377 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdqh),
34860 /* 98382 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
34861 /* 98385 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34862 /* 98388 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34863 /* 98391 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34864 /* 98394 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34865 /* 98398 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34866 /* 98402 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34867 /* 98406 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34868 /* 98410 */ // (intrinsic_wo_chain:{ *:[v2i64] } 16204:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VPMACSDQHrr:{ *:[v2i64] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v2i64] }:$src3)
34869 /* 98410 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDQHrr),
34870 /* 98413 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34871 /* 98415 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34872 /* 98417 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34873 /* 98419 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34874 /* 98421 */ GIR_RootConstrainSelectedInstOperands,
34875 /* 98422 */ // GIR_Coverage, 1615,
34876 /* 98422 */ GIR_EraseRootFromParent_Done,
34877 /* 98423 */ // Label 2114: @98423
34878 /* 98423 */ GIM_Try, /*On fail goto*//*Label 2115*/ GIMT_Encode4(98477), // Rule ID 1617 //
34879 /* 98428 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
34880 /* 98431 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xop_vpmacsdd),
34881 /* 98436 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34882 /* 98439 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34883 /* 98442 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34884 /* 98445 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34885 /* 98448 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34886 /* 98452 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34887 /* 98456 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34888 /* 98460 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34889 /* 98464 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16203:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VPMACSDDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
34890 /* 98464 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMACSDDrr),
34891 /* 98467 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34892 /* 98469 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34893 /* 98471 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34894 /* 98473 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34895 /* 98475 */ GIR_RootConstrainSelectedInstOperands,
34896 /* 98476 */ // GIR_Coverage, 1617,
34897 /* 98476 */ GIR_EraseRootFromParent_Done,
34898 /* 98477 */ // Label 2115: @98477
34899 /* 98477 */ GIM_Try, /*On fail goto*//*Label 2116*/ GIMT_Encode4(98543), // Rule ID 3309 //
34900 /* 98482 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA),
34901 /* 98485 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sha256rnds2),
34902 /* 98490 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34903 /* 98493 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34904 /* 98496 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34905 /* 98499 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34906 /* 98502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34907 /* 98506 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34908 /* 98510 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34909 /* 98514 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34910 /* 98518 */ // (intrinsic_wo_chain:{ *:[v4i32] } 15884:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, XMM0:{ *:[v4i32] }) => (SHA256RNDS2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
34911 /* 98518 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
34912 /* 98522 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::XMM0), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
34913 /* 98528 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/4, // XMM0
34914 /* 98532 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHA256RNDS2rr),
34915 /* 98535 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34916 /* 98537 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34917 /* 98539 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34918 /* 98541 */ GIR_RootConstrainSelectedInstOperands,
34919 /* 98542 */ // GIR_Coverage, 3309,
34920 /* 98542 */ GIR_EraseRootFromParent_Done,
34921 /* 98543 */ // Label 2116: @98543
34922 /* 98543 */ GIM_Try, /*On fail goto*//*Label 2117*/ GIMT_Encode4(98597), // Rule ID 3533 //
34923 /* 98548 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSHA512),
34924 /* 98551 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsha512rnds2),
34925 /* 98556 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
34926 /* 98559 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
34927 /* 98562 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
34928 /* 98565 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v2s64,
34929 /* 98568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34930 /* 98572 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34931 /* 98576 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
34932 /* 98580 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34933 /* 98584 */ // (intrinsic_wo_chain:{ *:[v4i64] } 16153:{ *:[iPTR] }, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2, VR128:{ *:[v2i64] }:$src3) => (VSHA512RNDS2rr:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2, VR128:{ *:[v2i64] }:$src3)
34934 /* 98584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSHA512RNDS2rr),
34935 /* 98587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34936 /* 98589 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34937 /* 98591 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34938 /* 98593 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34939 /* 98595 */ GIR_RootConstrainSelectedInstOperands,
34940 /* 98596 */ // GIR_Coverage, 3533,
34941 /* 98596 */ GIR_EraseRootFromParent_Done,
34942 /* 98597 */ // Label 2117: @98597
34943 /* 98597 */ GIM_Try, /*On fail goto*//*Label 2118*/ GIMT_Encode4(98651), // Rule ID 3534 //
34944 /* 98602 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
34945 /* 98605 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg1),
34946 /* 98610 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34947 /* 98613 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34948 /* 98616 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34949 /* 98619 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34950 /* 98622 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34951 /* 98626 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34952 /* 98630 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34953 /* 98634 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34954 /* 98638 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16154:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VSM3MSG1rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
34955 /* 98638 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG1rr),
34956 /* 98641 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34957 /* 98643 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34958 /* 98645 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34959 /* 98647 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34960 /* 98649 */ GIR_RootConstrainSelectedInstOperands,
34961 /* 98650 */ // GIR_Coverage, 3534,
34962 /* 98650 */ GIR_EraseRootFromParent_Done,
34963 /* 98651 */ // Label 2118: @98651
34964 /* 98651 */ GIM_Try, /*On fail goto*//*Label 2119*/ GIMT_Encode4(98705), // Rule ID 3536 //
34965 /* 98656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
34966 /* 98659 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3msg2),
34967 /* 98664 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34968 /* 98667 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34969 /* 98670 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34970 /* 98673 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34971 /* 98676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34972 /* 98680 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34973 /* 98684 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34974 /* 98688 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34975 /* 98692 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16155:{ *:[iPTR] }, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3) => (VSM3MSG2rr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2, VR128:{ *:[v4i32] }:$src3)
34976 /* 98692 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3MSG2rr),
34977 /* 98695 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
34978 /* 98697 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
34979 /* 98699 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
34980 /* 98701 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
34981 /* 98703 */ GIR_RootConstrainSelectedInstOperands,
34982 /* 98704 */ // GIR_Coverage, 3536,
34983 /* 98704 */ GIR_EraseRootFromParent_Done,
34984 /* 98705 */ // Label 2119: @98705
34985 /* 98705 */ GIM_Reject,
34986 /* 98706 */ // Label 2065: @98706
34987 /* 98706 */ GIM_Try, /*On fail goto*//*Label 2120*/ GIMT_Encode4(98835),
34988 /* 98711 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/6,
34989 /* 98714 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vsm3rnds2),
34990 /* 98719 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
34991 /* 98722 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
34992 /* 98725 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
34993 /* 98728 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_v4s32,
34994 /* 98731 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34995 /* 98735 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34996 /* 98739 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
34997 /* 98743 */ GIM_Try, /*On fail goto*//*Label 2121*/ GIMT_Encode4(98804), // Rule ID 3539 //
34998 /* 98748 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
34999 /* 98751 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/4, // MIs[1]
35000 /* 98755 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35001 /* 98759 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35002 /* 98762 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
35003 /* 98766 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35004 /* 98770 */ // MIs[0] src4
35005 /* 98770 */ GIM_CheckIsImm, /*MI*/0, /*Op*/5,
35006 /* 98773 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35007 /* 98775 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35008 /* 98782 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16156:{ *:[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)
35009 /* 98782 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3RNDS2rmi),
35010 /* 98785 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35011 /* 98787 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35012 /* 98789 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35013 /* 98791 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
35014 /* 98795 */ GIR_RootToRootCopy, /*OpIdx*/5, // src4
35015 /* 98797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35016 /* 98802 */ GIR_RootConstrainSelectedInstOperands,
35017 /* 98803 */ // GIR_Coverage, 3539,
35018 /* 98803 */ GIR_EraseRootFromParent_Done,
35019 /* 98804 */ // Label 2121: @98804
35020 /* 98804 */ GIM_Try, /*On fail goto*//*Label 2122*/ GIMT_Encode4(98834), // Rule ID 3538 //
35021 /* 98809 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSM3),
35022 /* 98812 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
35023 /* 98816 */ // MIs[0] src4
35024 /* 98816 */ GIM_CheckIsImm, /*MI*/0, /*Op*/5,
35025 /* 98819 */ // (intrinsic_wo_chain:{ *:[v4i32] } 16156:{ *:[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)
35026 /* 98819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSM3RNDS2rri),
35027 /* 98822 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35028 /* 98824 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
35029 /* 98826 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
35030 /* 98828 */ GIR_RootToRootCopy, /*OpIdx*/4, // src3
35031 /* 98830 */ GIR_RootToRootCopy, /*OpIdx*/5, // src4
35032 /* 98832 */ GIR_RootConstrainSelectedInstOperands,
35033 /* 98833 */ // GIR_Coverage, 3538,
35034 /* 98833 */ GIR_EraseRootFromParent_Done,
35035 /* 98834 */ // Label 2122: @98834
35036 /* 98834 */ GIM_Reject,
35037 /* 98835 */ // Label 2120: @98835
35038 /* 98835 */ GIM_Reject,
35039 /* 98836 */ // Label 19: @98836
35040 /* 98836 */ GIM_Try, /*On fail goto*//*Label 2123*/ GIMT_Encode4(99395),
35041 /* 98841 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/1,
35042 /* 98844 */ GIM_Try, /*On fail goto*//*Label 2124*/ GIMT_Encode4(98866), // Rule ID 149 //
35043 /* 98849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSERIALIZE),
35044 /* 98852 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_serialize),
35045 /* 98857 */ // (intrinsic_void 15876:{ *:[iPTR] }) => (SERIALIZE)
35046 /* 98857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SERIALIZE),
35047 /* 98860 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35048 /* 98864 */ GIR_RootConstrainSelectedInstOperands,
35049 /* 98865 */ // GIR_Coverage, 149,
35050 /* 98865 */ GIR_EraseRootFromParent_Done,
35051 /* 98866 */ // Label 2124: @98866
35052 /* 98866 */ GIM_Try, /*On fail goto*//*Label 2125*/ GIMT_Encode4(98888), // Rule ID 150 //
35053 /* 98871 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTSXLDTRK),
35054 /* 98874 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsusldtrk),
35055 /* 98879 */ // (intrinsic_void 16238:{ *:[iPTR] }) => (XSUSLDTRK)
35056 /* 98879 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSUSLDTRK),
35057 /* 98882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35058 /* 98886 */ GIR_RootConstrainSelectedInstOperands,
35059 /* 98887 */ // GIR_Coverage, 150,
35060 /* 98887 */ GIR_EraseRootFromParent_Done,
35061 /* 98888 */ // Label 2125: @98888
35062 /* 98888 */ GIM_Try, /*On fail goto*//*Label 2126*/ GIMT_Encode4(98910), // Rule ID 151 //
35063 /* 98893 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasTSXLDTRK),
35064 /* 98896 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xresldtrk),
35065 /* 98901 */ // (intrinsic_void 16224:{ *:[iPTR] }) => (XRESLDTRK)
35066 /* 98901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRESLDTRK),
35067 /* 98904 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35068 /* 98908 */ GIR_RootConstrainSelectedInstOperands,
35069 /* 98909 */ // GIR_Coverage, 151,
35070 /* 98909 */ GIR_EraseRootFromParent_Done,
35071 /* 98910 */ // Label 2126: @98910
35072 /* 98910 */ GIM_Try, /*On fail goto*//*Label 2127*/ GIMT_Encode4(98932), // Rule ID 152 //
35073 /* 98915 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUINTR_In64BitMode),
35074 /* 98918 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clui),
35075 /* 98923 */ // (intrinsic_void 15734:{ *:[iPTR] }) => (CLUI)
35076 /* 98923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLUI),
35077 /* 98926 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35078 /* 98930 */ GIR_RootConstrainSelectedInstOperands,
35079 /* 98931 */ // GIR_Coverage, 152,
35080 /* 98931 */ GIR_EraseRootFromParent_Done,
35081 /* 98932 */ // Label 2127: @98932
35082 /* 98932 */ GIM_Try, /*On fail goto*//*Label 2128*/ GIMT_Encode4(98954), // Rule ID 153 //
35083 /* 98937 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUINTR_In64BitMode),
35084 /* 98940 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_stui),
35085 /* 98945 */ // (intrinsic_void 16058:{ *:[iPTR] }) => (STUI)
35086 /* 98945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STUI),
35087 /* 98948 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35088 /* 98952 */ GIR_RootConstrainSelectedInstOperands,
35089 /* 98953 */ // GIR_Coverage, 153,
35090 /* 98953 */ GIR_EraseRootFromParent_Done,
35091 /* 98954 */ // Label 2128: @98954
35092 /* 98954 */ GIM_Try, /*On fail goto*//*Label 2129*/ GIMT_Encode4(98973), // Rule ID 2486 //
35093 /* 98959 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_pause),
35094 /* 98964 */ // (intrinsic_void 15953:{ *:[iPTR] }) => (PAUSE)
35095 /* 98964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PAUSE),
35096 /* 98967 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35097 /* 98971 */ GIR_RootConstrainSelectedInstOperands,
35098 /* 98972 */ // GIR_Coverage, 2486,
35099 /* 98972 */ GIR_EraseRootFromParent_Done,
35100 /* 98973 */ // Label 2129: @98973
35101 /* 98973 */ GIM_Try, /*On fail goto*//*Label 2130*/ GIMT_Encode4(98995), // Rule ID 2487 //
35102 /* 98978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE1),
35103 /* 98981 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_sfence),
35104 /* 98986 */ // (intrinsic_void 15915:{ *:[iPTR] }) => (SFENCE)
35105 /* 98986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SFENCE),
35106 /* 98989 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35107 /* 98993 */ GIR_RootConstrainSelectedInstOperands,
35108 /* 98994 */ // GIR_Coverage, 2487,
35109 /* 98994 */ GIR_EraseRootFromParent_Done,
35110 /* 98995 */ // Label 2130: @98995
35111 /* 98995 */ GIM_Try, /*On fail goto*//*Label 2131*/ GIMT_Encode4(99017), // Rule ID 2488 //
35112 /* 99000 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE2),
35113 /* 99003 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_lfence),
35114 /* 99008 */ // (intrinsic_void 15942:{ *:[iPTR] }) => (LFENCE)
35115 /* 99008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LFENCE),
35116 /* 99011 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35117 /* 99015 */ GIR_RootConstrainSelectedInstOperands,
35118 /* 99016 */ // GIR_Coverage, 2488,
35119 /* 99016 */ GIR_EraseRootFromParent_Done,
35120 /* 99017 */ // Label 2131: @99017
35121 /* 99017 */ GIM_Try, /*On fail goto*//*Label 2132*/ GIMT_Encode4(99039), // Rule ID 2489 //
35122 /* 99022 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMFence),
35123 /* 99025 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_mfence),
35124 /* 99030 */ // (intrinsic_void 15946:{ *:[iPTR] }) => (MFENCE)
35125 /* 99030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MFENCE),
35126 /* 99033 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35127 /* 99037 */ GIR_RootConstrainSelectedInstOperands,
35128 /* 99038 */ // GIR_Coverage, 2489,
35129 /* 99038 */ GIR_EraseRootFromParent_Done,
35130 /* 99039 */ // Label 2132: @99039
35131 /* 99039 */ GIM_Try, /*On fail goto*//*Label 2133*/ GIMT_Encode4(99105), // Rule ID 3403 //
35132 /* 99044 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
35133 /* 99047 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_vzeroall),
35134 /* 99052 */ // (intrinsic_void 14648:{ *:[iPTR] }) => (VZEROALL)
35135 /* 99052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VZEROALL),
35136 /* 99055 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM0*/0,
35137 /* 99058 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM1*/1,
35138 /* 99061 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM2*/2,
35139 /* 99064 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM3*/3,
35140 /* 99067 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM4*/4,
35141 /* 99070 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM5*/5,
35142 /* 99073 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM6*/6,
35143 /* 99076 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM7*/7,
35144 /* 99079 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM8*/8,
35145 /* 99082 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM9*/9,
35146 /* 99085 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM10*/10,
35147 /* 99088 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM11*/11,
35148 /* 99091 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM12*/12,
35149 /* 99094 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM13*/13,
35150 /* 99097 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM14*/14,
35151 /* 99100 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM15*/15,
35152 /* 99103 */ GIR_RootConstrainSelectedInstOperands,
35153 /* 99104 */ // GIR_Coverage, 3403,
35154 /* 99104 */ GIR_EraseRootFromParent_Done,
35155 /* 99105 */ // Label 2133: @99105
35156 /* 99105 */ GIM_Try, /*On fail goto*//*Label 2134*/ GIMT_Encode4(99171), // Rule ID 3404 //
35157 /* 99110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
35158 /* 99113 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_vzeroupper),
35159 /* 99118 */ // (intrinsic_void 14649:{ *:[iPTR] }) => (VZEROUPPER)
35160 /* 99118 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VZEROUPPER),
35161 /* 99121 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM0*/0,
35162 /* 99124 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM1*/1,
35163 /* 99127 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM2*/2,
35164 /* 99130 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM3*/3,
35165 /* 99133 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM4*/4,
35166 /* 99136 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM5*/5,
35167 /* 99139 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM6*/6,
35168 /* 99142 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM7*/7,
35169 /* 99145 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM8*/8,
35170 /* 99148 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM9*/9,
35171 /* 99151 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM10*/10,
35172 /* 99154 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM11*/11,
35173 /* 99157 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM12*/12,
35174 /* 99160 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM13*/13,
35175 /* 99163 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM14*/14,
35176 /* 99166 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::YMM15*/15,
35177 /* 99169 */ GIR_RootConstrainSelectedInstOperands,
35178 /* 99170 */ // GIR_Coverage, 3404,
35179 /* 99170 */ GIR_EraseRootFromParent_Done,
35180 /* 99171 */ // Label 2134: @99171
35181 /* 99171 */ GIM_Try, /*On fail goto*//*Label 2135*/ GIMT_Encode4(99241), // Rule ID 16782 //
35182 /* 99176 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMMX),
35183 /* 99179 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_mmx_emms),
35184 /* 99184 */ // (intrinsic_void 15769:{ *:[iPTR] }) => (MMX_EMMS:{ *:[x86mmx] })
35185 /* 99184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MMX_EMMS),
35186 /* 99187 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM0*/0,
35187 /* 99190 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM1*/1,
35188 /* 99193 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM2*/2,
35189 /* 99196 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM3*/3,
35190 /* 99199 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM4*/4,
35191 /* 99202 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM5*/5,
35192 /* 99205 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM6*/6,
35193 /* 99208 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MM7*/7,
35194 /* 99211 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST0*/8,
35195 /* 99214 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST1*/9,
35196 /* 99217 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST2*/10,
35197 /* 99220 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST3*/11,
35198 /* 99223 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST4*/12,
35199 /* 99226 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST5*/13,
35200 /* 99229 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST6*/14,
35201 /* 99232 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ST7*/15,
35202 /* 99235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35203 /* 99239 */ GIR_RootConstrainSelectedInstOperands,
35204 /* 99240 */ // GIR_Coverage, 16782,
35205 /* 99240 */ GIR_EraseRootFromParent_Done,
35206 /* 99241 */ // Label 2135: @99241
35207 /* 99241 */ GIM_Try, /*On fail goto*//*Label 2136*/ GIMT_Encode4(99263), // Rule ID 16965 //
35208 /* 99246 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRTM),
35209 /* 99249 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xend),
35210 /* 99254 */ // (intrinsic_void 16176:{ *:[iPTR] }) => (XEND)
35211 /* 99254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XEND),
35212 /* 99257 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35213 /* 99261 */ GIR_RootConstrainSelectedInstOperands,
35214 /* 99262 */ // GIR_Coverage, 16965,
35215 /* 99262 */ GIR_EraseRootFromParent_Done,
35216 /* 99263 */ // Label 2136: @99263
35217 /* 99263 */ GIM_Try, /*On fail goto*//*Label 2137*/ GIMT_Encode4(99309), // Rule ID 16977 //
35218 /* 99268 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode),
35219 /* 99271 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tilerelease),
35220 /* 99276 */ // (intrinsic_void 16114:{ *:[iPTR] }) => (TILERELEASE:{ *:[x86amx] })
35221 /* 99276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TILERELEASE),
35222 /* 99279 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
35223 /* 99282 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
35224 /* 99285 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
35225 /* 99288 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
35226 /* 99291 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
35227 /* 99294 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
35228 /* 99297 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
35229 /* 99300 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
35230 /* 99303 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35231 /* 99307 */ GIR_RootConstrainSelectedInstOperands,
35232 /* 99308 */ // GIR_Coverage, 16977,
35233 /* 99308 */ GIR_EraseRootFromParent_Done,
35234 /* 99309 */ // Label 2137: @99309
35235 /* 99309 */ GIM_Try, /*On fail goto*//*Label 2138*/ GIMT_Encode4(99328), // Rule ID 17050 //
35236 /* 99314 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wbinvd),
35237 /* 99319 */ // (intrinsic_void 16163:{ *:[iPTR] }) => (WBINVD)
35238 /* 99319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WBINVD),
35239 /* 99322 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35240 /* 99326 */ GIR_RootConstrainSelectedInstOperands,
35241 /* 99327 */ // GIR_Coverage, 17050,
35242 /* 99327 */ GIR_EraseRootFromParent_Done,
35243 /* 99328 */ // Label 2138: @99328
35244 /* 99328 */ GIM_Try, /*On fail goto*//*Label 2139*/ GIMT_Encode4(99350), // Rule ID 17051 //
35245 /* 99333 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasWBNOINVD),
35246 /* 99336 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wbnoinvd),
35247 /* 99341 */ // (intrinsic_void 16164:{ *:[iPTR] }) => (WBNOINVD)
35248 /* 99341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WBNOINVD),
35249 /* 99344 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35250 /* 99348 */ GIR_RootConstrainSelectedInstOperands,
35251 /* 99349 */ // GIR_Coverage, 17051,
35252 /* 99349 */ GIR_EraseRootFromParent_Done,
35253 /* 99350 */ // Label 2139: @99350
35254 /* 99350 */ GIM_Try, /*On fail goto*//*Label 2140*/ GIMT_Encode4(99372), // Rule ID 17056 //
35255 /* 99355 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_saveprevssp),
35256 /* 99360 */ // (intrinsic_void 15871:{ *:[iPTR] }) => (SAVEPREVSSP)
35257 /* 99360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAVEPREVSSP),
35258 /* 99363 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
35259 /* 99366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35260 /* 99370 */ GIR_RootConstrainSelectedInstOperands,
35261 /* 99371 */ // GIR_Coverage, 17056,
35262 /* 99371 */ GIR_EraseRootFromParent_Done,
35263 /* 99372 */ // Label 2140: @99372
35264 /* 99372 */ GIM_Try, /*On fail goto*//*Label 2141*/ GIMT_Encode4(99394), // Rule ID 17066 //
35265 /* 99377 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_setssbsy),
35266 /* 99382 */ // (intrinsic_void 15877:{ *:[iPTR] }) => (SETSSBSY)
35267 /* 99382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SETSSBSY),
35268 /* 99385 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
35269 /* 99388 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35270 /* 99392 */ GIR_RootConstrainSelectedInstOperands,
35271 /* 99393 */ // GIR_Coverage, 17066,
35272 /* 99393 */ GIR_EraseRootFromParent_Done,
35273 /* 99394 */ // Label 2141: @99394
35274 /* 99394 */ GIM_Reject,
35275 /* 99395 */ // Label 2123: @99395
35276 /* 99395 */ GIM_Try, /*On fail goto*//*Label 2142*/ GIMT_Encode4(101283),
35277 /* 99400 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/2,
35278 /* 99403 */ GIM_Try, /*On fail goto*//*Label 2143*/ GIMT_Encode4(99461), // Rule ID 17094 //
35279 /* 99408 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPTWRITE_In64BitMode),
35280 /* 99411 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite64),
35281 /* 99416 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35282 /* 99419 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
35283 /* 99423 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35284 /* 99427 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35285 /* 99430 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
35286 /* 99434 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35287 /* 99438 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35288 /* 99440 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35289 /* 99447 */ // (intrinsic_void 15851:{ *:[iPTR] }, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (PTWRITE64m addr:{ *:[iPTR] }:$dst)
35290 /* 99447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITE64m),
35291 /* 99450 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35292 /* 99454 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35293 /* 99459 */ GIR_RootConstrainSelectedInstOperands,
35294 /* 99460 */ // GIR_Coverage, 17094,
35295 /* 99460 */ GIR_EraseRootFromParent_Done,
35296 /* 99461 */ // Label 2143: @99461
35297 /* 99461 */ GIM_Try, /*On fail goto*//*Label 2144*/ GIMT_Encode4(99519), // Rule ID 17093 //
35298 /* 99466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPTWRITE),
35299 /* 99469 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite32),
35300 /* 99474 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35301 /* 99477 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
35302 /* 99481 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
35303 /* 99485 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
35304 /* 99488 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
35305 /* 99492 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
35306 /* 99496 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
35307 /* 99498 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35308 /* 99505 */ // (intrinsic_void 15850:{ *:[iPTR] }, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (PTWRITEm addr:{ *:[iPTR] }:$dst)
35309 /* 99505 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITEm),
35310 /* 99508 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35311 /* 99512 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
35312 /* 99517 */ GIR_RootConstrainSelectedInstOperands,
35313 /* 99518 */ // GIR_Coverage, 17093,
35314 /* 99518 */ GIR_EraseRootFromParent_Done,
35315 /* 99519 */ // Label 2144: @99519
35316 /* 99519 */ GIM_Try, /*On fail goto*//*Label 2145*/ GIMT_Encode4(99556), // Rule ID 162 //
35317 /* 99524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCLFLUSHOPT),
35318 /* 99527 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clflushopt),
35319 /* 99532 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35320 /* 99536 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35321 /* 99543 */ // (intrinsic_void 15732:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLFLUSHOPT addr:{ *:[iPTR] }:$src)
35322 /* 99543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLFLUSHOPT),
35323 /* 99546 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35324 /* 99550 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35325 /* 99554 */ GIR_RootConstrainSelectedInstOperands,
35326 /* 99555 */ // GIR_Coverage, 162,
35327 /* 99555 */ GIR_EraseRootFromParent_Done,
35328 /* 99556 */ // Label 2145: @99556
35329 /* 99556 */ GIM_Try, /*On fail goto*//*Label 2146*/ GIMT_Encode4(99593), // Rule ID 163 //
35330 /* 99561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCLWB),
35331 /* 99564 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clwb),
35332 /* 99569 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35333 /* 99573 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35334 /* 99580 */ // (intrinsic_void 15735:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLWB addr:{ *:[iPTR] }:$src)
35335 /* 99580 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLWB),
35336 /* 99583 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35337 /* 99587 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35338 /* 99591 */ GIR_RootConstrainSelectedInstOperands,
35339 /* 99592 */ // GIR_Coverage, 163,
35340 /* 99592 */ GIR_EraseRootFromParent_Done,
35341 /* 99593 */ // Label 2146: @99593
35342 /* 99593 */ GIM_Try, /*On fail goto*//*Label 2147*/ GIMT_Encode4(99630), // Rule ID 164 //
35343 /* 99598 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCLDEMOTE),
35344 /* 99601 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_cldemote),
35345 /* 99606 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35346 /* 99610 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35347 /* 99617 */ // (intrinsic_void 15731:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLDEMOTE addr:{ *:[iPTR] }:$src)
35348 /* 99617 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLDEMOTE),
35349 /* 99620 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35350 /* 99624 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35351 /* 99628 */ GIR_RootConstrainSelectedInstOperands,
35352 /* 99629 */ // GIR_Coverage, 164,
35353 /* 99629 */ GIR_EraseRootFromParent_Done,
35354 /* 99630 */ // Label 2147: @99630
35355 /* 99630 */ GIM_Try, /*On fail goto*//*Label 2148*/ GIMT_Encode4(99667), // Rule ID 169 //
35356 /* 99635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS),
35357 /* 99638 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_prefetchrs),
35358 /* 99643 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35359 /* 99647 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35360 /* 99654 */ // (intrinsic_void 15849:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (PREFETCHRST2 addr:{ *:[iPTR] }:$src)
35361 /* 99654 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PREFETCHRST2),
35362 /* 99657 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35363 /* 99661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35364 /* 99665 */ GIR_RootConstrainSelectedInstOperands,
35365 /* 99666 */ // GIR_Coverage, 169,
35366 /* 99666 */ GIR_EraseRootFromParent_Done,
35367 /* 99667 */ // Label 2148: @99667
35368 /* 99667 */ GIM_Try, /*On fail goto*//*Label 2149*/ GIMT_Encode4(99704), // Rule ID 1109 //
35369 /* 99672 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFXSR),
35370 /* 99675 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxsave),
35371 /* 99680 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35372 /* 99684 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35373 /* 99691 */ // (intrinsic_void 15755:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (FXSAVE addr:{ *:[iPTR] }:$dst)
35374 /* 99691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXSAVE),
35375 /* 99694 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35376 /* 99698 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35377 /* 99702 */ GIR_RootConstrainSelectedInstOperands,
35378 /* 99703 */ // GIR_Coverage, 1109,
35379 /* 99703 */ GIR_EraseRootFromParent_Done,
35380 /* 99704 */ // Label 2149: @99704
35381 /* 99704 */ GIM_Try, /*On fail goto*//*Label 2150*/ GIMT_Encode4(99741), // Rule ID 1110 //
35382 /* 99709 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFXSR_In64BitMode),
35383 /* 99712 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxsave64),
35384 /* 99717 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35385 /* 99721 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35386 /* 99728 */ // (intrinsic_void 15756:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (FXSAVE64 addr:{ *:[iPTR] }:$dst)
35387 /* 99728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXSAVE64),
35388 /* 99731 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35389 /* 99735 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35390 /* 99739 */ GIR_RootConstrainSelectedInstOperands,
35391 /* 99740 */ // GIR_Coverage, 1110,
35392 /* 99740 */ GIR_EraseRootFromParent_Done,
35393 /* 99741 */ // Label 2150: @99741
35394 /* 99741 */ GIM_Try, /*On fail goto*//*Label 2151*/ GIMT_Encode4(99784), // Rule ID 1111 //
35395 /* 99746 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFXSR),
35396 /* 99749 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxrstor),
35397 /* 99754 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35398 /* 99758 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35399 /* 99765 */ // (intrinsic_void 15753:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (FXRSTOR:{ *:[i16] } addr:{ *:[iPTR] }:$src)
35400 /* 99765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXRSTOR),
35401 /* 99768 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35402 /* 99772 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
35403 /* 99775 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPCW*/1,
35404 /* 99778 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35405 /* 99782 */ GIR_RootConstrainSelectedInstOperands,
35406 /* 99783 */ // GIR_Coverage, 1111,
35407 /* 99783 */ GIR_EraseRootFromParent_Done,
35408 /* 99784 */ // Label 2151: @99784
35409 /* 99784 */ GIM_Try, /*On fail goto*//*Label 2152*/ GIMT_Encode4(99827), // Rule ID 1112 //
35410 /* 99789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFXSR_In64BitMode),
35411 /* 99792 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_fxrstor64),
35412 /* 99797 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35413 /* 99801 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35414 /* 99808 */ // (intrinsic_void 15754:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (FXRSTOR64:{ *:[i16] } addr:{ *:[iPTR] }:$src)
35415 /* 99808 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FXRSTOR64),
35416 /* 99811 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35417 /* 99815 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
35418 /* 99818 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPCW*/1,
35419 /* 99821 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35420 /* 99825 */ GIR_RootConstrainSelectedInstOperands,
35421 /* 99826 */ // GIR_Coverage, 1112,
35422 /* 99826 */ GIR_EraseRootFromParent_Done,
35423 /* 99827 */ // Label 2152: @99827
35424 /* 99827 */ GIM_Try, /*On fail goto*//*Label 2153*/ GIMT_Encode4(99864), // Rule ID 2485 //
35425 /* 99832 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCLFLUSH),
35426 /* 99835 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_clflush),
35427 /* 99840 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35428 /* 99844 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35429 /* 99851 */ // (intrinsic_void 15923:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLFLUSH addr:{ *:[iPTR] }:$src)
35430 /* 99851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLFLUSH),
35431 /* 99854 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35432 /* 99858 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35433 /* 99862 */ GIR_RootConstrainSelectedInstOperands,
35434 /* 99863 */ // GIR_Coverage, 2485,
35435 /* 99863 */ GIR_EraseRootFromParent_Done,
35436 /* 99864 */ // Label 2153: @99864
35437 /* 99864 */ GIM_Try, /*On fail goto*//*Label 2154*/ GIMT_Encode4(99904), // Rule ID 2490 //
35438 /* 99869 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
35439 /* 99872 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_ldmxcsr),
35440 /* 99877 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35441 /* 99881 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35442 /* 99888 */ // (intrinsic_void 15904:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDMXCSR addr:{ *:[iPTR] }:$src)
35443 /* 99888 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDMXCSR),
35444 /* 99891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35445 /* 99895 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MXCSR*/0,
35446 /* 99898 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35447 /* 99902 */ GIR_RootConstrainSelectedInstOperands,
35448 /* 99903 */ // GIR_Coverage, 2490,
35449 /* 99903 */ GIR_EraseRootFromParent_Done,
35450 /* 99904 */ // Label 2154: @99904
35451 /* 99904 */ GIM_Try, /*On fail goto*//*Label 2155*/ GIMT_Encode4(99941), // Rule ID 2491 //
35452 /* 99909 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
35453 /* 99912 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_stmxcsr),
35454 /* 99917 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35455 /* 99921 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35456 /* 99928 */ // (intrinsic_void 15916:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (VSTMXCSR addr:{ *:[iPTR] }:$dst)
35457 /* 99928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSTMXCSR),
35458 /* 99931 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35459 /* 99935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35460 /* 99939 */ GIR_RootConstrainSelectedInstOperands,
35461 /* 99940 */ // GIR_Coverage, 2491,
35462 /* 99940 */ GIR_EraseRootFromParent_Done,
35463 /* 99941 */ // Label 2155: @99941
35464 /* 99941 */ GIM_Try, /*On fail goto*//*Label 2156*/ GIMT_Encode4(99978), // Rule ID 2492 //
35465 /* 99946 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_ldmxcsr),
35466 /* 99951 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35467 /* 99955 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35468 /* 99962 */ // (intrinsic_void 15904:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDMXCSR addr:{ *:[iPTR] }:$src)
35469 /* 99962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDMXCSR),
35470 /* 99965 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35471 /* 99969 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::MXCSR*/0,
35472 /* 99972 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35473 /* 99976 */ GIR_RootConstrainSelectedInstOperands,
35474 /* 99977 */ // GIR_Coverage, 2492,
35475 /* 99977 */ GIR_EraseRootFromParent_Done,
35476 /* 99978 */ // Label 2156: @99978
35477 /* 99978 */ GIM_Try, /*On fail goto*//*Label 2157*/ GIMT_Encode4(100012), // Rule ID 2493 //
35478 /* 99983 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse_stmxcsr),
35479 /* 99988 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35480 /* 99992 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35481 /* 99999 */ // (intrinsic_void 15916:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst) => (STMXCSR addr:{ *:[iPTR] }:$dst)
35482 /* 99999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STMXCSR),
35483 /* 100002 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
35484 /* 100006 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35485 /* 100010 */ GIR_RootConstrainSelectedInstOperands,
35486 /* 100011 */ // GIR_Coverage, 2493,
35487 /* 100011 */ GIR_EraseRootFromParent_Done,
35488 /* 100012 */ // Label 2157: @100012
35489 /* 100012 */ GIM_Try, /*On fail goto*//*Label 2158*/ GIMT_Encode4(100073), // Rule ID 16973 //
35490 /* 100017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode_NoEGPR),
35491 /* 100020 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ldtilecfg),
35492 /* 100025 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35493 /* 100029 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35494 /* 100036 */ // (intrinsic_void 15761:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDTILECFG:{ *:[x86amx] } addr:{ *:[iPTR] }:$src)
35495 /* 100036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDTILECFG),
35496 /* 100039 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35497 /* 100043 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
35498 /* 100046 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
35499 /* 100049 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
35500 /* 100052 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
35501 /* 100055 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
35502 /* 100058 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
35503 /* 100061 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
35504 /* 100064 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
35505 /* 100067 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35506 /* 100071 */ GIR_RootConstrainSelectedInstOperands,
35507 /* 100072 */ // GIR_Coverage, 16973,
35508 /* 100072 */ GIR_EraseRootFromParent_Done,
35509 /* 100073 */ // Label 2158: @100073
35510 /* 100073 */ GIM_Try, /*On fail goto*//*Label 2159*/ GIMT_Encode4(100110), // Rule ID 16974 //
35511 /* 100078 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode_NoEGPR),
35512 /* 100081 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sttilecfg),
35513 /* 100086 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35514 /* 100090 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35515 /* 100097 */ // (intrinsic_void 16057:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (STTILECFG addr:{ *:[iPTR] }:$src)
35516 /* 100097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STTILECFG),
35517 /* 100100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35518 /* 100104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35519 /* 100108 */ GIR_RootConstrainSelectedInstOperands,
35520 /* 100109 */ // GIR_Coverage, 16974,
35521 /* 100109 */ GIR_EraseRootFromParent_Done,
35522 /* 100110 */ // Label 2159: @100110
35523 /* 100110 */ GIM_Try, /*On fail goto*//*Label 2160*/ GIMT_Encode4(100171), // Rule ID 16975 //
35524 /* 100115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_HasEGPR_In64BitMode),
35525 /* 100118 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ldtilecfg),
35526 /* 100123 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35527 /* 100127 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35528 /* 100134 */ // (intrinsic_void 15761:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDTILECFG_EVEX:{ *:[x86amx] } addr:{ *:[iPTR] }:$src)
35529 /* 100134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDTILECFG_EVEX),
35530 /* 100137 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35531 /* 100141 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM0*/0,
35532 /* 100144 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM1*/1,
35533 /* 100147 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM2*/2,
35534 /* 100150 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM3*/3,
35535 /* 100153 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM4*/4,
35536 /* 100156 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM5*/5,
35537 /* 100159 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM6*/6,
35538 /* 100162 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::TMM7*/7,
35539 /* 100165 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35540 /* 100169 */ GIR_RootConstrainSelectedInstOperands,
35541 /* 100170 */ // GIR_Coverage, 16975,
35542 /* 100170 */ GIR_EraseRootFromParent_Done,
35543 /* 100171 */ // Label 2160: @100171
35544 /* 100171 */ GIM_Try, /*On fail goto*//*Label 2161*/ GIMT_Encode4(100208), // Rule ID 16976 //
35545 /* 100176 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_HasEGPR_In64BitMode),
35546 /* 100179 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sttilecfg),
35547 /* 100184 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35548 /* 100188 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35549 /* 100195 */ // (intrinsic_void 16057:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (STTILECFG_EVEX addr:{ *:[iPTR] }:$src)
35550 /* 100195 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::STTILECFG_EVEX),
35551 /* 100198 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35552 /* 100202 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35553 /* 100206 */ GIR_RootConstrainSelectedInstOperands,
35554 /* 100207 */ // GIR_Coverage, 16976,
35555 /* 100207 */ GIR_EraseRootFromParent_Done,
35556 /* 100208 */ // Label 2161: @100208
35557 /* 100208 */ GIM_Try, /*On fail goto*//*Label 2162*/ GIMT_Encode4(100245), // Rule ID 17057 //
35558 /* 100213 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_rstorssp),
35559 /* 100218 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35560 /* 100222 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35561 /* 100229 */ // (intrinsic_void 15870:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (RSTORSSP addr:{ *:[iPTR] }:$src)
35562 /* 100229 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RSTORSSP),
35563 /* 100232 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35564 /* 100236 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
35565 /* 100239 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35566 /* 100243 */ GIR_RootConstrainSelectedInstOperands,
35567 /* 100244 */ // GIR_Coverage, 17057,
35568 /* 100244 */ GIR_EraseRootFromParent_Done,
35569 /* 100245 */ // Label 2162: @100245
35570 /* 100245 */ GIM_Try, /*On fail goto*//*Label 2163*/ GIMT_Encode4(100282), // Rule ID 17067 //
35571 /* 100250 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_clrssbsy),
35572 /* 100255 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
35573 /* 100259 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
35574 /* 100266 */ // (intrinsic_void 15733:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (CLRSSBSY addr:{ *:[iPTR] }:$src)
35575 /* 100266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CLRSSBSY),
35576 /* 100269 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
35577 /* 100273 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
35578 /* 100276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35579 /* 100280 */ GIR_RootConstrainSelectedInstOperands,
35580 /* 100281 */ // GIR_Coverage, 17067,
35581 /* 100281 */ GIR_EraseRootFromParent_Done,
35582 /* 100282 */ // Label 2163: @100282
35583 /* 100282 */ GIM_Try, /*On fail goto*//*Label 2164*/ GIMT_Encode4(100312), // Rule ID 17039 //
35584 /* 100287 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_int),
35585 /* 100292 */ // MIs[0] Operand 1
35586 /* 100292 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(3),
35587 /* 100303 */ // (intrinsic_void 15759:{ *:[iPTR] }, 3:{ *:[i8] }) => (INT3)
35588 /* 100303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT3),
35589 /* 100306 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35590 /* 100310 */ GIR_RootConstrainSelectedInstOperands,
35591 /* 100311 */ // GIR_Coverage, 17039,
35592 /* 100311 */ GIR_EraseRootFromParent_Done,
35593 /* 100312 */ // Label 2164: @100312
35594 /* 100312 */ GIM_Try, /*On fail goto*//*Label 2165*/ GIMT_Encode4(100339), // Rule ID 16967 //
35595 /* 100317 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRTM),
35596 /* 100320 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xabort),
35597 /* 100325 */ // MIs[0] imm
35598 /* 100325 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
35599 /* 100328 */ // (intrinsic_void 16174:{ *:[iPTR] }, (timm:{ *:[i8] }):$imm) => (XABORT (timm:{ *:[i8] }):$imm)
35600 /* 100328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XABORT),
35601 /* 100331 */ GIR_RootToRootCopy, /*OpIdx*/1, // imm
35602 /* 100333 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35603 /* 100337 */ GIR_RootConstrainSelectedInstOperands,
35604 /* 100338 */ // GIR_Coverage, 16967,
35605 /* 100338 */ GIR_EraseRootFromParent_Done,
35606 /* 100339 */ // Label 2165: @100339
35607 /* 100339 */ GIM_Try, /*On fail goto*//*Label 2166*/ GIMT_Encode4(100366), // Rule ID 16979 //
35608 /* 100344 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTILE_In64BitMode),
35609 /* 100347 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tilezero),
35610 /* 100352 */ // MIs[0] src
35611 /* 100352 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
35612 /* 100355 */ // (intrinsic_void 16117:{ *:[iPTR] }, (timm:{ *:[i8] }):$src) => (PTILEZERO (timm:{ *:[i8] }):$src)
35613 /* 100355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEZERO),
35614 /* 100358 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35615 /* 100360 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35616 /* 100364 */ GIR_RootConstrainSelectedInstOperands,
35617 /* 100365 */ // GIR_Coverage, 16979,
35618 /* 100365 */ GIR_EraseRootFromParent_Done,
35619 /* 100366 */ // Label 2166: @100366
35620 /* 100366 */ GIM_Try, /*On fail goto*//*Label 2167*/ GIMT_Encode4(100390), // Rule ID 17041 //
35621 /* 100371 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_int),
35622 /* 100376 */ // MIs[0] trap
35623 /* 100376 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
35624 /* 100379 */ // (intrinsic_void 15759:{ *:[iPTR] }, (timm:{ *:[i8] }):$trap) => (INT (timm:{ *:[i8] }):$trap)
35625 /* 100379 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT),
35626 /* 100382 */ GIR_RootToRootCopy, /*OpIdx*/1, // trap
35627 /* 100384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35628 /* 100388 */ GIR_RootConstrainSelectedInstOperands,
35629 /* 100389 */ // GIR_Coverage, 17041,
35630 /* 100389 */ GIR_EraseRootFromParent_Done,
35631 /* 100390 */ // Label 2167: @100390
35632 /* 100390 */ GIM_Try, /*On fail goto*//*Label 2168*/ GIMT_Encode4(100424), // Rule ID 1 //
35633 /* 100395 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode),
35634 /* 100398 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_flags_read_u32),
35635 /* 100403 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35636 /* 100406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35637 /* 100410 */ // (intrinsic_w_chain:{ *:[i32] } 15745:{ *:[iPTR] }) => (RDFLAGS32:{ *:[i32] }:{ *:[i32] })
35638 /* 100410 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFLAGS32),
35639 /* 100413 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35640 /* 100415 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
35641 /* 100418 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35642 /* 100422 */ GIR_RootConstrainSelectedInstOperands,
35643 /* 100423 */ // GIR_Coverage, 1,
35644 /* 100423 */ GIR_EraseRootFromParent_Done,
35645 /* 100424 */ // Label 2168: @100424
35646 /* 100424 */ GIM_Try, /*On fail goto*//*Label 2169*/ GIMT_Encode4(100458), // Rule ID 2 //
35647 /* 100429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
35648 /* 100432 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_flags_read_u64),
35649 /* 100437 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35650 /* 100440 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35651 /* 100444 */ // (intrinsic_w_chain:{ *:[i64] } 15746:{ *:[iPTR] }) => (RDFLAGS64:{ *:[i64] }:{ *:[i32] })
35652 /* 100444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFLAGS64),
35653 /* 100447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35654 /* 100449 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
35655 /* 100452 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35656 /* 100456 */ GIR_RootConstrainSelectedInstOperands,
35657 /* 100457 */ // GIR_Coverage, 2,
35658 /* 100457 */ GIR_EraseRootFromParent_Done,
35659 /* 100458 */ // Label 2169: @100458
35660 /* 100458 */ GIM_Try, /*On fail goto*//*Label 2170*/ GIMT_Encode4(100489), // Rule ID 115 //
35661 /* 100463 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
35662 /* 100466 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_slwpcb),
35663 /* 100471 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35664 /* 100474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35665 /* 100478 */ // (intrinsic_w_chain:{ *:[i32] } 15885:{ *:[iPTR] }) => (SLWPCB:{ *:[i32] })
35666 /* 100478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SLWPCB),
35667 /* 100481 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35668 /* 100483 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35669 /* 100487 */ GIR_RootConstrainSelectedInstOperands,
35670 /* 100488 */ // GIR_Coverage, 115,
35671 /* 100488 */ GIR_EraseRootFromParent_Done,
35672 /* 100489 */ // Label 2170: @100489
35673 /* 100489 */ GIM_Try, /*On fail goto*//*Label 2171*/ GIMT_Encode4(100520), // Rule ID 117 //
35674 /* 100494 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
35675 /* 100497 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_slwpcb),
35676 /* 100502 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35677 /* 100505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35678 /* 100509 */ // (intrinsic_w_chain:{ *:[i64] } 15885:{ *:[iPTR] }) => (SLWPCB64:{ *:[i64] })
35679 /* 100509 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SLWPCB64),
35680 /* 100512 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35681 /* 100514 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35682 /* 100518 */ GIR_RootConstrainSelectedInstOperands,
35683 /* 100519 */ // GIR_Coverage, 117,
35684 /* 100519 */ GIR_EraseRootFromParent_Done,
35685 /* 100520 */ // Label 2171: @100520
35686 /* 100520 */ GIM_Try, /*On fail goto*//*Label 2172*/ GIMT_Encode4(100551), // Rule ID 16964 //
35687 /* 100525 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRTM),
35688 /* 100528 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_xbegin),
35689 /* 100533 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35690 /* 100536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35691 /* 100540 */ // (intrinsic_w_chain:{ *:[i32] } 16175:{ *:[iPTR] }) => (XBEGIN:{ *:[i32] })
35692 /* 100540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XBEGIN),
35693 /* 100543 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35694 /* 100545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35695 /* 100549 */ GIR_RootConstrainSelectedInstOperands,
35696 /* 100550 */ // GIR_Coverage, 16964,
35697 /* 100550 */ GIR_EraseRootFromParent_Done,
35698 /* 100551 */ // Label 2172: @100551
35699 /* 100551 */ GIM_Try, /*On fail goto*//*Label 2173*/ GIMT_Encode4(100582), // Rule ID 17083 //
35700 /* 100556 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
35701 /* 100559 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdfsbase_32),
35702 /* 100564 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35703 /* 100567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35704 /* 100571 */ // (intrinsic_w_chain:{ *:[i32] } 15852:{ *:[iPTR] }) => (RDFSBASE:{ *:[i32] })
35705 /* 100571 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFSBASE),
35706 /* 100574 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35707 /* 100576 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35708 /* 100580 */ GIR_RootConstrainSelectedInstOperands,
35709 /* 100581 */ // GIR_Coverage, 17083,
35710 /* 100581 */ GIR_EraseRootFromParent_Done,
35711 /* 100582 */ // Label 2173: @100582
35712 /* 100582 */ GIM_Try, /*On fail goto*//*Label 2174*/ GIMT_Encode4(100613), // Rule ID 17084 //
35713 /* 100587 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
35714 /* 100590 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdfsbase_64),
35715 /* 100595 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35716 /* 100598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35717 /* 100602 */ // (intrinsic_w_chain:{ *:[i64] } 15853:{ *:[iPTR] }) => (RDFSBASE64:{ *:[i64] })
35718 /* 100602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDFSBASE64),
35719 /* 100605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35720 /* 100607 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35721 /* 100611 */ GIR_RootConstrainSelectedInstOperands,
35722 /* 100612 */ // GIR_Coverage, 17084,
35723 /* 100612 */ GIR_EraseRootFromParent_Done,
35724 /* 100613 */ // Label 2174: @100613
35725 /* 100613 */ GIM_Try, /*On fail goto*//*Label 2175*/ GIMT_Encode4(100644), // Rule ID 17085 //
35726 /* 100618 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
35727 /* 100621 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdgsbase_32),
35728 /* 100626 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35729 /* 100629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35730 /* 100633 */ // (intrinsic_w_chain:{ *:[i32] } 15854:{ *:[iPTR] }) => (RDGSBASE:{ *:[i32] })
35731 /* 100633 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDGSBASE),
35732 /* 100636 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35733 /* 100638 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35734 /* 100642 */ GIR_RootConstrainSelectedInstOperands,
35735 /* 100643 */ // GIR_Coverage, 17085,
35736 /* 100643 */ GIR_EraseRootFromParent_Done,
35737 /* 100644 */ // Label 2175: @100644
35738 /* 100644 */ GIM_Try, /*On fail goto*//*Label 2176*/ GIMT_Encode4(100675), // Rule ID 17086 //
35739 /* 100649 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
35740 /* 100652 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdgsbase_64),
35741 /* 100657 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
35742 /* 100660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35743 /* 100664 */ // (intrinsic_w_chain:{ *:[i64] } 15855:{ *:[iPTR] }) => (RDGSBASE64:{ *:[i64] })
35744 /* 100664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDGSBASE64),
35745 /* 100667 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35746 /* 100669 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35747 /* 100673 */ GIR_RootConstrainSelectedInstOperands,
35748 /* 100674 */ // GIR_Coverage, 17086,
35749 /* 100674 */ GIR_EraseRootFromParent_Done,
35750 /* 100675 */ // Label 2176: @100675
35751 /* 100675 */ GIM_Try, /*On fail goto*//*Label 2177*/ GIMT_Encode4(100706), // Rule ID 17092 //
35752 /* 100680 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRDPID_Not64BitMode),
35753 /* 100683 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdpid),
35754 /* 100688 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35755 /* 100691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35756 /* 100695 */ // (intrinsic_w_chain:{ *:[i32] } 15856:{ *:[iPTR] }) => (RDPID32:{ *:[i32] })
35757 /* 100695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDPID32),
35758 /* 100698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35759 /* 100700 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35760 /* 100704 */ GIR_RootConstrainSelectedInstOperands,
35761 /* 100705 */ // GIR_Coverage, 17092,
35762 /* 100705 */ GIR_EraseRootFromParent_Done,
35763 /* 100706 */ // Label 2177: @100706
35764 /* 100706 */ GIM_Try, /*On fail goto*//*Label 2178*/ GIMT_Encode4(100763), // Rule ID 22418 //
35765 /* 100711 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasRDPID_In64BitMode),
35766 /* 100714 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdpid),
35767 /* 100719 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
35768 /* 100722 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35769 /* 100726 */ // (intrinsic_w_chain:{ *:[i32] } 15856:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[i32] } (RDPID64:{ *:[i64] }), sub_32bit:{ *:[i32] })
35770 /* 100726 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
35771 /* 100729 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::RDPID64),
35772 /* 100733 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
35773 /* 100738 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
35774 /* 100740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
35775 /* 100743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
35776 /* 100745 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_32bit),
35777 /* 100752 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
35778 /* 100757 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
35779 /* 100762 */ // GIR_Coverage, 22418,
35780 /* 100762 */ GIR_EraseRootFromParent_Done,
35781 /* 100763 */ // Label 2178: @100763
35782 /* 100763 */ GIM_Try, /*On fail goto*//*Label 2179*/ GIMT_Encode4(100803), // Rule ID 3 //
35783 /* 100768 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode),
35784 /* 100771 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_flags_write_u32),
35785 /* 100776 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35786 /* 100779 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35787 /* 100783 */ // (intrinsic_void 15747:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRFLAGS32:{ *:[i32] } GR32:{ *:[i32] }:$src)
35788 /* 100783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFLAGS32),
35789 /* 100786 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35790 /* 100788 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::ESP*/0,
35791 /* 100791 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/1,
35792 /* 100794 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::DF*/2,
35793 /* 100797 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35794 /* 100801 */ GIR_RootConstrainSelectedInstOperands,
35795 /* 100802 */ // GIR_Coverage, 3,
35796 /* 100802 */ GIR_EraseRootFromParent_Done,
35797 /* 100803 */ // Label 2179: @100803
35798 /* 100803 */ GIM_Try, /*On fail goto*//*Label 2180*/ GIMT_Encode4(100843), // Rule ID 4 //
35799 /* 100808 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
35800 /* 100811 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_flags_write_u64),
35801 /* 100816 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35802 /* 100819 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35803 /* 100823 */ // (intrinsic_void 15748:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRFLAGS64:{ *:[i64] } GR64:{ *:[i64] }:$src)
35804 /* 100823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFLAGS64),
35805 /* 100826 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35806 /* 100828 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::RSP*/0,
35807 /* 100831 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/1,
35808 /* 100834 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::DF*/2,
35809 /* 100837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35810 /* 100841 */ GIR_RootConstrainSelectedInstOperands,
35811 /* 100842 */ // GIR_Coverage, 4,
35812 /* 100842 */ GIR_EraseRootFromParent_Done,
35813 /* 100843 */ // Label 2180: @100843
35814 /* 100843 */ GIM_Try, /*On fail goto*//*Label 2181*/ GIMT_Encode4(100874), // Rule ID 154 //
35815 /* 100848 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUINTR_In64BitMode),
35816 /* 100851 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_senduipi),
35817 /* 100856 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35818 /* 100859 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35819 /* 100863 */ // (intrinsic_void 15875:{ *:[iPTR] }, GR64:{ *:[i64] }:$arg) => (SENDUIPI GR64:{ *:[i64] }:$arg)
35820 /* 100863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SENDUIPI),
35821 /* 100866 */ GIR_RootToRootCopy, /*OpIdx*/1, // arg
35822 /* 100868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35823 /* 100872 */ GIR_RootConstrainSelectedInstOperands,
35824 /* 100873 */ // GIR_Coverage, 154,
35825 /* 100873 */ GIR_EraseRootFromParent_Done,
35826 /* 100874 */ // Label 2181: @100874
35827 /* 100874 */ GIM_Try, /*On fail goto*//*Label 2182*/ GIMT_Encode4(100905), // Rule ID 17052 //
35828 /* 100879 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_incsspd),
35829 /* 100884 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35830 /* 100887 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35831 /* 100891 */ // (intrinsic_void 15757:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (INCSSPD GR32:{ *:[i32] }:$src)
35832 /* 100891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INCSSPD),
35833 /* 100894 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35834 /* 100896 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
35835 /* 100899 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35836 /* 100903 */ GIR_RootConstrainSelectedInstOperands,
35837 /* 100904 */ // GIR_Coverage, 17052,
35838 /* 100904 */ GIR_EraseRootFromParent_Done,
35839 /* 100905 */ // Label 2182: @100905
35840 /* 100905 */ GIM_Try, /*On fail goto*//*Label 2183*/ GIMT_Encode4(100936), // Rule ID 17053 //
35841 /* 100910 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_incsspq),
35842 /* 100915 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35843 /* 100918 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35844 /* 100922 */ // (intrinsic_void 15758:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (INCSSPQ GR64:{ *:[i64] }:$src)
35845 /* 100922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INCSSPQ),
35846 /* 100925 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35847 /* 100927 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::SSP*/0,
35848 /* 100930 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35849 /* 100934 */ GIR_RootConstrainSelectedInstOperands,
35850 /* 100935 */ // GIR_Coverage, 17053,
35851 /* 100935 */ GIR_EraseRootFromParent_Done,
35852 /* 100936 */ // Label 2183: @100936
35853 /* 100936 */ GIM_Try, /*On fail goto*//*Label 2184*/ GIMT_Encode4(100967), // Rule ID 17087 //
35854 /* 100941 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
35855 /* 100944 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrfsbase_32),
35856 /* 100949 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35857 /* 100952 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35858 /* 100956 */ // (intrinsic_void 16165:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRFSBASE GR32:{ *:[i32] }:$src)
35859 /* 100956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFSBASE),
35860 /* 100959 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35861 /* 100961 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35862 /* 100965 */ GIR_RootConstrainSelectedInstOperands,
35863 /* 100966 */ // GIR_Coverage, 17087,
35864 /* 100966 */ GIR_EraseRootFromParent_Done,
35865 /* 100967 */ // Label 2184: @100967
35866 /* 100967 */ GIM_Try, /*On fail goto*//*Label 2185*/ GIMT_Encode4(100998), // Rule ID 17088 //
35867 /* 100972 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
35868 /* 100975 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrfsbase_64),
35869 /* 100980 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35870 /* 100983 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35871 /* 100987 */ // (intrinsic_void 16166:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRFSBASE64 GR64:{ *:[i64] }:$src)
35872 /* 100987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRFSBASE64),
35873 /* 100990 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35874 /* 100992 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35875 /* 100996 */ GIR_RootConstrainSelectedInstOperands,
35876 /* 100997 */ // GIR_Coverage, 17088,
35877 /* 100997 */ GIR_EraseRootFromParent_Done,
35878 /* 100998 */ // Label 2185: @100998
35879 /* 100998 */ GIM_Try, /*On fail goto*//*Label 2186*/ GIMT_Encode4(101029), // Rule ID 17089 //
35880 /* 101003 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
35881 /* 101006 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrgsbase_32),
35882 /* 101011 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35883 /* 101014 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35884 /* 101018 */ // (intrinsic_void 16167:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (WRGSBASE GR32:{ *:[i32] }:$src)
35885 /* 101018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRGSBASE),
35886 /* 101021 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35887 /* 101023 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35888 /* 101027 */ GIR_RootConstrainSelectedInstOperands,
35889 /* 101028 */ // GIR_Coverage, 17089,
35890 /* 101028 */ GIR_EraseRootFromParent_Done,
35891 /* 101029 */ // Label 2186: @101029
35892 /* 101029 */ GIM_Try, /*On fail goto*//*Label 2187*/ GIMT_Encode4(101060), // Rule ID 17090 //
35893 /* 101034 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFSGSBase_In64BitMode),
35894 /* 101037 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrgsbase_64),
35895 /* 101042 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35896 /* 101045 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35897 /* 101049 */ // (intrinsic_void 16168:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (WRGSBASE64 GR64:{ *:[i64] }:$src)
35898 /* 101049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRGSBASE64),
35899 /* 101052 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35900 /* 101054 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35901 /* 101058 */ GIR_RootConstrainSelectedInstOperands,
35902 /* 101059 */ // GIR_Coverage, 17090,
35903 /* 101059 */ GIR_EraseRootFromParent_Done,
35904 /* 101060 */ // Label 2187: @101060
35905 /* 101060 */ GIM_Try, /*On fail goto*//*Label 2188*/ GIMT_Encode4(101091), // Rule ID 17095 //
35906 /* 101065 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPTWRITE),
35907 /* 101068 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite32),
35908 /* 101073 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
35909 /* 101076 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35910 /* 101080 */ // (intrinsic_void 15850:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst) => (PTWRITEr GR32:{ *:[i32] }:$dst)
35911 /* 101080 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITEr),
35912 /* 101083 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
35913 /* 101085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35914 /* 101089 */ GIR_RootConstrainSelectedInstOperands,
35915 /* 101090 */ // GIR_Coverage, 17095,
35916 /* 101090 */ GIR_EraseRootFromParent_Done,
35917 /* 101091 */ // Label 2188: @101091
35918 /* 101091 */ GIM_Try, /*On fail goto*//*Label 2189*/ GIMT_Encode4(101122), // Rule ID 17096 //
35919 /* 101096 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPTWRITE_In64BitMode),
35920 /* 101099 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_ptwrite64),
35921 /* 101104 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
35922 /* 101107 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35923 /* 101111 */ // (intrinsic_void 15851:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst) => (PTWRITE64r GR64:{ *:[i64] }:$dst)
35924 /* 101111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTWRITE64r),
35925 /* 101114 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
35926 /* 101116 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35927 /* 101120 */ GIR_RootConstrainSelectedInstOperands,
35928 /* 101121 */ // GIR_Coverage, 17096,
35929 /* 101121 */ GIR_EraseRootFromParent_Done,
35930 /* 101122 */ // Label 2189: @101122
35931 /* 101122 */ GIM_Try, /*On fail goto*//*Label 2190*/ GIMT_Encode4(101154), // Rule ID 114 //
35932 /* 101127 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
35933 /* 101130 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_llwpcb),
35934 /* 101135 */ // MIs[0] src
35935 /* 101135 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
35936 /* 101139 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35937 /* 101143 */ // (intrinsic_void 15763:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (LLWPCB GR32:{ *:[i32] }:$src)
35938 /* 101143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LLWPCB),
35939 /* 101146 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35940 /* 101148 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35941 /* 101152 */ GIR_RootConstrainSelectedInstOperands,
35942 /* 101153 */ // GIR_Coverage, 114,
35943 /* 101153 */ GIR_EraseRootFromParent_Done,
35944 /* 101154 */ // Label 2190: @101154
35945 /* 101154 */ GIM_Try, /*On fail goto*//*Label 2191*/ GIMT_Encode4(101186), // Rule ID 116 //
35946 /* 101159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
35947 /* 101162 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_llwpcb),
35948 /* 101167 */ // MIs[0] src
35949 /* 101167 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
35950 /* 101171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35951 /* 101175 */ // (intrinsic_void 15763:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (LLWPCB64 GR64:{ *:[i64] }:$src)
35952 /* 101175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LLWPCB64),
35953 /* 101178 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35954 /* 101180 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35955 /* 101184 */ GIR_RootConstrainSelectedInstOperands,
35956 /* 101185 */ // GIR_Coverage, 116,
35957 /* 101185 */ GIR_EraseRootFromParent_Done,
35958 /* 101186 */ // Label 2191: @101186
35959 /* 101186 */ GIM_Try, /*On fail goto*//*Label 2192*/ GIMT_Encode4(101218), // Rule ID 126 //
35960 /* 101191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasWAITPKG_Not64BitMode),
35961 /* 101194 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_umonitor),
35962 /* 101199 */ // MIs[0] src
35963 /* 101199 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/16,
35964 /* 101203 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
35965 /* 101207 */ // (intrinsic_void 16122:{ *:[iPTR] }, GR16:{ *:[i16] }:$src) => (UMONITOR16 GR16:{ *:[i16] }:$src)
35966 /* 101207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR16),
35967 /* 101210 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35968 /* 101212 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35969 /* 101216 */ GIR_RootConstrainSelectedInstOperands,
35970 /* 101217 */ // GIR_Coverage, 126,
35971 /* 101217 */ GIR_EraseRootFromParent_Done,
35972 /* 101218 */ // Label 2192: @101218
35973 /* 101218 */ GIM_Try, /*On fail goto*//*Label 2193*/ GIMT_Encode4(101250), // Rule ID 127 //
35974 /* 101223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasWAITPKG),
35975 /* 101226 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_umonitor),
35976 /* 101231 */ // MIs[0] src
35977 /* 101231 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
35978 /* 101235 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
35979 /* 101239 */ // (intrinsic_void 16122:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (UMONITOR32 GR32:{ *:[i32] }:$src)
35980 /* 101239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR32),
35981 /* 101242 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35982 /* 101244 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35983 /* 101248 */ GIR_RootConstrainSelectedInstOperands,
35984 /* 101249 */ // GIR_Coverage, 127,
35985 /* 101249 */ GIR_EraseRootFromParent_Done,
35986 /* 101250 */ // Label 2193: @101250
35987 /* 101250 */ GIM_Try, /*On fail goto*//*Label 2194*/ GIMT_Encode4(101282), // Rule ID 128 //
35988 /* 101255 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasWAITPKG_In64BitMode),
35989 /* 101258 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_umonitor),
35990 /* 101263 */ // MIs[0] src
35991 /* 101263 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
35992 /* 101267 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
35993 /* 101271 */ // (intrinsic_void 16122:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (UMONITOR64 GR64:{ *:[i64] }:$src)
35994 /* 101271 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UMONITOR64),
35995 /* 101274 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
35996 /* 101276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
35997 /* 101280 */ GIR_RootConstrainSelectedInstOperands,
35998 /* 101281 */ // GIR_Coverage, 128,
35999 /* 101281 */ GIR_EraseRootFromParent_Done,
36000 /* 101282 */ // Label 2194: @101282
36001 /* 101282 */ GIM_Reject,
36002 /* 101283 */ // Label 2142: @101283
36003 /* 101283 */ GIM_Try, /*On fail goto*//*Label 2195*/ GIMT_Encode4(104207),
36004 /* 101288 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/3,
36005 /* 101291 */ GIM_Try, /*On fail goto*//*Label 2196*/ GIMT_Encode4(101337), // Rule ID 165 //
36006 /* 101296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR),
36007 /* 101299 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsqi),
36008 /* 101304 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s8,
36009 /* 101307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
36010 /* 101311 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36011 /* 101315 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36012 /* 101322 */ // (intrinsic_w_chain:{ *:[i8] } 15843:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS8rm:{ *:[i8] } addr:{ *:[iPTR] }:$src)
36013 /* 101322 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS8rm),
36014 /* 101325 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36015 /* 101327 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36016 /* 101331 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36017 /* 101335 */ GIR_RootConstrainSelectedInstOperands,
36018 /* 101336 */ // GIR_Coverage, 165,
36019 /* 101336 */ GIR_EraseRootFromParent_Done,
36020 /* 101337 */ // Label 2196: @101337
36021 /* 101337 */ GIM_Try, /*On fail goto*//*Label 2197*/ GIMT_Encode4(101383), // Rule ID 166 //
36022 /* 101342 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR),
36023 /* 101345 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrshi),
36024 /* 101350 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s16,
36025 /* 101353 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
36026 /* 101357 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36027 /* 101361 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36028 /* 101368 */ // (intrinsic_w_chain:{ *:[i16] } 15842:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src)
36029 /* 101368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS16rm),
36030 /* 101371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36031 /* 101373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36032 /* 101377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36033 /* 101381 */ GIR_RootConstrainSelectedInstOperands,
36034 /* 101382 */ // GIR_Coverage, 166,
36035 /* 101382 */ GIR_EraseRootFromParent_Done,
36036 /* 101383 */ // Label 2197: @101383
36037 /* 101383 */ GIM_Try, /*On fail goto*//*Label 2198*/ GIMT_Encode4(101429), // Rule ID 167 //
36038 /* 101388 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR),
36039 /* 101391 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrssi),
36040 /* 101396 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36041 /* 101399 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36042 /* 101403 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36043 /* 101407 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36044 /* 101414 */ // (intrinsic_w_chain:{ *:[i32] } 15844:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
36045 /* 101414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS32rm),
36046 /* 101417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36047 /* 101419 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36048 /* 101423 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36049 /* 101427 */ GIR_RootConstrainSelectedInstOperands,
36050 /* 101428 */ // GIR_Coverage, 167,
36051 /* 101428 */ GIR_EraseRootFromParent_Done,
36052 /* 101429 */ // Label 2198: @101429
36053 /* 101429 */ GIM_Try, /*On fail goto*//*Label 2199*/ GIMT_Encode4(101475), // Rule ID 168 //
36054 /* 101434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVRS_In64BitMode_NoEGPR),
36055 /* 101437 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsdi),
36056 /* 101442 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36057 /* 101445 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36058 /* 101449 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36059 /* 101453 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36060 /* 101460 */ // (intrinsic_w_chain:{ *:[i64] } 15841:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
36061 /* 101460 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS64rm),
36062 /* 101463 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36063 /* 101465 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36064 /* 101469 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36065 /* 101473 */ GIR_RootConstrainSelectedInstOperands,
36066 /* 101474 */ // GIR_Coverage, 168,
36067 /* 101474 */ GIR_EraseRootFromParent_Done,
36068 /* 101475 */ // Label 2199: @101475
36069 /* 101475 */ GIM_Try, /*On fail goto*//*Label 2200*/ GIMT_Encode4(101521), // Rule ID 170 //
36070 /* 101480 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode),
36071 /* 101483 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsqi),
36072 /* 101488 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s8,
36073 /* 101491 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
36074 /* 101495 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36075 /* 101499 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36076 /* 101506 */ // (intrinsic_w_chain:{ *:[i8] } 15843:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS8rm_EVEX:{ *:[i8] } addr:{ *:[iPTR] }:$src)
36077 /* 101506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS8rm_EVEX),
36078 /* 101509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36079 /* 101511 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36080 /* 101515 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36081 /* 101519 */ GIR_RootConstrainSelectedInstOperands,
36082 /* 101520 */ // GIR_Coverage, 170,
36083 /* 101520 */ GIR_EraseRootFromParent_Done,
36084 /* 101521 */ // Label 2200: @101521
36085 /* 101521 */ GIM_Try, /*On fail goto*//*Label 2201*/ GIMT_Encode4(101567), // Rule ID 171 //
36086 /* 101526 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode),
36087 /* 101529 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrshi),
36088 /* 101534 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s16,
36089 /* 101537 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
36090 /* 101541 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36091 /* 101545 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36092 /* 101552 */ // (intrinsic_w_chain:{ *:[i16] } 15842:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS16rm_EVEX:{ *:[i16] } addr:{ *:[iPTR] }:$src)
36093 /* 101552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS16rm_EVEX),
36094 /* 101555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36095 /* 101557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36096 /* 101561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36097 /* 101565 */ GIR_RootConstrainSelectedInstOperands,
36098 /* 101566 */ // GIR_Coverage, 171,
36099 /* 101566 */ GIR_EraseRootFromParent_Done,
36100 /* 101567 */ // Label 2201: @101567
36101 /* 101567 */ GIM_Try, /*On fail goto*//*Label 2202*/ GIMT_Encode4(101613), // Rule ID 172 //
36102 /* 101572 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode),
36103 /* 101575 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrssi),
36104 /* 101580 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36105 /* 101583 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36106 /* 101587 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36107 /* 101591 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36108 /* 101598 */ // (intrinsic_w_chain:{ *:[i32] } 15844:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS32rm_EVEX:{ *:[i32] } addr:{ *:[iPTR] }:$src)
36109 /* 101598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS32rm_EVEX),
36110 /* 101601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36111 /* 101603 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36112 /* 101607 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36113 /* 101611 */ GIR_RootConstrainSelectedInstOperands,
36114 /* 101612 */ // GIR_Coverage, 172,
36115 /* 101612 */ GIR_EraseRootFromParent_Done,
36116 /* 101613 */ // Label 2202: @101613
36117 /* 101613 */ GIM_Try, /*On fail goto*//*Label 2203*/ GIMT_Encode4(101659), // Rule ID 173 //
36118 /* 101618 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVRS_In64BitMode),
36119 /* 101621 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_movrsdi),
36120 /* 101626 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36121 /* 101629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36122 /* 101633 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36123 /* 101637 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36124 /* 101644 */ // (intrinsic_w_chain:{ *:[i64] } 15841:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (MOVRS64rm_EVEX:{ *:[i64] } addr:{ *:[iPTR] }:$src)
36125 /* 101644 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVRS64rm_EVEX),
36126 /* 101647 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36127 /* 101649 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36128 /* 101653 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36129 /* 101657 */ GIR_RootConstrainSelectedInstOperands,
36130 /* 101658 */ // GIR_Coverage, 173,
36131 /* 101658 */ GIR_EraseRootFromParent_Done,
36132 /* 101659 */ // Label 2203: @101659
36133 /* 101659 */ GIM_Try, /*On fail goto*//*Label 2204*/ GIMT_Encode4(101705), // Rule ID 2927 //
36134 /* 101664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
36135 /* 101667 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse3_ldu_dq),
36136 /* 101672 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
36137 /* 101675 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36138 /* 101679 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36139 /* 101683 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36140 /* 101690 */ // (intrinsic_w_chain:{ *:[v16i8] } 15989:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
36141 /* 101690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDDQUrm),
36142 /* 101693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36143 /* 101695 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36144 /* 101699 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36145 /* 101703 */ GIR_RootConstrainSelectedInstOperands,
36146 /* 101704 */ // GIR_Coverage, 2927,
36147 /* 101704 */ GIR_EraseRootFromParent_Done,
36148 /* 101705 */ // Label 2204: @101705
36149 /* 101705 */ GIM_Try, /*On fail goto*//*Label 2205*/ GIMT_Encode4(101751), // Rule ID 2928 //
36150 /* 101710 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
36151 /* 101713 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_ldu_dq_256),
36152 /* 101718 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
36153 /* 101721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36154 /* 101725 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36155 /* 101729 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36156 /* 101736 */ // (intrinsic_w_chain:{ *:[v32i8] } 14610:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VLDDQUYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
36157 /* 101736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VLDDQUYrm),
36158 /* 101739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36159 /* 101741 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36160 /* 101745 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36161 /* 101749 */ GIR_RootConstrainSelectedInstOperands,
36162 /* 101750 */ // GIR_Coverage, 2928,
36163 /* 101750 */ GIR_EraseRootFromParent_Done,
36164 /* 101751 */ // Label 2205: @101751
36165 /* 101751 */ GIM_Try, /*On fail goto*//*Label 2206*/ GIMT_Encode4(101797), // Rule ID 2929 //
36166 /* 101756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE3),
36167 /* 101759 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_sse3_ldu_dq),
36168 /* 101764 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
36169 /* 101767 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36170 /* 101771 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36171 /* 101775 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36172 /* 101782 */ // (intrinsic_w_chain:{ *:[v16i8] } 15989:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (LDDQUrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
36173 /* 101782 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LDDQUrm),
36174 /* 101785 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36175 /* 101787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36176 /* 101791 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36177 /* 101795 */ GIR_RootConstrainSelectedInstOperands,
36178 /* 101796 */ // GIR_Coverage, 2929,
36179 /* 101796 */ GIR_EraseRootFromParent_Done,
36180 /* 101797 */ // Label 2206: @101797
36181 /* 101797 */ GIM_Try, /*On fail goto*//*Label 2207*/ GIMT_Encode4(101843), // Rule ID 3519 //
36182 /* 101802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36183 /* 101805 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnebf162ps128),
36184 /* 101810 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36185 /* 101813 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36186 /* 101817 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36187 /* 101821 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36188 /* 101828 */ // (intrinsic_w_chain:{ *:[v4f32] } 16126:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNEBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
36189 /* 101828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNEBF162PSrm),
36190 /* 101831 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36191 /* 101833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36192 /* 101837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36193 /* 101841 */ GIR_RootConstrainSelectedInstOperands,
36194 /* 101842 */ // GIR_Coverage, 3519,
36195 /* 101842 */ GIR_EraseRootFromParent_Done,
36196 /* 101843 */ // Label 2207: @101843
36197 /* 101843 */ GIM_Try, /*On fail goto*//*Label 2208*/ GIMT_Encode4(101889), // Rule ID 3520 //
36198 /* 101848 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36199 /* 101851 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnebf162ps256),
36200 /* 101856 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36201 /* 101859 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36202 /* 101863 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36203 /* 101867 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36204 /* 101874 */ // (intrinsic_w_chain:{ *:[v8f32] } 16127:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNEBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
36205 /* 101874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNEBF162PSYrm),
36206 /* 101877 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36207 /* 101879 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36208 /* 101883 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36209 /* 101887 */ GIR_RootConstrainSelectedInstOperands,
36210 /* 101888 */ // GIR_Coverage, 3520,
36211 /* 101888 */ GIR_EraseRootFromParent_Done,
36212 /* 101889 */ // Label 2208: @101889
36213 /* 101889 */ GIM_Try, /*On fail goto*//*Label 2209*/ GIMT_Encode4(101935), // Rule ID 3521 //
36214 /* 101894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36215 /* 101897 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnesh2ps128),
36216 /* 101902 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36217 /* 101905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36218 /* 101909 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36219 /* 101913 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36220 /* 101920 */ // (intrinsic_w_chain:{ *:[v4f32] } 16128:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNESH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
36221 /* 101920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNESH2PSrm),
36222 /* 101923 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36223 /* 101925 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36224 /* 101929 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36225 /* 101933 */ GIR_RootConstrainSelectedInstOperands,
36226 /* 101934 */ // GIR_Coverage, 3521,
36227 /* 101934 */ GIR_EraseRootFromParent_Done,
36228 /* 101935 */ // Label 2209: @101935
36229 /* 101935 */ GIM_Try, /*On fail goto*//*Label 2210*/ GIMT_Encode4(101981), // Rule ID 3522 //
36230 /* 101940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36231 /* 101943 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vbcstnesh2ps256),
36232 /* 101948 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36233 /* 101951 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36234 /* 101955 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36235 /* 101959 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36236 /* 101966 */ // (intrinsic_w_chain:{ *:[v8f32] } 16129:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VBCSTNESH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
36237 /* 101966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VBCSTNESH2PSYrm),
36238 /* 101969 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36239 /* 101971 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36240 /* 101975 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36241 /* 101979 */ GIR_RootConstrainSelectedInstOperands,
36242 /* 101980 */ // GIR_Coverage, 3522,
36243 /* 101980 */ GIR_EraseRootFromParent_Done,
36244 /* 101981 */ // Label 2210: @101981
36245 /* 101981 */ GIM_Try, /*On fail goto*//*Label 2211*/ GIMT_Encode4(102027), // Rule ID 3523 //
36246 /* 101986 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36247 /* 101989 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneebf162ps128),
36248 /* 101994 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36249 /* 101997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36250 /* 102001 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36251 /* 102005 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36252 /* 102012 */ // (intrinsic_w_chain:{ *:[v4f32] } 16130:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
36253 /* 102012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEBF162PSrm),
36254 /* 102015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36255 /* 102017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36256 /* 102021 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36257 /* 102025 */ GIR_RootConstrainSelectedInstOperands,
36258 /* 102026 */ // GIR_Coverage, 3523,
36259 /* 102026 */ GIR_EraseRootFromParent_Done,
36260 /* 102027 */ // Label 2211: @102027
36261 /* 102027 */ GIM_Try, /*On fail goto*//*Label 2212*/ GIMT_Encode4(102073), // Rule ID 3524 //
36262 /* 102032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36263 /* 102035 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneebf162ps256),
36264 /* 102040 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36265 /* 102043 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36266 /* 102047 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36267 /* 102051 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36268 /* 102058 */ // (intrinsic_w_chain:{ *:[v8f32] } 16131:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
36269 /* 102058 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEBF162PSYrm),
36270 /* 102061 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36271 /* 102063 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36272 /* 102067 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36273 /* 102071 */ GIR_RootConstrainSelectedInstOperands,
36274 /* 102072 */ // GIR_Coverage, 3524,
36275 /* 102072 */ GIR_EraseRootFromParent_Done,
36276 /* 102073 */ // Label 2212: @102073
36277 /* 102073 */ GIM_Try, /*On fail goto*//*Label 2213*/ GIMT_Encode4(102119), // Rule ID 3525 //
36278 /* 102078 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36279 /* 102081 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneeph2ps128),
36280 /* 102086 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36281 /* 102089 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36282 /* 102093 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36283 /* 102097 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36284 /* 102104 */ // (intrinsic_w_chain:{ *:[v4f32] } 16132:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEPH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
36285 /* 102104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEPH2PSrm),
36286 /* 102107 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36287 /* 102109 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36288 /* 102113 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36289 /* 102117 */ GIR_RootConstrainSelectedInstOperands,
36290 /* 102118 */ // GIR_Coverage, 3525,
36291 /* 102118 */ GIR_EraseRootFromParent_Done,
36292 /* 102119 */ // Label 2213: @102119
36293 /* 102119 */ GIM_Try, /*On fail goto*//*Label 2214*/ GIMT_Encode4(102165), // Rule ID 3526 //
36294 /* 102124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36295 /* 102127 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneeph2ps256),
36296 /* 102132 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36297 /* 102135 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36298 /* 102139 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36299 /* 102143 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36300 /* 102150 */ // (intrinsic_w_chain:{ *:[v8f32] } 16133:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEEPH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
36301 /* 102150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEEPH2PSYrm),
36302 /* 102153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36303 /* 102155 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36304 /* 102159 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36305 /* 102163 */ GIR_RootConstrainSelectedInstOperands,
36306 /* 102164 */ // GIR_Coverage, 3526,
36307 /* 102164 */ GIR_EraseRootFromParent_Done,
36308 /* 102165 */ // Label 2214: @102165
36309 /* 102165 */ GIM_Try, /*On fail goto*//*Label 2215*/ GIMT_Encode4(102211), // Rule ID 3527 //
36310 /* 102170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36311 /* 102173 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneobf162ps128),
36312 /* 102178 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36313 /* 102181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36314 /* 102185 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36315 /* 102189 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36316 /* 102196 */ // (intrinsic_w_chain:{ *:[v4f32] } 16134:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOBF162PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
36317 /* 102196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOBF162PSrm),
36318 /* 102199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36319 /* 102201 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36320 /* 102205 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36321 /* 102209 */ GIR_RootConstrainSelectedInstOperands,
36322 /* 102210 */ // GIR_Coverage, 3527,
36323 /* 102210 */ GIR_EraseRootFromParent_Done,
36324 /* 102211 */ // Label 2215: @102211
36325 /* 102211 */ GIM_Try, /*On fail goto*//*Label 2216*/ GIMT_Encode4(102257), // Rule ID 3528 //
36326 /* 102216 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36327 /* 102219 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneobf162ps256),
36328 /* 102224 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36329 /* 102227 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36330 /* 102231 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36331 /* 102235 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36332 /* 102242 */ // (intrinsic_w_chain:{ *:[v8f32] } 16135:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOBF162PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
36333 /* 102242 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOBF162PSYrm),
36334 /* 102245 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36335 /* 102247 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36336 /* 102251 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36337 /* 102255 */ GIR_RootConstrainSelectedInstOperands,
36338 /* 102256 */ // GIR_Coverage, 3528,
36339 /* 102256 */ GIR_EraseRootFromParent_Done,
36340 /* 102257 */ // Label 2216: @102257
36341 /* 102257 */ GIM_Try, /*On fail goto*//*Label 2217*/ GIMT_Encode4(102303), // Rule ID 3529 //
36342 /* 102262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36343 /* 102265 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneoph2ps128),
36344 /* 102270 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36345 /* 102273 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
36346 /* 102277 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36347 /* 102281 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36348 /* 102288 */ // (intrinsic_w_chain:{ *:[v4f32] } 16136:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOPH2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
36349 /* 102288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOPH2PSrm),
36350 /* 102291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36351 /* 102293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36352 /* 102297 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36353 /* 102301 */ GIR_RootConstrainSelectedInstOperands,
36354 /* 102302 */ // GIR_Coverage, 3529,
36355 /* 102302 */ GIR_EraseRootFromParent_Done,
36356 /* 102303 */ // Label 2217: @102303
36357 /* 102303 */ GIM_Try, /*On fail goto*//*Label 2218*/ GIMT_Encode4(102349), // Rule ID 3530 //
36358 /* 102308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVXNECONVERT),
36359 /* 102311 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_vcvtneoph2ps256),
36360 /* 102316 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36361 /* 102319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
36362 /* 102323 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36363 /* 102327 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36364 /* 102334 */ // (intrinsic_w_chain:{ *:[v8f32] } 16137:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VCVTNEOPH2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
36365 /* 102334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTNEOPH2PSYrm),
36366 /* 102337 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36367 /* 102339 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36368 /* 102343 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36369 /* 102347 */ GIR_RootConstrainSelectedInstOperands,
36370 /* 102348 */ // GIR_Coverage, 3530,
36371 /* 102348 */ GIR_EraseRootFromParent_Done,
36372 /* 102349 */ // Label 2218: @102349
36373 /* 102349 */ GIM_Try, /*On fail goto*//*Label 2219*/ GIMT_Encode4(102395), // Rule ID 16733 //
36374 /* 102354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36375 /* 102357 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb512),
36376 /* 102362 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v64s8,
36377 /* 102365 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
36378 /* 102369 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36379 /* 102373 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36380 /* 102380 */ // (intrinsic_w_chain:{ *:[v64i8] } 14866:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src)
36381 /* 102380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZm),
36382 /* 102383 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36383 /* 102385 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36384 /* 102389 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36385 /* 102393 */ GIR_RootConstrainSelectedInstOperands,
36386 /* 102394 */ // GIR_Coverage, 16733,
36387 /* 102394 */ GIR_EraseRootFromParent_Done,
36388 /* 102395 */ // Label 2219: @102395
36389 /* 102395 */ GIM_Try, /*On fail goto*//*Label 2220*/ GIMT_Encode4(102441), // Rule ID 16736 //
36390 /* 102400 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36391 /* 102403 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb128),
36392 /* 102408 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s8,
36393 /* 102411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
36394 /* 102415 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36395 /* 102419 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36396 /* 102426 */ // (intrinsic_w_chain:{ *:[v16i8] } 14864:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZ128m:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
36397 /* 102426 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZ128m),
36398 /* 102429 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36399 /* 102431 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36400 /* 102435 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36401 /* 102439 */ GIR_RootConstrainSelectedInstOperands,
36402 /* 102440 */ // GIR_Coverage, 16736,
36403 /* 102440 */ GIR_EraseRootFromParent_Done,
36404 /* 102441 */ // Label 2220: @102441
36405 /* 102441 */ GIM_Try, /*On fail goto*//*Label 2221*/ GIMT_Encode4(102487), // Rule ID 16739 //
36406 /* 102446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36407 /* 102449 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsb256),
36408 /* 102454 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s8,
36409 /* 102457 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
36410 /* 102461 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36411 /* 102465 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36412 /* 102472 */ // (intrinsic_w_chain:{ *:[v32i8] } 14865:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSBZ256m:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
36413 /* 102472 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSBZ256m),
36414 /* 102475 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36415 /* 102477 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36416 /* 102481 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36417 /* 102485 */ GIR_RootConstrainSelectedInstOperands,
36418 /* 102486 */ // GIR_Coverage, 16739,
36419 /* 102486 */ GIR_EraseRootFromParent_Done,
36420 /* 102487 */ // Label 2221: @102487
36421 /* 102487 */ GIM_Try, /*On fail goto*//*Label 2222*/ GIMT_Encode4(102533), // Rule ID 16742 //
36422 /* 102492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36423 /* 102495 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw512),
36424 /* 102500 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
36425 /* 102503 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
36426 /* 102507 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36427 /* 102511 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36428 /* 102518 */ // (intrinsic_w_chain:{ *:[v32i16] } 14875:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
36429 /* 102518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZm),
36430 /* 102521 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36431 /* 102523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36432 /* 102527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36433 /* 102531 */ GIR_RootConstrainSelectedInstOperands,
36434 /* 102532 */ // GIR_Coverage, 16742,
36435 /* 102532 */ GIR_EraseRootFromParent_Done,
36436 /* 102533 */ // Label 2222: @102533
36437 /* 102533 */ GIM_Try, /*On fail goto*//*Label 2223*/ GIMT_Encode4(102579), // Rule ID 16745 //
36438 /* 102538 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36439 /* 102541 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw128),
36440 /* 102546 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s16,
36441 /* 102549 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
36442 /* 102553 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36443 /* 102557 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36444 /* 102564 */ // (intrinsic_w_chain:{ *:[v8i16] } 14873:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZ128m:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
36445 /* 102564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZ128m),
36446 /* 102567 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36447 /* 102569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36448 /* 102573 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36449 /* 102577 */ GIR_RootConstrainSelectedInstOperands,
36450 /* 102578 */ // GIR_Coverage, 16745,
36451 /* 102578 */ GIR_EraseRootFromParent_Done,
36452 /* 102579 */ // Label 2223: @102579
36453 /* 102579 */ GIM_Try, /*On fail goto*//*Label 2224*/ GIMT_Encode4(102625), // Rule ID 16748 //
36454 /* 102584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36455 /* 102587 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsw256),
36456 /* 102592 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s16,
36457 /* 102595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
36458 /* 102599 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36459 /* 102603 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36460 /* 102610 */ // (intrinsic_w_chain:{ *:[v16i16] } 14874:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSWZ256m:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
36461 /* 102610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSWZ256m),
36462 /* 102613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36463 /* 102615 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36464 /* 102619 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36465 /* 102623 */ GIR_RootConstrainSelectedInstOperands,
36466 /* 102624 */ // GIR_Coverage, 16748,
36467 /* 102624 */ GIR_EraseRootFromParent_Done,
36468 /* 102625 */ // Label 2224: @102625
36469 /* 102625 */ GIM_Try, /*On fail goto*//*Label 2225*/ GIMT_Encode4(102671), // Rule ID 16751 //
36470 /* 102630 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36471 /* 102633 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd512),
36472 /* 102638 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
36473 /* 102641 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
36474 /* 102645 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36475 /* 102649 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36476 /* 102656 */ // (intrinsic_w_chain:{ *:[v16i32] } 14869:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
36477 /* 102656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZm),
36478 /* 102659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36479 /* 102661 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36480 /* 102665 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36481 /* 102669 */ GIR_RootConstrainSelectedInstOperands,
36482 /* 102670 */ // GIR_Coverage, 16751,
36483 /* 102670 */ GIR_EraseRootFromParent_Done,
36484 /* 102671 */ // Label 2225: @102671
36485 /* 102671 */ GIM_Try, /*On fail goto*//*Label 2226*/ GIMT_Encode4(102717), // Rule ID 16754 //
36486 /* 102676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36487 /* 102679 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd128),
36488 /* 102684 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
36489 /* 102687 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
36490 /* 102691 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36491 /* 102695 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36492 /* 102702 */ // (intrinsic_w_chain:{ *:[v4i32] } 14867:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZ128m:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
36493 /* 102702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZ128m),
36494 /* 102705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36495 /* 102707 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36496 /* 102711 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36497 /* 102715 */ GIR_RootConstrainSelectedInstOperands,
36498 /* 102716 */ // GIR_Coverage, 16754,
36499 /* 102716 */ GIR_EraseRootFromParent_Done,
36500 /* 102717 */ // Label 2226: @102717
36501 /* 102717 */ GIM_Try, /*On fail goto*//*Label 2227*/ GIMT_Encode4(102763), // Rule ID 16757 //
36502 /* 102722 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36503 /* 102725 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsd256),
36504 /* 102730 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
36505 /* 102733 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
36506 /* 102737 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36507 /* 102741 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36508 /* 102748 */ // (intrinsic_w_chain:{ *:[v8i32] } 14868:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSDZ256m:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
36509 /* 102748 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSDZ256m),
36510 /* 102751 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36511 /* 102753 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36512 /* 102757 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36513 /* 102761 */ GIR_RootConstrainSelectedInstOperands,
36514 /* 102762 */ // GIR_Coverage, 16757,
36515 /* 102762 */ GIR_EraseRootFromParent_Done,
36516 /* 102763 */ // Label 2227: @102763
36517 /* 102763 */ GIM_Try, /*On fail goto*//*Label 2228*/ GIMT_Encode4(102809), // Rule ID 16760 //
36518 /* 102768 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36519 /* 102771 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq512),
36520 /* 102776 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s64,
36521 /* 102779 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
36522 /* 102783 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36523 /* 102787 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36524 /* 102794 */ // (intrinsic_w_chain:{ *:[v8i64] } 14872:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
36525 /* 102794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZm),
36526 /* 102797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36527 /* 102799 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36528 /* 102803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36529 /* 102807 */ GIR_RootConstrainSelectedInstOperands,
36530 /* 102808 */ // GIR_Coverage, 16760,
36531 /* 102808 */ GIR_EraseRootFromParent_Done,
36532 /* 102809 */ // Label 2228: @102809
36533 /* 102809 */ GIM_Try, /*On fail goto*//*Label 2229*/ GIMT_Encode4(102855), // Rule ID 16763 //
36534 /* 102814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36535 /* 102817 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq128),
36536 /* 102822 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
36537 /* 102825 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
36538 /* 102829 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36539 /* 102833 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36540 /* 102840 */ // (intrinsic_w_chain:{ *:[v2i64] } 14870:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZ128m:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)
36541 /* 102840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZ128m),
36542 /* 102843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36543 /* 102845 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36544 /* 102849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36545 /* 102853 */ GIR_RootConstrainSelectedInstOperands,
36546 /* 102854 */ // GIR_Coverage, 16763,
36547 /* 102854 */ GIR_EraseRootFromParent_Done,
36548 /* 102855 */ // Label 2229: @102855
36549 /* 102855 */ GIM_Try, /*On fail goto*//*Label 2230*/ GIMT_Encode4(102901), // Rule ID 16766 //
36550 /* 102860 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX10_2_HasMOVRS_In64BitMode),
36551 /* 102863 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx10_vmovrsq256),
36552 /* 102868 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
36553 /* 102871 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
36554 /* 102875 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36555 /* 102879 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36556 /* 102886 */ // (intrinsic_w_chain:{ *:[v4i64] } 14871:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src) => (VMOVRSQZ256m:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
36557 /* 102886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVRSQZ256m),
36558 /* 102889 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36559 /* 102891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36560 /* 102895 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36561 /* 102899 */ GIR_RootConstrainSelectedInstOperands,
36562 /* 102900 */ // GIR_Coverage, 16766,
36563 /* 102900 */ GIR_EraseRootFromParent_Done,
36564 /* 102901 */ // Label 2230: @102901
36565 /* 102901 */ GIM_Try, /*On fail goto*//*Label 2231*/ GIMT_Encode4(102947), // Rule ID 17058 //
36566 /* 102906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoEGPR),
36567 /* 102909 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssd),
36568 /* 102914 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36569 /* 102917 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36570 /* 102921 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36571 /* 102925 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36572 /* 102932 */ // (intrinsic_void 16170:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSD addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
36573 /* 102932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSD),
36574 /* 102935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36575 /* 102939 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36576 /* 102941 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36577 /* 102945 */ GIR_RootConstrainSelectedInstOperands,
36578 /* 102946 */ // GIR_Coverage, 17058,
36579 /* 102946 */ GIR_EraseRootFromParent_Done,
36580 /* 102947 */ // Label 2231: @102947
36581 /* 102947 */ GIM_Try, /*On fail goto*//*Label 2232*/ GIMT_Encode4(102993), // Rule ID 17059 //
36582 /* 102952 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoEGPR),
36583 /* 102955 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssq),
36584 /* 102960 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36585 /* 102963 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36586 /* 102967 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36587 /* 102971 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36588 /* 102978 */ // (intrinsic_void 16171:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSQ addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
36589 /* 102978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSQ),
36590 /* 102981 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36591 /* 102985 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36592 /* 102987 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36593 /* 102991 */ GIR_RootConstrainSelectedInstOperands,
36594 /* 102992 */ // GIR_Coverage, 17059,
36595 /* 102992 */ GIR_EraseRootFromParent_Done,
36596 /* 102993 */ // Label 2232: @102993
36597 /* 102993 */ GIM_Try, /*On fail goto*//*Label 2233*/ GIMT_Encode4(103039), // Rule ID 17060 //
36598 /* 102998 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoEGPR),
36599 /* 103001 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussd),
36600 /* 103006 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36601 /* 103009 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36602 /* 103013 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36603 /* 103017 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36604 /* 103024 */ // (intrinsic_void 16172:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSD addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
36605 /* 103024 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSD),
36606 /* 103027 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36607 /* 103031 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36608 /* 103033 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36609 /* 103037 */ GIR_RootConstrainSelectedInstOperands,
36610 /* 103038 */ // GIR_Coverage, 17060,
36611 /* 103038 */ GIR_EraseRootFromParent_Done,
36612 /* 103039 */ // Label 2233: @103039
36613 /* 103039 */ GIM_Try, /*On fail goto*//*Label 2234*/ GIMT_Encode4(103085), // Rule ID 17061 //
36614 /* 103044 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoEGPR),
36615 /* 103047 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussq),
36616 /* 103052 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36617 /* 103055 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36618 /* 103059 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36619 /* 103063 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36620 /* 103070 */ // (intrinsic_void 16173:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSQ addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
36621 /* 103070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSQ),
36622 /* 103073 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36623 /* 103077 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36624 /* 103079 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36625 /* 103083 */ GIR_RootConstrainSelectedInstOperands,
36626 /* 103084 */ // GIR_Coverage, 17061,
36627 /* 103084 */ GIR_EraseRootFromParent_Done,
36628 /* 103085 */ // Label 2234: @103085
36629 /* 103085 */ GIM_Try, /*On fail goto*//*Label 2235*/ GIMT_Encode4(103131), // Rule ID 17062 //
36630 /* 103090 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_In64BitMode),
36631 /* 103093 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssd),
36632 /* 103098 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36633 /* 103101 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36634 /* 103105 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36635 /* 103109 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36636 /* 103116 */ // (intrinsic_void 16170:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSD_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
36637 /* 103116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSD_EVEX),
36638 /* 103119 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36639 /* 103123 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36640 /* 103125 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36641 /* 103129 */ GIR_RootConstrainSelectedInstOperands,
36642 /* 103130 */ // GIR_Coverage, 17062,
36643 /* 103130 */ GIR_EraseRootFromParent_Done,
36644 /* 103131 */ // Label 2235: @103131
36645 /* 103131 */ GIM_Try, /*On fail goto*//*Label 2236*/ GIMT_Encode4(103177), // Rule ID 17063 //
36646 /* 103136 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_In64BitMode),
36647 /* 103139 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrssq),
36648 /* 103144 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36649 /* 103147 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36650 /* 103151 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36651 /* 103155 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36652 /* 103162 */ // (intrinsic_void 16171:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRSSQ_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
36653 /* 103162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRSSQ_EVEX),
36654 /* 103165 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36655 /* 103169 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36656 /* 103171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36657 /* 103175 */ GIR_RootConstrainSelectedInstOperands,
36658 /* 103176 */ // GIR_Coverage, 17063,
36659 /* 103176 */ GIR_EraseRootFromParent_Done,
36660 /* 103177 */ // Label 2236: @103177
36661 /* 103177 */ GIM_Try, /*On fail goto*//*Label 2237*/ GIMT_Encode4(103223), // Rule ID 17064 //
36662 /* 103182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_In64BitMode),
36663 /* 103185 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussd),
36664 /* 103190 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36665 /* 103193 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36666 /* 103197 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36667 /* 103201 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36668 /* 103208 */ // (intrinsic_void 16172:{ *:[iPTR] }, GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSD_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
36669 /* 103208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSD_EVEX),
36670 /* 103211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36671 /* 103215 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36672 /* 103217 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36673 /* 103221 */ GIR_RootConstrainSelectedInstOperands,
36674 /* 103222 */ // GIR_Coverage, 17064,
36675 /* 103222 */ GIR_EraseRootFromParent_Done,
36676 /* 103223 */ // Label 2237: @103223
36677 /* 103223 */ GIM_Try, /*On fail goto*//*Label 2238*/ GIMT_Encode4(103269), // Rule ID 17065 //
36678 /* 103228 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_In64BitMode),
36679 /* 103231 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_wrussq),
36680 /* 103236 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
36681 /* 103239 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36682 /* 103243 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36683 /* 103247 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36684 /* 103254 */ // (intrinsic_void 16173:{ *:[iPTR] }, GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst) => (WRUSSQ_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
36685 /* 103254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::WRUSSQ_EVEX),
36686 /* 103257 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36687 /* 103261 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
36688 /* 103263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36689 /* 103267 */ GIR_RootConstrainSelectedInstOperands,
36690 /* 103268 */ // GIR_Coverage, 17065,
36691 /* 103268 */ GIR_EraseRootFromParent_Done,
36692 /* 103269 */ // Label 2238: @103269
36693 /* 103269 */ GIM_Try, /*On fail goto*//*Label 2239*/ GIMT_Encode4(103315), // Rule ID 17091 //
36694 /* 103274 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasINVPCID_Not64BitMode),
36695 /* 103277 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_invpcid),
36696 /* 103282 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36697 /* 103285 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36698 /* 103289 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36699 /* 103293 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36700 /* 103300 */ // (intrinsic_void 15760:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID32 GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2)
36701 /* 103300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID32),
36702 /* 103303 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
36703 /* 103305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36704 /* 103309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36705 /* 103313 */ GIR_RootConstrainSelectedInstOperands,
36706 /* 103314 */ // GIR_Coverage, 17091,
36707 /* 103314 */ GIR_EraseRootFromParent_Done,
36708 /* 103315 */ // Label 2239: @103315
36709 /* 103315 */ GIM_Try, /*On fail goto*//*Label 2240*/ GIMT_Encode4(103404), // Rule ID 22416 //
36710 /* 103320 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasINVPCID_NoEGPR),
36711 /* 103323 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_invpcid),
36712 /* 103328 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36713 /* 103331 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36714 /* 103335 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36715 /* 103339 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36716 /* 103346 */ // (intrinsic_void 15760:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID64 (SUBREG_TO_REG:{ *:[i64] } (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1), sub_32bit:{ *:[i32] }), addr:{ *:[iPTR] }:$src2)
36717 /* 103346 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
36718 /* 103349 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
36719 /* 103353 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36720 /* 103358 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
36721 /* 103362 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
36722 /* 103364 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
36723 /* 103367 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
36724 /* 103371 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36725 /* 103376 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
36726 /* 103379 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/6,
36727 /* 103382 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
36728 /* 103387 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
36729 /* 103392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID64),
36730 /* 103395 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
36731 /* 103398 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36732 /* 103402 */ GIR_RootConstrainSelectedInstOperands,
36733 /* 103403 */ // GIR_Coverage, 22416,
36734 /* 103403 */ GIR_EraseRootFromParent_Done,
36735 /* 103404 */ // Label 2240: @103404
36736 /* 103404 */ GIM_Try, /*On fail goto*//*Label 2241*/ GIMT_Encode4(103493), // Rule ID 22417 //
36737 /* 103409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasINVPCID),
36738 /* 103412 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_invpcid),
36739 /* 103417 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36740 /* 103420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36741 /* 103424 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36742 /* 103428 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36743 /* 103435 */ // (intrinsic_void 15760:{ *:[iPTR] }, GR32:{ *:[i32] }:$src1, addr:{ *:[iPTR] }:$src2) => (INVPCID64_EVEX (SUBREG_TO_REG:{ *:[i64] } (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1), sub_32bit:{ *:[i32] }), addr:{ *:[iPTR] }:$src2)
36744 /* 103435 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
36745 /* 103438 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
36746 /* 103442 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36747 /* 103447 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
36748 /* 103451 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
36749 /* 103453 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
36750 /* 103456 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
36751 /* 103460 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36752 /* 103465 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
36753 /* 103468 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/6,
36754 /* 103471 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
36755 /* 103476 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
36756 /* 103481 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INVPCID64_EVEX),
36757 /* 103484 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
36758 /* 103487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
36759 /* 103491 */ GIR_RootConstrainSelectedInstOperands,
36760 /* 103492 */ // GIR_Coverage, 22417,
36761 /* 103492 */ GIR_EraseRootFromParent_Done,
36762 /* 103493 */ // Label 2241: @103493
36763 /* 103493 */ GIM_Try, /*On fail goto*//*Label 2242*/ GIMT_Encode4(103539), // Rule ID 131 //
36764 /* 103498 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVDIRI_NoEGPR),
36765 /* 103501 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore32),
36766 /* 103506 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36767 /* 103509 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36768 /* 103513 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36769 /* 103517 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36770 /* 103524 */ // (intrinsic_void 15739:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src) => (MOVDIRI32 addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
36771 /* 103524 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI32),
36772 /* 103527 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36773 /* 103531 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36774 /* 103533 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36775 /* 103537 */ GIR_RootConstrainSelectedInstOperands,
36776 /* 103538 */ // GIR_Coverage, 131,
36777 /* 103538 */ GIR_EraseRootFromParent_Done,
36778 /* 103539 */ // Label 2242: @103539
36779 /* 103539 */ GIM_Try, /*On fail goto*//*Label 2243*/ GIMT_Encode4(103585), // Rule ID 132 //
36780 /* 103544 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVDIRI_In64BitMode_NoEGPR),
36781 /* 103547 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore64),
36782 /* 103552 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36783 /* 103555 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36784 /* 103559 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36785 /* 103563 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36786 /* 103570 */ // (intrinsic_void 15740:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src) => (MOVDIRI64 addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
36787 /* 103570 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI64),
36788 /* 103573 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36789 /* 103577 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36790 /* 103579 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36791 /* 103583 */ GIR_RootConstrainSelectedInstOperands,
36792 /* 103584 */ // GIR_Coverage, 132,
36793 /* 103584 */ GIR_EraseRootFromParent_Done,
36794 /* 103585 */ // Label 2243: @103585
36795 /* 103585 */ GIM_Try, /*On fail goto*//*Label 2244*/ GIMT_Encode4(103631), // Rule ID 133 //
36796 /* 103590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIRI_In64BitMode),
36797 /* 103593 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore32),
36798 /* 103598 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36799 /* 103601 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36800 /* 103605 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36801 /* 103609 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36802 /* 103616 */ // (intrinsic_void 15739:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src) => (MOVDIRI32_EVEX addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
36803 /* 103616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI32_EVEX),
36804 /* 103619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36805 /* 103623 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36806 /* 103625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36807 /* 103629 */ GIR_RootConstrainSelectedInstOperands,
36808 /* 103630 */ // GIR_Coverage, 133,
36809 /* 103630 */ GIR_EraseRootFromParent_Done,
36810 /* 103631 */ // Label 2244: @103631
36811 /* 103631 */ GIM_Try, /*On fail goto*//*Label 2245*/ GIMT_Encode4(103677), // Rule ID 134 //
36812 /* 103636 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIRI_In64BitMode),
36813 /* 103639 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_directstore64),
36814 /* 103644 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36815 /* 103647 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
36816 /* 103651 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36817 /* 103655 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36818 /* 103662 */ // (intrinsic_void 15740:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src) => (MOVDIRI64_EVEX addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
36819 /* 103662 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIRI64_EVEX),
36820 /* 103665 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
36821 /* 103669 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36822 /* 103671 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36823 /* 103675 */ GIR_RootConstrainSelectedInstOperands,
36824 /* 103676 */ // GIR_Coverage, 134,
36825 /* 103676 */ GIR_EraseRootFromParent_Done,
36826 /* 103677 */ // Label 2245: @103677
36827 /* 103677 */ GIM_Try, /*On fail goto*//*Label 2246*/ GIMT_Encode4(103724), // Rule ID 135 //
36828 /* 103682 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVDIR64B_NoEGPR),
36829 /* 103685 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
36830 /* 103690 */ // MIs[0] dst
36831 /* 103690 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
36832 /* 103694 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36833 /* 103698 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36834 /* 103702 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36835 /* 103709 */ // (intrinsic_void 15840:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B32 GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src)
36836 /* 103709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B32),
36837 /* 103712 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36838 /* 103714 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36839 /* 103718 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36840 /* 103722 */ GIR_RootConstrainSelectedInstOperands,
36841 /* 103723 */ // GIR_Coverage, 135,
36842 /* 103723 */ GIR_EraseRootFromParent_Done,
36843 /* 103724 */ // Label 2246: @103724
36844 /* 103724 */ GIM_Try, /*On fail goto*//*Label 2247*/ GIMT_Encode4(103771), // Rule ID 136 //
36845 /* 103729 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVDIR64B_In64BitMode_NoEGPR),
36846 /* 103732 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
36847 /* 103737 */ // MIs[0] dst
36848 /* 103737 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
36849 /* 103741 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36850 /* 103745 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36851 /* 103749 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36852 /* 103756 */ // (intrinsic_void 15840:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B64 GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src)
36853 /* 103756 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B64),
36854 /* 103759 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36855 /* 103761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36856 /* 103765 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36857 /* 103769 */ GIR_RootConstrainSelectedInstOperands,
36858 /* 103770 */ // GIR_Coverage, 136,
36859 /* 103770 */ GIR_EraseRootFromParent_Done,
36860 /* 103771 */ // Label 2247: @103771
36861 /* 103771 */ GIM_Try, /*On fail goto*//*Label 2248*/ GIMT_Encode4(103818), // Rule ID 137 //
36862 /* 103776 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIR64B_In64BitMode),
36863 /* 103779 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
36864 /* 103784 */ // MIs[0] dst
36865 /* 103784 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/32,
36866 /* 103788 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36867 /* 103792 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36868 /* 103796 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36869 /* 103803 */ // (intrinsic_void 15840:{ *:[iPTR] }, GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B32_EVEX GR32:{ *:[i32] }:$dst, addr:{ *:[iPTR] }:$src)
36870 /* 103803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B32_EVEX),
36871 /* 103806 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36872 /* 103808 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36873 /* 103812 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36874 /* 103816 */ GIR_RootConstrainSelectedInstOperands,
36875 /* 103817 */ // GIR_Coverage, 137,
36876 /* 103817 */ GIR_EraseRootFromParent_Done,
36877 /* 103818 */ // Label 2248: @103818
36878 /* 103818 */ GIM_Try, /*On fail goto*//*Label 2249*/ GIMT_Encode4(103865), // Rule ID 138 //
36879 /* 103823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVDIR64B_In64BitMode),
36880 /* 103826 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_movdir64b),
36881 /* 103831 */ // MIs[0] dst
36882 /* 103831 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
36883 /* 103835 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36884 /* 103839 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
36885 /* 103843 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
36886 /* 103850 */ // (intrinsic_void 15840:{ *:[iPTR] }, GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src) => (MOVDIR64B64_EVEX GR64:{ *:[i64] }:$dst, addr:{ *:[iPTR] }:$src)
36887 /* 103850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVDIR64B64_EVEX),
36888 /* 103853 */ GIR_RootToRootCopy, /*OpIdx*/1, // dst
36889 /* 103855 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
36890 /* 103859 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36891 /* 103863 */ GIR_RootConstrainSelectedInstOperands,
36892 /* 103864 */ // GIR_Coverage, 138,
36893 /* 103864 */ GIR_EraseRootFromParent_Done,
36894 /* 103865 */ // Label 2249: @103865
36895 /* 103865 */ GIM_Try, /*On fail goto*//*Label 2250*/ GIMT_Encode4(103908), // Rule ID 17116 //
36896 /* 103870 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::asan_check_memaccess),
36897 /* 103875 */ // MIs[0] addr
36898 /* 103875 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/64,
36899 /* 103879 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64PLTSafeRegClassID),
36900 /* 103883 */ // MIs[0] accessinfo
36901 /* 103883 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
36902 /* 103886 */ // (intrinsic_void 14:{ *:[iPTR] }, GR64PLTSafe:{ *:[i64] }:$addr, (timm:{ *:[i32] }):$accessinfo) => (ASAN_CHECK_MEMACCESS:{ *:[i64] } GR64PLTSafe:{ *:[i64] }:$addr, (timm:{ *:[i32] }):$accessinfo)
36903 /* 103886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ASAN_CHECK_MEMACCESS),
36904 /* 103889 */ GIR_RootToRootCopy, /*OpIdx*/1, // addr
36905 /* 103891 */ GIR_RootToRootCopy, /*OpIdx*/2, // accessinfo
36906 /* 103893 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::R10*/0,
36907 /* 103896 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::R11*/1,
36908 /* 103899 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/2,
36909 /* 103902 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36910 /* 103906 */ GIR_RootConstrainSelectedInstOperands,
36911 /* 103907 */ // GIR_Coverage, 17116,
36912 /* 103907 */ GIR_EraseRootFromParent_Done,
36913 /* 103908 */ // Label 2250: @103908
36914 /* 103908 */ GIM_Try, /*On fail goto*//*Label 2251*/ GIMT_Encode4(103948), // Rule ID 17042 //
36915 /* 103913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUSERMSR_NoEGPR),
36916 /* 103916 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_urdmsr),
36917 /* 103921 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36918 /* 103924 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36919 /* 103927 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36920 /* 103931 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36921 /* 103935 */ // (intrinsic_w_chain:{ *:[i64] } 16124:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (URDMSRrr:{ *:[i64] } GR64:{ *:[i64] }:$src)
36922 /* 103935 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::URDMSRrr),
36923 /* 103938 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36924 /* 103940 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36925 /* 103942 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36926 /* 103946 */ GIR_RootConstrainSelectedInstOperands,
36927 /* 103947 */ // GIR_Coverage, 17042,
36928 /* 103947 */ GIR_EraseRootFromParent_Done,
36929 /* 103948 */ // Label 2251: @103948
36930 /* 103948 */ GIM_Try, /*On fail goto*//*Label 2252*/ GIMT_Encode4(103988), // Rule ID 17046 //
36931 /* 103953 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasUSERMSR_In64BitMode),
36932 /* 103956 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_urdmsr),
36933 /* 103961 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36934 /* 103964 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36935 /* 103967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36936 /* 103971 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36937 /* 103975 */ // (intrinsic_w_chain:{ *:[i64] } 16124:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (URDMSRrr_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src)
36938 /* 103975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::URDMSRrr_EVEX),
36939 /* 103978 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36940 /* 103980 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36941 /* 103982 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36942 /* 103986 */ GIR_RootConstrainSelectedInstOperands,
36943 /* 103987 */ // GIR_Coverage, 17046,
36944 /* 103987 */ GIR_EraseRootFromParent_Done,
36945 /* 103988 */ // Label 2252: @103988
36946 /* 103988 */ GIM_Try, /*On fail goto*//*Label 2253*/ GIMT_Encode4(104025), // Rule ID 17054 //
36947 /* 103993 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdsspd),
36948 /* 103998 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s32,
36949 /* 104001 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36950 /* 104004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36951 /* 104008 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
36952 /* 104012 */ // (intrinsic_w_chain:{ *:[i32] } 15866:{ *:[iPTR] }, GR32:{ *:[i32] }:$src) => (RDSSPD:{ *:[i32] } GR32:{ *:[i32] }:$src)
36953 /* 104012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDSSPD),
36954 /* 104015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36955 /* 104017 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36956 /* 104019 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36957 /* 104023 */ GIR_RootConstrainSelectedInstOperands,
36958 /* 104024 */ // GIR_Coverage, 17054,
36959 /* 104024 */ GIR_EraseRootFromParent_Done,
36960 /* 104025 */ // Label 2253: @104025
36961 /* 104025 */ GIM_Try, /*On fail goto*//*Label 2254*/ GIMT_Encode4(104062), // Rule ID 17055 //
36962 /* 104030 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_rdsspq),
36963 /* 104035 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_s64,
36964 /* 104038 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
36965 /* 104041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36966 /* 104045 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
36967 /* 104049 */ // (intrinsic_w_chain:{ *:[i64] } 15867:{ *:[iPTR] }, GR64:{ *:[i64] }:$src) => (RDSSPQ:{ *:[i64] } GR64:{ *:[i64] }:$src)
36968 /* 104049 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RDSSPQ),
36969 /* 104052 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
36970 /* 104054 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
36971 /* 104056 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36972 /* 104060 */ GIR_RootConstrainSelectedInstOperands,
36973 /* 104061 */ // GIR_Coverage, 17055,
36974 /* 104061 */ GIR_EraseRootFromParent_Done,
36975 /* 104062 */ // Label 2254: @104062
36976 /* 104062 */ GIM_Try, /*On fail goto*//*Label 2255*/ GIMT_Encode4(104126), // Rule ID 3062 //
36977 /* 104067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
36978 /* 104070 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse3_mwait),
36979 /* 104075 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
36980 /* 104078 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
36981 /* 104081 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32_ArgRef_and_GR32_CBRegClassID),
36982 /* 104085 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
36983 /* 104089 */ // (intrinsic_void 15991:{ *:[iPTR] }, ECX:{ *:[i32] }, EAX:{ *:[i32] }) => (MWAITrr)
36984 /* 104089 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36985 /* 104093 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36986 /* 104099 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // EAX
36987 /* 104103 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
36988 /* 104107 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::ECX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
36989 /* 104113 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // ECX
36990 /* 104117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MWAITrr),
36991 /* 104120 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
36992 /* 104124 */ GIR_RootConstrainSelectedInstOperands,
36993 /* 104125 */ // GIR_Coverage, 3062,
36994 /* 104125 */ GIR_EraseRootFromParent_Done,
36995 /* 104126 */ // Label 2255: @104126
36996 /* 104126 */ GIM_Try, /*On fail goto*//*Label 2256*/ GIMT_Encode4(104166), // Rule ID 17044 //
36997 /* 104131 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasUSERMSR_NoEGPR),
36998 /* 104134 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_uwrmsr),
36999 /* 104139 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37000 /* 104142 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
37001 /* 104145 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37002 /* 104149 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37003 /* 104153 */ // (intrinsic_void 16125:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (UWRMSRrr GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
37004 /* 104153 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UWRMSRrr),
37005 /* 104156 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37006 /* 104158 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37007 /* 104160 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37008 /* 104164 */ GIR_RootConstrainSelectedInstOperands,
37009 /* 104165 */ // GIR_Coverage, 17044,
37010 /* 104165 */ GIR_EraseRootFromParent_Done,
37011 /* 104166 */ // Label 2256: @104166
37012 /* 104166 */ GIM_Try, /*On fail goto*//*Label 2257*/ GIMT_Encode4(104206), // Rule ID 17048 //
37013 /* 104171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasUSERMSR_In64BitMode),
37014 /* 104174 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_uwrmsr),
37015 /* 104179 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37016 /* 104182 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
37017 /* 104185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37018 /* 104189 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37019 /* 104193 */ // (intrinsic_void 16125:{ *:[iPTR] }, GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2) => (UWRMSRrr_EVEX GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
37020 /* 104193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::UWRMSRrr_EVEX),
37021 /* 104196 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37022 /* 104198 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37023 /* 104200 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37024 /* 104204 */ GIR_RootConstrainSelectedInstOperands,
37025 /* 104205 */ // GIR_Coverage, 17048,
37026 /* 104205 */ GIR_EraseRootFromParent_Done,
37027 /* 104206 */ // Label 2257: @104206
37028 /* 104206 */ GIM_Reject,
37029 /* 104207 */ // Label 2195: @104207
37030 /* 104207 */ GIM_Try, /*On fail goto*//*Label 2258*/ GIMT_Encode4(107482),
37031 /* 104212 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/4,
37032 /* 104215 */ GIM_Try, /*On fail goto*//*Label 2259*/ GIMT_Encode4(104287), // Rule ID 123 //
37033 /* 104220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
37034 /* 104223 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval32),
37035 /* 104228 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
37036 /* 104231 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37037 /* 104234 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37038 /* 104238 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
37039 /* 104242 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
37040 /* 104246 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
37041 /* 104249 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
37042 /* 104253 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
37043 /* 104257 */ // MIs[0] cntl
37044 /* 104257 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37045 /* 104260 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
37046 /* 104262 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37047 /* 104269 */ // (intrinsic_void 15767:{ *:[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)
37048 /* 104269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL32rmi),
37049 /* 104272 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
37050 /* 104274 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
37051 /* 104278 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
37052 /* 104280 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
37053 /* 104285 */ GIR_RootConstrainSelectedInstOperands,
37054 /* 104286 */ // GIR_Coverage, 123,
37055 /* 104286 */ GIR_EraseRootFromParent_Done,
37056 /* 104287 */ // Label 2259: @104287
37057 /* 104287 */ GIM_Try, /*On fail goto*//*Label 2260*/ GIMT_Encode4(104359), // Rule ID 125 //
37058 /* 104292 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
37059 /* 104295 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval64),
37060 /* 104300 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
37061 /* 104303 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37062 /* 104306 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
37063 /* 104310 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
37064 /* 104314 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
37065 /* 104318 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
37066 /* 104321 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
37067 /* 104325 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
37068 /* 104329 */ // MIs[0] cntl
37069 /* 104329 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37070 /* 104332 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
37071 /* 104334 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37072 /* 104341 */ // (intrinsic_void 15768:{ *:[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)
37073 /* 104341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL64rmi),
37074 /* 104344 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
37075 /* 104346 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
37076 /* 104350 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
37077 /* 104352 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
37078 /* 104357 */ GIR_RootConstrainSelectedInstOperands,
37079 /* 104358 */ // GIR_Coverage, 125,
37080 /* 104358 */ GIR_EraseRootFromParent_Done,
37081 /* 104359 */ // Label 2260: @104359
37082 /* 104359 */ GIM_Try, /*On fail goto*//*Label 2261*/ GIMT_Encode4(104414), // Rule ID 3363 //
37083 /* 104364 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37084 /* 104367 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_ps),
37085 /* 104372 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
37086 /* 104375 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
37087 /* 104378 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37088 /* 104382 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37089 /* 104386 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37090 /* 104390 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37091 /* 104397 */ // (intrinsic_w_chain:{ *:[v4f32] } 14613:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src1) => (VMASKMOVPSrm:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
37092 /* 104397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSrm),
37093 /* 104400 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37094 /* 104402 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37095 /* 104404 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37096 /* 104408 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37097 /* 104412 */ GIR_RootConstrainSelectedInstOperands,
37098 /* 104413 */ // GIR_Coverage, 3363,
37099 /* 104413 */ GIR_EraseRootFromParent_Done,
37100 /* 104414 */ // Label 2261: @104414
37101 /* 104414 */ GIM_Try, /*On fail goto*//*Label 2262*/ GIMT_Encode4(104469), // Rule ID 3364 //
37102 /* 104419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37103 /* 104422 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_ps_256),
37104 /* 104427 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
37105 /* 104430 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
37106 /* 104433 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37107 /* 104437 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37108 /* 104441 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37109 /* 104445 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37110 /* 104452 */ // (intrinsic_w_chain:{ *:[v8f32] } 14614:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v8i32] }:$src1) => (VMASKMOVPSYrm:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
37111 /* 104452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSYrm),
37112 /* 104455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37113 /* 104457 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37114 /* 104459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37115 /* 104463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37116 /* 104467 */ GIR_RootConstrainSelectedInstOperands,
37117 /* 104468 */ // GIR_Coverage, 3364,
37118 /* 104468 */ GIR_EraseRootFromParent_Done,
37119 /* 104469 */ // Label 2262: @104469
37120 /* 104469 */ GIM_Try, /*On fail goto*//*Label 2263*/ GIMT_Encode4(104524), // Rule ID 3367 //
37121 /* 104474 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37122 /* 104477 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_pd),
37123 /* 104482 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
37124 /* 104485 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
37125 /* 104488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37126 /* 104492 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37127 /* 104496 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37128 /* 104500 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37129 /* 104507 */ // (intrinsic_w_chain:{ *:[v2f64] } 14611:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src1) => (VMASKMOVPDrm:{ *:[v2f64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
37130 /* 104507 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDrm),
37131 /* 104510 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37132 /* 104512 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37133 /* 104514 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37134 /* 104518 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37135 /* 104522 */ GIR_RootConstrainSelectedInstOperands,
37136 /* 104523 */ // GIR_Coverage, 3367,
37137 /* 104523 */ GIR_EraseRootFromParent_Done,
37138 /* 104524 */ // Label 2263: @104524
37139 /* 104524 */ GIM_Try, /*On fail goto*//*Label 2264*/ GIMT_Encode4(104579), // Rule ID 3368 //
37140 /* 104529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37141 /* 104532 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx_maskload_pd_256),
37142 /* 104537 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
37143 /* 104540 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
37144 /* 104543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37145 /* 104547 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37146 /* 104551 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37147 /* 104555 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37148 /* 104562 */ // (intrinsic_w_chain:{ *:[v4f64] } 14612:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v4i64] }:$src1) => (VMASKMOVPDYrm:{ *:[v4f64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
37149 /* 104562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDYrm),
37150 /* 104565 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37151 /* 104567 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37152 /* 104569 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37153 /* 104573 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37154 /* 104577 */ GIR_RootConstrainSelectedInstOperands,
37155 /* 104578 */ // GIR_Coverage, 3368,
37156 /* 104578 */ GIR_EraseRootFromParent_Done,
37157 /* 104579 */ // Label 2264: @104579
37158 /* 104579 */ GIM_Try, /*On fail goto*//*Label 2265*/ GIMT_Encode4(104634), // Rule ID 3441 //
37159 /* 104584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37160 /* 104587 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_d),
37161 /* 104592 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s32,
37162 /* 104595 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
37163 /* 104598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37164 /* 104602 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37165 /* 104606 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37166 /* 104610 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37167 /* 104617 */ // (intrinsic_w_chain:{ *:[v4i32] } 14911:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v4i32] }:$src1) => (VPMASKMOVDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
37168 /* 104617 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDrm),
37169 /* 104620 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37170 /* 104622 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37171 /* 104624 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37172 /* 104628 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37173 /* 104632 */ GIR_RootConstrainSelectedInstOperands,
37174 /* 104633 */ // GIR_Coverage, 3441,
37175 /* 104633 */ GIR_EraseRootFromParent_Done,
37176 /* 104634 */ // Label 2265: @104634
37177 /* 104634 */ GIM_Try, /*On fail goto*//*Label 2266*/ GIMT_Encode4(104689), // Rule ID 3442 //
37178 /* 104639 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37179 /* 104642 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_d_256),
37180 /* 104647 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v8s32,
37181 /* 104650 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
37182 /* 104653 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37183 /* 104657 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37184 /* 104661 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37185 /* 104665 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37186 /* 104672 */ // (intrinsic_w_chain:{ *:[v8i32] } 14912:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v8i32] }:$src1) => (VPMASKMOVDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
37187 /* 104672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDYrm),
37188 /* 104675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37189 /* 104677 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37190 /* 104679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37191 /* 104683 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37192 /* 104687 */ GIR_RootConstrainSelectedInstOperands,
37193 /* 104688 */ // GIR_Coverage, 3442,
37194 /* 104688 */ GIR_EraseRootFromParent_Done,
37195 /* 104689 */ // Label 2266: @104689
37196 /* 104689 */ GIM_Try, /*On fail goto*//*Label 2267*/ GIMT_Encode4(104744), // Rule ID 3445 //
37197 /* 104694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37198 /* 104697 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_q),
37199 /* 104702 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v2s64,
37200 /* 104705 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
37201 /* 104708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37202 /* 104712 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37203 /* 104716 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37204 /* 104720 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37205 /* 104727 */ // (intrinsic_w_chain:{ *:[v2i64] } 14913:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR128:{ *:[v2i64] }:$src1) => (VPMASKMOVQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
37206 /* 104727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQrm),
37207 /* 104730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37208 /* 104732 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37209 /* 104734 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37210 /* 104738 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37211 /* 104742 */ GIR_RootConstrainSelectedInstOperands,
37212 /* 104743 */ // GIR_Coverage, 3445,
37213 /* 104743 */ GIR_EraseRootFromParent_Done,
37214 /* 104744 */ // Label 2267: @104744
37215 /* 104744 */ GIM_Try, /*On fail goto*//*Label 2268*/ GIMT_Encode4(104799), // Rule ID 3446 //
37216 /* 104749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37217 /* 104752 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_avx2_maskload_q_256),
37218 /* 104757 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v4s64,
37219 /* 104760 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
37220 /* 104763 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37221 /* 104767 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/2, /*SizeInBits*/0,
37222 /* 104771 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37223 /* 104775 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/2, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37224 /* 104782 */ // (intrinsic_w_chain:{ *:[v4i64] } 14914:{ *:[iPTR] }, addr:{ *:[iPTR] }:$src2, VR256:{ *:[v4i64] }:$src1) => (VPMASKMOVQYrm:{ *:[v4i64] } VR256:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
37225 /* 104782 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQYrm),
37226 /* 104785 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37227 /* 104787 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
37228 /* 104789 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
37229 /* 104793 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37230 /* 104797 */ GIR_RootConstrainSelectedInstOperands,
37231 /* 104798 */ // GIR_Coverage, 3446,
37232 /* 104798 */ GIR_EraseRootFromParent_Done,
37233 /* 104799 */ // Label 2268: @104799
37234 /* 104799 */ GIM_Try, /*On fail goto*//*Label 2269*/ GIMT_Encode4(104854), // Rule ID 3365 //
37235 /* 104804 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37236 /* 104807 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_ps),
37237 /* 104812 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
37238 /* 104815 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
37239 /* 104818 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37240 /* 104822 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37241 /* 104826 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37242 /* 104830 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37243 /* 104837 */ // (intrinsic_void 14617:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMASKMOVPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4f32] }:$src2)
37244 /* 104837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSmr),
37245 /* 104840 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37246 /* 104844 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37247 /* 104846 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37248 /* 104848 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37249 /* 104852 */ GIR_RootConstrainSelectedInstOperands,
37250 /* 104853 */ // GIR_Coverage, 3365,
37251 /* 104853 */ GIR_EraseRootFromParent_Done,
37252 /* 104854 */ // Label 2269: @104854
37253 /* 104854 */ GIM_Try, /*On fail goto*//*Label 2270*/ GIMT_Encode4(104909), // Rule ID 3366 //
37254 /* 104859 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37255 /* 104862 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_ps_256),
37256 /* 104867 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
37257 /* 104870 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
37258 /* 104873 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37259 /* 104877 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37260 /* 104881 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37261 /* 104885 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37262 /* 104892 */ // (intrinsic_void 14618:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMASKMOVPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8f32] }:$src2)
37263 /* 104892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPSYmr),
37264 /* 104895 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37265 /* 104899 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37266 /* 104901 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37267 /* 104903 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37268 /* 104907 */ GIR_RootConstrainSelectedInstOperands,
37269 /* 104908 */ // GIR_Coverage, 3366,
37270 /* 104908 */ GIR_EraseRootFromParent_Done,
37271 /* 104909 */ // Label 2270: @104909
37272 /* 104909 */ GIM_Try, /*On fail goto*//*Label 2271*/ GIMT_Encode4(104964), // Rule ID 3369 //
37273 /* 104914 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37274 /* 104917 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_pd),
37275 /* 104922 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
37276 /* 104925 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
37277 /* 104928 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37278 /* 104932 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37279 /* 104936 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37280 /* 104940 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37281 /* 104947 */ // (intrinsic_void 14615:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMASKMOVPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2f64] }:$src2)
37282 /* 104947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDmr),
37283 /* 104950 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37284 /* 104954 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37285 /* 104956 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37286 /* 104958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37287 /* 104962 */ GIR_RootConstrainSelectedInstOperands,
37288 /* 104963 */ // GIR_Coverage, 3369,
37289 /* 104963 */ GIR_EraseRootFromParent_Done,
37290 /* 104964 */ // Label 2271: @104964
37291 /* 104964 */ GIM_Try, /*On fail goto*//*Label 2272*/ GIMT_Encode4(105019), // Rule ID 3370 //
37292 /* 104969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
37293 /* 104972 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx_maskstore_pd_256),
37294 /* 104977 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
37295 /* 104980 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
37296 /* 104983 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37297 /* 104987 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37298 /* 104991 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37299 /* 104995 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37300 /* 105002 */ // (intrinsic_void 14616:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMASKMOVPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4f64] }:$src2)
37301 /* 105002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVPDYmr),
37302 /* 105005 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37303 /* 105009 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37304 /* 105011 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37305 /* 105013 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37306 /* 105017 */ GIR_RootConstrainSelectedInstOperands,
37307 /* 105018 */ // GIR_Coverage, 3370,
37308 /* 105018 */ GIR_EraseRootFromParent_Done,
37309 /* 105019 */ // Label 2272: @105019
37310 /* 105019 */ GIM_Try, /*On fail goto*//*Label 2273*/ GIMT_Encode4(105074), // Rule ID 3443 //
37311 /* 105024 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37312 /* 105027 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_d),
37313 /* 105032 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
37314 /* 105035 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
37315 /* 105038 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37316 /* 105042 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37317 /* 105046 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37318 /* 105050 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37319 /* 105057 */ // (intrinsic_void 14915:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMASKMOVDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
37320 /* 105057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDmr),
37321 /* 105060 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37322 /* 105064 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37323 /* 105066 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37324 /* 105068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37325 /* 105072 */ GIR_RootConstrainSelectedInstOperands,
37326 /* 105073 */ // GIR_Coverage, 3443,
37327 /* 105073 */ GIR_EraseRootFromParent_Done,
37328 /* 105074 */ // Label 2273: @105074
37329 /* 105074 */ GIM_Try, /*On fail goto*//*Label 2274*/ GIMT_Encode4(105129), // Rule ID 3444 //
37330 /* 105079 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37331 /* 105082 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_d_256),
37332 /* 105087 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
37333 /* 105090 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
37334 /* 105093 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37335 /* 105097 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37336 /* 105101 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37337 /* 105105 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37338 /* 105112 */ // (intrinsic_void 14916:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMASKMOVDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
37339 /* 105112 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVDYmr),
37340 /* 105115 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37341 /* 105119 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37342 /* 105121 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37343 /* 105123 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37344 /* 105127 */ GIR_RootConstrainSelectedInstOperands,
37345 /* 105128 */ // GIR_Coverage, 3444,
37346 /* 105128 */ GIR_EraseRootFromParent_Done,
37347 /* 105129 */ // Label 2274: @105129
37348 /* 105129 */ GIM_Try, /*On fail goto*//*Label 2275*/ GIMT_Encode4(105184), // Rule ID 3447 //
37349 /* 105134 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37350 /* 105137 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_q),
37351 /* 105142 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
37352 /* 105145 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
37353 /* 105148 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37354 /* 105152 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37355 /* 105156 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
37356 /* 105160 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37357 /* 105167 */ // (intrinsic_void 14917:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPMASKMOVQmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
37358 /* 105167 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQmr),
37359 /* 105170 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37360 /* 105174 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37361 /* 105176 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37362 /* 105178 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37363 /* 105182 */ GIR_RootConstrainSelectedInstOperands,
37364 /* 105183 */ // GIR_Coverage, 3447,
37365 /* 105183 */ GIR_EraseRootFromParent_Done,
37366 /* 105184 */ // Label 2275: @105184
37367 /* 105184 */ GIM_Try, /*On fail goto*//*Label 2276*/ GIMT_Encode4(105239), // Rule ID 3448 //
37368 /* 105189 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2),
37369 /* 105192 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_avx2_maskstore_q_256),
37370 /* 105197 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
37371 /* 105200 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
37372 /* 105203 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37373 /* 105207 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37374 /* 105211 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
37375 /* 105215 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37376 /* 105222 */ // (intrinsic_void 14918:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2) => (VPMASKMOVQYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, VR256:{ *:[v4i64] }:$src2)
37377 /* 105222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMASKMOVQYmr),
37378 /* 105225 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37379 /* 105229 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37380 /* 105231 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37381 /* 105233 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37382 /* 105237 */ GIR_RootConstrainSelectedInstOperands,
37383 /* 105238 */ // GIR_Coverage, 3448,
37384 /* 105238 */ GIR_EraseRootFromParent_Done,
37385 /* 105239 */ // Label 2276: @105239
37386 /* 105239 */ GIM_Try, /*On fail goto*//*Label 2277*/ GIMT_Encode4(105318), // Rule ID 17069 //
37387 /* 105244 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE),
37388 /* 105247 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsave),
37389 /* 105252 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37390 /* 105255 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37391 /* 105258 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37392 /* 105262 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37393 /* 105266 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37394 /* 105270 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37395 /* 105277 */ // (intrinsic_void 16229:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVE addr:{ *:[iPTR] }:$dst)
37396 /* 105277 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37397 /* 105281 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37398 /* 105287 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37399 /* 105291 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37400 /* 105295 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37401 /* 105301 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37402 /* 105305 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVE),
37403 /* 105308 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37404 /* 105312 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37405 /* 105316 */ GIR_RootConstrainSelectedInstOperands,
37406 /* 105317 */ // GIR_Coverage, 17069,
37407 /* 105317 */ GIR_EraseRootFromParent_Done,
37408 /* 105318 */ // Label 2277: @105318
37409 /* 105318 */ GIM_Try, /*On fail goto*//*Label 2278*/ GIMT_Encode4(105397), // Rule ID 17070 //
37410 /* 105323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode),
37411 /* 105326 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsave64),
37412 /* 105331 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37413 /* 105334 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37414 /* 105337 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37415 /* 105341 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37416 /* 105345 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37417 /* 105349 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37418 /* 105356 */ // (intrinsic_void 16230:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVE64 addr:{ *:[iPTR] }:$dst)
37419 /* 105356 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37420 /* 105360 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37421 /* 105366 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37422 /* 105370 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37423 /* 105374 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37424 /* 105380 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37425 /* 105384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVE64),
37426 /* 105387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37427 /* 105391 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37428 /* 105395 */ GIR_RootConstrainSelectedInstOperands,
37429 /* 105396 */ // GIR_Coverage, 17070,
37430 /* 105396 */ GIR_EraseRootFromParent_Done,
37431 /* 105397 */ // Label 2278: @105397
37432 /* 105397 */ GIM_Try, /*On fail goto*//*Label 2279*/ GIMT_Encode4(105476), // Rule ID 17071 //
37433 /* 105402 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE),
37434 /* 105405 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstor),
37435 /* 105410 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37436 /* 105413 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37437 /* 105416 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37438 /* 105420 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37439 /* 105424 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37440 /* 105428 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37441 /* 105435 */ // (intrinsic_void 16225:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTOR addr:{ *:[iPTR] }:$dst)
37442 /* 105435 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37443 /* 105439 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37444 /* 105445 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37445 /* 105449 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37446 /* 105453 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37447 /* 105459 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37448 /* 105463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTOR),
37449 /* 105466 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37450 /* 105470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37451 /* 105474 */ GIR_RootConstrainSelectedInstOperands,
37452 /* 105475 */ // GIR_Coverage, 17071,
37453 /* 105475 */ GIR_EraseRootFromParent_Done,
37454 /* 105476 */ // Label 2279: @105476
37455 /* 105476 */ GIM_Try, /*On fail goto*//*Label 2280*/ GIMT_Encode4(105555), // Rule ID 17072 //
37456 /* 105481 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode),
37457 /* 105484 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstor64),
37458 /* 105489 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37459 /* 105492 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37460 /* 105495 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37461 /* 105499 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37462 /* 105503 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37463 /* 105507 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37464 /* 105514 */ // (intrinsic_void 16226:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTOR64 addr:{ *:[iPTR] }:$dst)
37465 /* 105514 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37466 /* 105518 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37467 /* 105524 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37468 /* 105528 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37469 /* 105532 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37470 /* 105538 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37471 /* 105542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTOR64),
37472 /* 105545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37473 /* 105549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37474 /* 105553 */ GIR_RootConstrainSelectedInstOperands,
37475 /* 105554 */ // GIR_Coverage, 17072,
37476 /* 105554 */ GIR_EraseRootFromParent_Done,
37477 /* 105555 */ // Label 2280: @105555
37478 /* 105555 */ GIM_Try, /*On fail goto*//*Label 2281*/ GIMT_Encode4(105634), // Rule ID 17073 //
37479 /* 105560 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVEOPT),
37480 /* 105563 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaveopt),
37481 /* 105568 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37482 /* 105571 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37483 /* 105574 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37484 /* 105578 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37485 /* 105582 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37486 /* 105586 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37487 /* 105593 */ // (intrinsic_void 16233:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEOPT addr:{ *:[iPTR] }:$dst)
37488 /* 105593 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37489 /* 105597 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37490 /* 105603 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37491 /* 105607 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37492 /* 105611 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37493 /* 105617 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37494 /* 105621 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEOPT),
37495 /* 105624 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37496 /* 105628 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37497 /* 105632 */ GIR_RootConstrainSelectedInstOperands,
37498 /* 105633 */ // GIR_Coverage, 17073,
37499 /* 105633 */ GIR_EraseRootFromParent_Done,
37500 /* 105634 */ // Label 2281: @105634
37501 /* 105634 */ GIM_Try, /*On fail goto*//*Label 2282*/ GIMT_Encode4(105713), // Rule ID 17074 //
37502 /* 105639 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVEOPT_In64BitMode),
37503 /* 105642 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaveopt64),
37504 /* 105647 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37505 /* 105650 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37506 /* 105653 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37507 /* 105657 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37508 /* 105661 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37509 /* 105665 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37510 /* 105672 */ // (intrinsic_void 16234:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEOPT64 addr:{ *:[iPTR] }:$dst)
37511 /* 105672 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37512 /* 105676 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37513 /* 105682 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37514 /* 105686 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37515 /* 105690 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37516 /* 105696 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37517 /* 105700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEOPT64),
37518 /* 105703 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37519 /* 105707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37520 /* 105711 */ GIR_RootConstrainSelectedInstOperands,
37521 /* 105712 */ // GIR_Coverage, 17074,
37522 /* 105712 */ GIR_EraseRootFromParent_Done,
37523 /* 105713 */ // Label 2282: @105713
37524 /* 105713 */ GIM_Try, /*On fail goto*//*Label 2283*/ GIMT_Encode4(105792), // Rule ID 17075 //
37525 /* 105718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVEC),
37526 /* 105721 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsavec),
37527 /* 105726 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37528 /* 105729 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37529 /* 105732 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37530 /* 105736 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37531 /* 105740 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37532 /* 105744 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37533 /* 105751 */ // (intrinsic_void 16231:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEC addr:{ *:[iPTR] }:$dst)
37534 /* 105751 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37535 /* 105755 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37536 /* 105761 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37537 /* 105765 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37538 /* 105769 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37539 /* 105775 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37540 /* 105779 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEC),
37541 /* 105782 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37542 /* 105786 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37543 /* 105790 */ GIR_RootConstrainSelectedInstOperands,
37544 /* 105791 */ // GIR_Coverage, 17075,
37545 /* 105791 */ GIR_EraseRootFromParent_Done,
37546 /* 105792 */ // Label 2283: @105792
37547 /* 105792 */ GIM_Try, /*On fail goto*//*Label 2284*/ GIMT_Encode4(105871), // Rule ID 17076 //
37548 /* 105797 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVEC_In64BitMode),
37549 /* 105800 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsavec64),
37550 /* 105805 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37551 /* 105808 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37552 /* 105811 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37553 /* 105815 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37554 /* 105819 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37555 /* 105823 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37556 /* 105830 */ // (intrinsic_void 16232:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVEC64 addr:{ *:[iPTR] }:$dst)
37557 /* 105830 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37558 /* 105834 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37559 /* 105840 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37560 /* 105844 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37561 /* 105848 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37562 /* 105854 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37563 /* 105858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVEC64),
37564 /* 105861 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37565 /* 105865 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37566 /* 105869 */ GIR_RootConstrainSelectedInstOperands,
37567 /* 105870 */ // GIR_Coverage, 17076,
37568 /* 105870 */ GIR_EraseRootFromParent_Done,
37569 /* 105871 */ // Label 2284: @105871
37570 /* 105871 */ GIM_Try, /*On fail goto*//*Label 2285*/ GIMT_Encode4(105950), // Rule ID 17077 //
37571 /* 105876 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVES),
37572 /* 105879 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaves),
37573 /* 105884 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37574 /* 105887 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37575 /* 105890 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37576 /* 105894 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37577 /* 105898 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37578 /* 105902 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37579 /* 105909 */ // (intrinsic_void 16235:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVES addr:{ *:[iPTR] }:$dst)
37580 /* 105909 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37581 /* 105913 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37582 /* 105919 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37583 /* 105923 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37584 /* 105927 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37585 /* 105933 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37586 /* 105937 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVES),
37587 /* 105940 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37588 /* 105944 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37589 /* 105948 */ GIR_RootConstrainSelectedInstOperands,
37590 /* 105949 */ // GIR_Coverage, 17077,
37591 /* 105949 */ GIR_EraseRootFromParent_Done,
37592 /* 105950 */ // Label 2285: @105950
37593 /* 105950 */ GIM_Try, /*On fail goto*//*Label 2286*/ GIMT_Encode4(106029), // Rule ID 17078 //
37594 /* 105955 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVE_In64BitMode),
37595 /* 105958 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsaves64),
37596 /* 105963 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37597 /* 105966 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37598 /* 105969 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37599 /* 105973 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37600 /* 105977 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37601 /* 105981 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37602 /* 105988 */ // (intrinsic_void 16236:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSAVES64 addr:{ *:[iPTR] }:$dst)
37603 /* 105988 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37604 /* 105992 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37605 /* 105998 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37606 /* 106002 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37607 /* 106006 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37608 /* 106012 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37609 /* 106016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSAVES64),
37610 /* 106019 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37611 /* 106023 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37612 /* 106027 */ GIR_RootConstrainSelectedInstOperands,
37613 /* 106028 */ // GIR_Coverage, 17078,
37614 /* 106028 */ GIR_EraseRootFromParent_Done,
37615 /* 106029 */ // Label 2286: @106029
37616 /* 106029 */ GIM_Try, /*On fail goto*//*Label 2287*/ GIMT_Encode4(106108), // Rule ID 17079 //
37617 /* 106034 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVES),
37618 /* 106037 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstors),
37619 /* 106042 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37620 /* 106045 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37621 /* 106048 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37622 /* 106052 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37623 /* 106056 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37624 /* 106060 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37625 /* 106067 */ // (intrinsic_void 16227:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTORS addr:{ *:[iPTR] }:$dst)
37626 /* 106067 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37627 /* 106071 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37628 /* 106077 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37629 /* 106081 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37630 /* 106085 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37631 /* 106091 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37632 /* 106095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTORS),
37633 /* 106098 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37634 /* 106102 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37635 /* 106106 */ GIR_RootConstrainSelectedInstOperands,
37636 /* 106107 */ // GIR_Coverage, 17079,
37637 /* 106107 */ GIR_EraseRootFromParent_Done,
37638 /* 106108 */ // Label 2287: @106108
37639 /* 106108 */ GIM_Try, /*On fail goto*//*Label 2288*/ GIMT_Encode4(106187), // Rule ID 17080 //
37640 /* 106113 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXSAVES_In64BitMode),
37641 /* 106116 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xrstors64),
37642 /* 106121 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
37643 /* 106124 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37644 /* 106127 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
37645 /* 106131 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
37646 /* 106135 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
37647 /* 106139 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
37648 /* 106146 */ // (intrinsic_void 16228:{ *:[iPTR] }, addr:{ *:[iPTR] }:$dst, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XRSTORS64 addr:{ *:[iPTR] }:$dst)
37649 /* 106146 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37650 /* 106150 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37651 /* 106156 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // EAX
37652 /* 106160 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
37653 /* 106164 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
37654 /* 106170 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // EDX
37655 /* 106174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XRSTORS64),
37656 /* 106177 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
37657 /* 106181 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37658 /* 106185 */ GIR_RootConstrainSelectedInstOperands,
37659 /* 106186 */ // GIR_Coverage, 17080,
37660 /* 106186 */ GIR_EraseRootFromParent_Done,
37661 /* 106187 */ // Label 2288: @106187
37662 /* 106187 */ GIM_Try, /*On fail goto*//*Label 2289*/ GIMT_Encode4(106224), // Rule ID 16984 //
37663 /* 106192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode),
37664 /* 106195 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbssd),
37665 /* 106200 */ // MIs[0] src1
37666 /* 106200 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37667 /* 106203 */ // MIs[0] src2
37668 /* 106203 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37669 /* 106206 */ // MIs[0] src3
37670 /* 106206 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37671 /* 106209 */ // (intrinsic_void 16088:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBSSD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37672 /* 106209 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBSSD),
37673 /* 106212 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37674 /* 106214 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37675 /* 106216 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37676 /* 106218 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37677 /* 106222 */ GIR_RootConstrainSelectedInstOperands,
37678 /* 106223 */ // GIR_Coverage, 16984,
37679 /* 106223 */ GIR_EraseRootFromParent_Done,
37680 /* 106224 */ // Label 2289: @106224
37681 /* 106224 */ GIM_Try, /*On fail goto*//*Label 2290*/ GIMT_Encode4(106261), // Rule ID 16985 //
37682 /* 106229 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode),
37683 /* 106232 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbsud),
37684 /* 106237 */ // MIs[0] src1
37685 /* 106237 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37686 /* 106240 */ // MIs[0] src2
37687 /* 106240 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37688 /* 106243 */ // MIs[0] src3
37689 /* 106243 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37690 /* 106246 */ // (intrinsic_void 16090:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBSUD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37691 /* 106246 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBSUD),
37692 /* 106249 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37693 /* 106251 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37694 /* 106253 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37695 /* 106255 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37696 /* 106259 */ GIR_RootConstrainSelectedInstOperands,
37697 /* 106260 */ // GIR_Coverage, 16985,
37698 /* 106260 */ GIR_EraseRootFromParent_Done,
37699 /* 106261 */ // Label 2290: @106261
37700 /* 106261 */ GIM_Try, /*On fail goto*//*Label 2291*/ GIMT_Encode4(106298), // Rule ID 16986 //
37701 /* 106266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode),
37702 /* 106269 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbusd),
37703 /* 106274 */ // MIs[0] src1
37704 /* 106274 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37705 /* 106277 */ // MIs[0] src2
37706 /* 106277 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37707 /* 106280 */ // MIs[0] src3
37708 /* 106280 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37709 /* 106283 */ // (intrinsic_void 16092:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBUSD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37710 /* 106283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBUSD),
37711 /* 106286 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37712 /* 106288 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37713 /* 106290 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37714 /* 106292 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37715 /* 106296 */ GIR_RootConstrainSelectedInstOperands,
37716 /* 106297 */ // GIR_Coverage, 16986,
37717 /* 106297 */ GIR_EraseRootFromParent_Done,
37718 /* 106298 */ // Label 2291: @106298
37719 /* 106298 */ GIM_Try, /*On fail goto*//*Label 2292*/ GIMT_Encode4(106335), // Rule ID 16987 //
37720 /* 106303 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXINT8_In64BitMode),
37721 /* 106306 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbuud),
37722 /* 106311 */ // MIs[0] src1
37723 /* 106311 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37724 /* 106314 */ // MIs[0] src2
37725 /* 106314 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37726 /* 106317 */ // MIs[0] src3
37727 /* 106317 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37728 /* 106320 */ // (intrinsic_void 16094:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBUUD (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37729 /* 106320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBUUD),
37730 /* 106323 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37731 /* 106325 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37732 /* 106327 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37733 /* 106329 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37734 /* 106333 */ GIR_RootConstrainSelectedInstOperands,
37735 /* 106334 */ // GIR_Coverage, 16987,
37736 /* 106334 */ GIR_EraseRootFromParent_Done,
37737 /* 106335 */ // Label 2292: @106335
37738 /* 106335 */ GIM_Try, /*On fail goto*//*Label 2293*/ GIMT_Encode4(106372), // Rule ID 16989 //
37739 /* 106340 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXBF16_In64BitMode),
37740 /* 106343 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbf16ps),
37741 /* 106348 */ // MIs[0] src1
37742 /* 106348 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37743 /* 106351 */ // MIs[0] src2
37744 /* 106351 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37745 /* 106354 */ // MIs[0] src3
37746 /* 106354 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37747 /* 106357 */ // (intrinsic_void 16082:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBF16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37748 /* 106357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBF16PS),
37749 /* 106360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37750 /* 106362 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37751 /* 106364 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37752 /* 106366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37753 /* 106370 */ GIR_RootConstrainSelectedInstOperands,
37754 /* 106371 */ // GIR_Coverage, 16989,
37755 /* 106371 */ GIR_EraseRootFromParent_Done,
37756 /* 106372 */ // Label 2293: @106372
37757 /* 106372 */ GIM_Try, /*On fail goto*//*Label 2294*/ GIMT_Encode4(106409), // Rule ID 16991 //
37758 /* 106377 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP16_In64BitMode),
37759 /* 106380 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpfp16ps),
37760 /* 106385 */ // MIs[0] src1
37761 /* 106385 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37762 /* 106388 */ // MIs[0] src2
37763 /* 106388 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37764 /* 106391 */ // MIs[0] src3
37765 /* 106391 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37766 /* 106394 */ // (intrinsic_void 16096:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37767 /* 106394 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPFP16PS),
37768 /* 106397 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37769 /* 106399 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37770 /* 106401 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37771 /* 106403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37772 /* 106407 */ GIR_RootConstrainSelectedInstOperands,
37773 /* 106408 */ // GIR_Coverage, 16991,
37774 /* 106408 */ GIR_EraseRootFromParent_Done,
37775 /* 106409 */ // Label 2294: @106409
37776 /* 106409 */ GIM_Try, /*On fail goto*//*Label 2295*/ GIMT_Encode4(106446), // Rule ID 16994 //
37777 /* 106414 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXCOMPLEX_In64BitMode),
37778 /* 106417 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tcmmimfp16ps),
37779 /* 106422 */ // MIs[0] src1
37780 /* 106422 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37781 /* 106425 */ // MIs[0] src2
37782 /* 106425 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37783 /* 106428 */ // MIs[0] src3
37784 /* 106428 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37785 /* 106431 */ // (intrinsic_void 16063:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTCMMIMFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37786 /* 106431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCMMIMFP16PS),
37787 /* 106434 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37788 /* 106436 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37789 /* 106438 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37790 /* 106440 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37791 /* 106444 */ GIR_RootConstrainSelectedInstOperands,
37792 /* 106445 */ // GIR_Coverage, 16994,
37793 /* 106445 */ GIR_EraseRootFromParent_Done,
37794 /* 106446 */ // Label 2295: @106446
37795 /* 106446 */ GIM_Try, /*On fail goto*//*Label 2296*/ GIMT_Encode4(106483), // Rule ID 16995 //
37796 /* 106451 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXCOMPLEX_In64BitMode),
37797 /* 106454 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tcmmrlfp16ps),
37798 /* 106459 */ // MIs[0] src1
37799 /* 106459 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37800 /* 106462 */ // MIs[0] src2
37801 /* 106462 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37802 /* 106465 */ // MIs[0] src3
37803 /* 106465 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37804 /* 106468 */ // (intrinsic_void 16065:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTCMMRLFP16PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37805 /* 106468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCMMRLFP16PS),
37806 /* 106471 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37807 /* 106473 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37808 /* 106475 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37809 /* 106477 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37810 /* 106481 */ GIR_RootConstrainSelectedInstOperands,
37811 /* 106482 */ // GIR_Coverage, 16995,
37812 /* 106482 */ GIR_EraseRootFromParent_Done,
37813 /* 106483 */ // Label 2296: @106483
37814 /* 106483 */ GIM_Try, /*On fail goto*//*Label 2297*/ GIMT_Encode4(106520), // Rule ID 16996 //
37815 /* 106488 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode),
37816 /* 106491 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbf8ps),
37817 /* 106496 */ // MIs[0] src1
37818 /* 106496 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37819 /* 106499 */ // MIs[0] src2
37820 /* 106499 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37821 /* 106502 */ // MIs[0] src3
37822 /* 106502 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37823 /* 106505 */ // (intrinsic_void 16084:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37824 /* 106505 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBF8PS),
37825 /* 106508 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37826 /* 106510 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37827 /* 106512 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37828 /* 106514 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37829 /* 106518 */ GIR_RootConstrainSelectedInstOperands,
37830 /* 106519 */ // GIR_Coverage, 16996,
37831 /* 106519 */ GIR_EraseRootFromParent_Done,
37832 /* 106520 */ // Label 2297: @106520
37833 /* 106520 */ GIM_Try, /*On fail goto*//*Label 2298*/ GIMT_Encode4(106557), // Rule ID 16997 //
37834 /* 106525 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode),
37835 /* 106528 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdpbhf8ps),
37836 /* 106533 */ // MIs[0] src1
37837 /* 106533 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37838 /* 106536 */ // MIs[0] src2
37839 /* 106536 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37840 /* 106539 */ // MIs[0] src3
37841 /* 106539 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37842 /* 106542 */ // (intrinsic_void 16086:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPBHF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37843 /* 106542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPBHF8PS),
37844 /* 106545 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37845 /* 106547 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37846 /* 106549 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37847 /* 106551 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37848 /* 106555 */ GIR_RootConstrainSelectedInstOperands,
37849 /* 106556 */ // GIR_Coverage, 16997,
37850 /* 106556 */ GIR_EraseRootFromParent_Done,
37851 /* 106557 */ // Label 2298: @106557
37852 /* 106557 */ GIM_Try, /*On fail goto*//*Label 2299*/ GIMT_Encode4(106594), // Rule ID 16998 //
37853 /* 106562 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode),
37854 /* 106565 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdphbf8ps),
37855 /* 106570 */ // MIs[0] src1
37856 /* 106570 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37857 /* 106573 */ // MIs[0] src2
37858 /* 106573 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37859 /* 106576 */ // MIs[0] src3
37860 /* 106576 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37861 /* 106579 */ // (intrinsic_void 16098:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPHBF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37862 /* 106579 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPHBF8PS),
37863 /* 106582 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37864 /* 106584 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37865 /* 106586 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37866 /* 106588 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37867 /* 106592 */ GIR_RootConstrainSelectedInstOperands,
37868 /* 106593 */ // GIR_Coverage, 16998,
37869 /* 106593 */ GIR_EraseRootFromParent_Done,
37870 /* 106594 */ // Label 2299: @106594
37871 /* 106594 */ GIM_Try, /*On fail goto*//*Label 2300*/ GIMT_Encode4(106631), // Rule ID 16999 //
37872 /* 106599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXFP8_In64BitMode),
37873 /* 106602 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tdphf8ps),
37874 /* 106607 */ // MIs[0] src1
37875 /* 106607 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37876 /* 106610 */ // MIs[0] src2
37877 /* 106610 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37878 /* 106613 */ // MIs[0] src3
37879 /* 106613 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37880 /* 106616 */ // (intrinsic_void 16100:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTDPHF8PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37881 /* 106616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTDPHF8PS),
37882 /* 106619 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37883 /* 106621 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37884 /* 106623 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37885 /* 106625 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37886 /* 106629 */ GIR_RootConstrainSelectedInstOperands,
37887 /* 106630 */ // GIR_Coverage, 16999,
37888 /* 106630 */ GIR_EraseRootFromParent_Done,
37889 /* 106631 */ // Label 2300: @106631
37890 /* 106631 */ GIM_Try, /*On fail goto*//*Label 2301*/ GIMT_Encode4(106668), // Rule ID 17021 //
37891 /* 106636 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXTF32_In64BitMode),
37892 /* 106639 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_tmmultf32ps),
37893 /* 106644 */ // MIs[0] src1
37894 /* 106644 */ GIM_CheckIsImm, /*MI*/0, /*Op*/1,
37895 /* 106647 */ // MIs[0] src2
37896 /* 106647 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37897 /* 106650 */ // MIs[0] src3
37898 /* 106650 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37899 /* 106653 */ // (intrinsic_void 16119:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3) => (PTMMULTF32PS (timm:{ *:[i8] }):$src1, (timm:{ *:[i8] }):$src2, (timm:{ *:[i8] }):$src3)
37900 /* 106653 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTMMULTF32PS),
37901 /* 106656 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
37902 /* 106658 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
37903 /* 106660 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
37904 /* 106662 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37905 /* 106666 */ GIR_RootConstrainSelectedInstOperands,
37906 /* 106667 */ // GIR_Coverage, 17021,
37907 /* 106667 */ GIR_EraseRootFromParent_Done,
37908 /* 106668 */ // Label 2301: @106668
37909 /* 106668 */ GIM_Try, /*On fail goto*//*Label 2302*/ GIMT_Encode4(106709), // Rule ID 17004 //
37910 /* 106673 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
37911 /* 106676 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowd2psi),
37912 /* 106681 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
37913 /* 106684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37914 /* 106688 */ // MIs[0] src1
37915 /* 106688 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37916 /* 106691 */ // MIs[0] src2
37917 /* 106691 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37918 /* 106694 */ // (intrinsic_w_chain:{ *:[v16f32] } 16069:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTCVTROWD2PSrti:{ *:[v16f32] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
37919 /* 106694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWD2PSrti),
37920 /* 106697 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37921 /* 106699 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37922 /* 106701 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37923 /* 106703 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37924 /* 106707 */ GIR_RootConstrainSelectedInstOperands,
37925 /* 106708 */ // GIR_Coverage, 17004,
37926 /* 106708 */ GIR_EraseRootFromParent_Done,
37927 /* 106709 */ // Label 2302: @106709
37928 /* 106709 */ GIM_Try, /*On fail goto*//*Label 2303*/ GIMT_Encode4(106750), // Rule ID 17013 //
37929 /* 106714 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
37930 /* 106717 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phhi),
37931 /* 106722 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
37932 /* 106725 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37933 /* 106729 */ // MIs[0] src1
37934 /* 106729 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37935 /* 106732 */ // MIs[0] src2
37936 /* 106732 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37937 /* 106735 */ // (intrinsic_w_chain:{ *:[v32f16] } 16078:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTCVTROWPS2PHHrti:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
37938 /* 106735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHHrti),
37939 /* 106738 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37940 /* 106740 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37941 /* 106742 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37942 /* 106744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37943 /* 106748 */ GIR_RootConstrainSelectedInstOperands,
37944 /* 106749 */ // GIR_Coverage, 17013,
37945 /* 106749 */ GIR_EraseRootFromParent_Done,
37946 /* 106750 */ // Label 2303: @106750
37947 /* 106750 */ GIM_Try, /*On fail goto*//*Label 2304*/ GIMT_Encode4(106791), // Rule ID 17015 //
37948 /* 106755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
37949 /* 106758 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phli),
37950 /* 106763 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
37951 /* 106766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37952 /* 106770 */ // MIs[0] src1
37953 /* 106770 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37954 /* 106773 */ // MIs[0] src2
37955 /* 106773 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37956 /* 106776 */ // (intrinsic_w_chain:{ *:[v32f16] } 16081:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTCVTROWPS2PHLrti:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
37957 /* 106776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHLrti),
37958 /* 106779 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37959 /* 106781 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37960 /* 106783 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37961 /* 106785 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37962 /* 106789 */ GIR_RootConstrainSelectedInstOperands,
37963 /* 106790 */ // GIR_Coverage, 17015,
37964 /* 106790 */ GIR_EraseRootFromParent_Done,
37965 /* 106791 */ // Label 2304: @106791
37966 /* 106791 */ GIM_Try, /*On fail goto*//*Label 2305*/ GIMT_Encode4(106832), // Rule ID 17016 //
37967 /* 106796 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
37968 /* 106799 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tilemovrowi),
37969 /* 106804 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
37970 /* 106807 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37971 /* 106811 */ // MIs[0] src1
37972 /* 106811 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37973 /* 106814 */ // MIs[0] src2
37974 /* 106814 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
37975 /* 106817 */ // (intrinsic_w_chain:{ *:[v16i32] } 16113:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2) => (PTILEMOVROWrti:{ *:[v16i32] } (timm:{ *:[i8] }):$src1, (timm:{ *:[i32] }):$src2)
37976 /* 106817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEMOVROWrti),
37977 /* 106820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37978 /* 106822 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37979 /* 106824 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37980 /* 106826 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
37981 /* 106830 */ GIR_RootConstrainSelectedInstOperands,
37982 /* 106831 */ // GIR_Coverage, 17016,
37983 /* 106831 */ GIR_EraseRootFromParent_Done,
37984 /* 106832 */ // Label 2305: @106832
37985 /* 106832 */ GIM_Try, /*On fail goto*//*Label 2306*/ GIMT_Encode4(106877), // Rule ID 17005 //
37986 /* 106837 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
37987 /* 106840 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowd2ps),
37988 /* 106845 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
37989 /* 106848 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
37990 /* 106851 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
37991 /* 106855 */ // MIs[0] src1
37992 /* 106855 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
37993 /* 106858 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
37994 /* 106862 */ // (intrinsic_w_chain:{ *:[v16f32] } 16067:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWD2PSrte:{ *:[v16f32] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
37995 /* 106862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWD2PSrte),
37996 /* 106865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
37997 /* 106867 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
37998 /* 106869 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
37999 /* 106871 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38000 /* 106875 */ GIR_RootConstrainSelectedInstOperands,
38001 /* 106876 */ // GIR_Coverage, 17005,
38002 /* 106876 */ GIR_EraseRootFromParent_Done,
38003 /* 106877 */ // Label 2306: @106877
38004 /* 106877 */ GIM_Try, /*On fail goto*//*Label 2307*/ GIMT_Encode4(106922), // Rule ID 17012 //
38005 /* 106882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
38006 /* 106885 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phh),
38007 /* 106890 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
38008 /* 106893 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38009 /* 106896 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38010 /* 106900 */ // MIs[0] src1
38011 /* 106900 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38012 /* 106903 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38013 /* 106907 */ // (intrinsic_w_chain:{ *:[v32f16] } 16076:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWPS2PHHrte:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
38014 /* 106907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHHrte),
38015 /* 106910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38016 /* 106912 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38017 /* 106914 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38018 /* 106916 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38019 /* 106920 */ GIR_RootConstrainSelectedInstOperands,
38020 /* 106921 */ // GIR_Coverage, 17012,
38021 /* 106921 */ GIR_EraseRootFromParent_Done,
38022 /* 106922 */ // Label 2307: @106922
38023 /* 106922 */ GIM_Try, /*On fail goto*//*Label 2308*/ GIMT_Encode4(106967), // Rule ID 17014 //
38024 /* 106927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
38025 /* 106930 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tcvtrowps2phl),
38026 /* 106935 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v32s16,
38027 /* 106938 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38028 /* 106941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38029 /* 106945 */ // MIs[0] src1
38030 /* 106945 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38031 /* 106948 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38032 /* 106952 */ // (intrinsic_w_chain:{ *:[v32f16] } 16079:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTCVTROWPS2PHLrte:{ *:[v32f16] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
38033 /* 106952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTCVTROWPS2PHLrte),
38034 /* 106955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38035 /* 106957 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38036 /* 106959 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38037 /* 106961 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38038 /* 106965 */ GIR_RootConstrainSelectedInstOperands,
38039 /* 106966 */ // GIR_Coverage, 17014,
38040 /* 106966 */ GIR_EraseRootFromParent_Done,
38041 /* 106967 */ // Label 2308: @106967
38042 /* 106967 */ GIM_Try, /*On fail goto*//*Label 2309*/ GIMT_Encode4(107012), // Rule ID 17017 //
38043 /* 106972 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAMXAVX512_HasAVX10_2_In64BitMode),
38044 /* 106975 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/1, GIMT_Encode2(Intrinsic::x86_tilemovrow),
38045 /* 106980 */ GIM_RootCheckType, /*Op*/0, /*Type*/GILLT_v16s32,
38046 /* 106983 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38047 /* 106986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38048 /* 106990 */ // MIs[0] src1
38049 /* 106990 */ GIM_CheckIsImm, /*MI*/0, /*Op*/2,
38050 /* 106993 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38051 /* 106997 */ // (intrinsic_w_chain:{ *:[v16i32] } 16111:{ *:[iPTR] }, (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2) => (PTILEMOVROWrte:{ *:[v16i32] } (timm:{ *:[i8] }):$src1, GR32:{ *:[i32] }:$src2)
38052 /* 106997 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::PTILEMOVROWrte),
38053 /* 107000 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38054 /* 107002 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38055 /* 107004 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38056 /* 107006 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38057 /* 107010 */ GIR_RootConstrainSelectedInstOperands,
38058 /* 107011 */ // GIR_Coverage, 17017,
38059 /* 107011 */ GIR_EraseRootFromParent_Done,
38060 /* 107012 */ // Label 2309: @107012
38061 /* 107012 */ GIM_Try, /*On fail goto*//*Label 2310*/ GIMT_Encode4(107057), // Rule ID 122 //
38062 /* 107017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
38063 /* 107020 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval32),
38064 /* 107025 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
38065 /* 107028 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38066 /* 107031 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38067 /* 107035 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38068 /* 107039 */ // MIs[0] cntl
38069 /* 107039 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38070 /* 107042 */ // (intrinsic_void 15767:{ *:[iPTR] }, GR32:{ *:[i32] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl) => (LWPVAL32rri GR32:{ *:[i32] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl)
38071 /* 107042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL32rri),
38072 /* 107045 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
38073 /* 107047 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38074 /* 107049 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
38075 /* 107051 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38076 /* 107055 */ GIR_RootConstrainSelectedInstOperands,
38077 /* 107056 */ // GIR_Coverage, 122,
38078 /* 107056 */ GIR_EraseRootFromParent_Done,
38079 /* 107057 */ // Label 2310: @107057
38080 /* 107057 */ GIM_Try, /*On fail goto*//*Label 2311*/ GIMT_Encode4(107102), // Rule ID 124 //
38081 /* 107062 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLWP),
38082 /* 107065 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_lwpval64),
38083 /* 107070 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
38084 /* 107073 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38085 /* 107076 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38086 /* 107080 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38087 /* 107084 */ // MIs[0] cntl
38088 /* 107084 */ GIM_CheckIsImm, /*MI*/0, /*Op*/3,
38089 /* 107087 */ // (intrinsic_void 15768:{ *:[iPTR] }, GR64:{ *:[i64] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl) => (LWPVAL64rri GR64:{ *:[i64] }:$src0, GR32:{ *:[i32] }:$src1, (timm:{ *:[i32] }):$cntl)
38090 /* 107087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LWPVAL64rri),
38091 /* 107090 */ GIR_RootToRootCopy, /*OpIdx*/1, // src0
38092 /* 107092 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38093 /* 107094 */ GIR_RootToRootCopy, /*OpIdx*/3, // cntl
38094 /* 107096 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38095 /* 107100 */ GIR_RootConstrainSelectedInstOperands,
38096 /* 107101 */ // GIR_Coverage, 124,
38097 /* 107101 */ GIR_EraseRootFromParent_Done,
38098 /* 107102 */ // Label 2311: @107102
38099 /* 107102 */ GIM_Try, /*On fail goto*//*Label 2312*/ GIMT_Encode4(107184), // Rule ID 17068 //
38100 /* 107107 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_xsetbv),
38101 /* 107112 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
38102 /* 107115 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38103 /* 107118 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38104 /* 107121 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32_ArgRef_and_GR32_CBRegClassID),
38105 /* 107125 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32_AD_and_GR32_ArgRefRegClassID),
38106 /* 107129 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38107 /* 107133 */ // (intrinsic_void 16237:{ *:[iPTR] }, ECX:{ *:[i32] }, EDX:{ *:[i32] }, EAX:{ *:[i32] }) => (XSETBV)
38108 /* 107133 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38109 /* 107137 */ GIR_AddRegister, /*InsnID*/3, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38110 /* 107143 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/3, // EAX
38111 /* 107147 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38112 /* 107151 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EDX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38113 /* 107157 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // EDX
38114 /* 107161 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38115 /* 107165 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::ECX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38116 /* 107171 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // ECX
38117 /* 107175 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::XSETBV),
38118 /* 107178 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38119 /* 107182 */ GIR_RootConstrainSelectedInstOperands,
38120 /* 107183 */ // GIR_Coverage, 17068,
38121 /* 107183 */ GIR_EraseRootFromParent_Done,
38122 /* 107184 */ // Label 2312: @107184
38123 /* 107184 */ GIM_Try, /*On fail goto*//*Label 2313*/ GIMT_Encode4(107233), // Rule ID 17257 //
38124 /* 107189 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMWAITX),
38125 /* 107192 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_mwaitx),
38126 /* 107197 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
38127 /* 107200 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
38128 /* 107203 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
38129 /* 107206 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38130 /* 107210 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38131 /* 107214 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38132 /* 107218 */ // (intrinsic_void 15845:{ *:[iPTR] }, GR32:{ *:[i32] }:$ecx, GR32:{ *:[i32] }:$eax, GR32:{ *:[i32] }:$ebx) => (MWAITX GR32:{ *:[i32] }:$ecx, GR32:{ *:[i32] }:$eax, GR32:{ *:[i32] }:$ebx)
38133 /* 107218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MWAITX),
38134 /* 107221 */ GIR_RootToRootCopy, /*OpIdx*/1, // ecx
38135 /* 107223 */ GIR_RootToRootCopy, /*OpIdx*/2, // eax
38136 /* 107225 */ GIR_RootToRootCopy, /*OpIdx*/3, // ebx
38137 /* 107227 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38138 /* 107231 */ GIR_RootConstrainSelectedInstOperands,
38139 /* 107232 */ // GIR_Coverage, 17257,
38140 /* 107232 */ GIR_EraseRootFromParent_Done,
38141 /* 107233 */ // Label 2313: @107233
38142 /* 107233 */ GIM_Try, /*On fail goto*//*Label 2314*/ GIMT_Encode4(107295), // Rule ID 2879 //
38143 /* 107238 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_In64BitMode),
38144 /* 107241 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
38145 /* 107246 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
38146 /* 107249 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
38147 /* 107252 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38148 /* 107256 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38149 /* 107260 */ // MIs[0] Operand 3
38150 /* 107260 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/64,
38151 /* 107264 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClassID),
38152 /* 107268 */ // (intrinsic_void 15943:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, RDI:{ *:[i64] }) => (VMASKMOVDQU64 VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
38153 /* 107268 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38154 /* 107272 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::RDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38155 /* 107278 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // RDI
38156 /* 107282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVDQU64),
38157 /* 107285 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
38158 /* 107287 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
38159 /* 107289 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38160 /* 107293 */ GIR_RootConstrainSelectedInstOperands,
38161 /* 107294 */ // GIR_Coverage, 2879,
38162 /* 107294 */ GIR_EraseRootFromParent_Done,
38163 /* 107295 */ // Label 2314: @107295
38164 /* 107295 */ GIM_Try, /*On fail goto*//*Label 2315*/ GIMT_Encode4(107357), // Rule ID 2880 //
38165 /* 107300 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX),
38166 /* 107303 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
38167 /* 107308 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
38168 /* 107311 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
38169 /* 107314 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38170 /* 107318 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38171 /* 107322 */ // MIs[0] Operand 3
38172 /* 107322 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/32,
38173 /* 107326 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_DIBP_and_GR32_SIDIRegClassID),
38174 /* 107330 */ // (intrinsic_void 15943:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, EDI:{ *:[i32] }) => (VMASKMOVDQU VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
38175 /* 107330 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38176 /* 107334 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38177 /* 107340 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // EDI
38178 /* 107344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMASKMOVDQU),
38179 /* 107347 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
38180 /* 107349 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
38181 /* 107351 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38182 /* 107355 */ GIR_RootConstrainSelectedInstOperands,
38183 /* 107356 */ // GIR_Coverage, 2880,
38184 /* 107356 */ GIR_EraseRootFromParent_Done,
38185 /* 107357 */ // Label 2315: @107357
38186 /* 107357 */ GIM_Try, /*On fail goto*//*Label 2316*/ GIMT_Encode4(107419), // Rule ID 2881 //
38187 /* 107362 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode_UseSSE2),
38188 /* 107365 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
38189 /* 107370 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
38190 /* 107373 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
38191 /* 107376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38192 /* 107380 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38193 /* 107384 */ // MIs[0] Operand 3
38194 /* 107384 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/64,
38195 /* 107388 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR64_with_sub_32bit_in_GR32_DIBP_and_GR32_SIDIRegClassID),
38196 /* 107392 */ // (intrinsic_void 15943:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, RDI:{ *:[i64] }) => (MASKMOVDQU64 VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
38197 /* 107392 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38198 /* 107396 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::RDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38199 /* 107402 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // RDI
38200 /* 107406 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MASKMOVDQU64),
38201 /* 107409 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
38202 /* 107411 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
38203 /* 107413 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38204 /* 107417 */ GIR_RootConstrainSelectedInstOperands,
38205 /* 107418 */ // GIR_Coverage, 2881,
38206 /* 107418 */ GIR_EraseRootFromParent_Done,
38207 /* 107419 */ // Label 2316: @107419
38208 /* 107419 */ GIM_Try, /*On fail goto*//*Label 2317*/ GIMT_Encode4(107481), // Rule ID 2882 //
38209 /* 107424 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
38210 /* 107427 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_sse2_maskmov_dqu),
38211 /* 107432 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
38212 /* 107435 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
38213 /* 107438 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38214 /* 107442 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38215 /* 107446 */ // MIs[0] Operand 3
38216 /* 107446 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/3, /*SizeInBits*/32,
38217 /* 107450 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR32_DIBP_and_GR32_SIDIRegClassID),
38218 /* 107454 */ // (intrinsic_void 15943:{ *:[iPTR] }, VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask, EDI:{ *:[i32] }) => (MASKMOVDQU VR128:{ *:[v16i8] }:$src, VR128:{ *:[v16i8] }:$mask)
38219 /* 107454 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38220 /* 107458 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::EDI), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38221 /* 107464 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // EDI
38222 /* 107468 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MASKMOVDQU),
38223 /* 107471 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
38224 /* 107473 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
38225 /* 107475 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38226 /* 107479 */ GIR_RootConstrainSelectedInstOperands,
38227 /* 107480 */ // GIR_Coverage, 2882,
38228 /* 107480 */ GIR_EraseRootFromParent_Done,
38229 /* 107481 */ // Label 2317: @107481
38230 /* 107481 */ GIM_Reject,
38231 /* 107482 */ // Label 2258: @107482
38232 /* 107482 */ GIM_Try, /*On fail goto*//*Label 2318*/ GIMT_Encode4(107570), // Rule ID 16968 //
38233 /* 107487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasKL),
38234 /* 107490 */ GIM_CheckNumOperands, /*MI*/0, /*Expected*/5,
38235 /* 107493 */ GIM_CheckIntrinsicID, /*MI*/0, /*Op*/0, GIMT_Encode2(Intrinsic::x86_loadiwkey),
38236 /* 107498 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
38237 /* 107501 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
38238 /* 107504 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
38239 /* 107507 */ GIM_RootCheckType, /*Op*/4, /*Type*/GILLT_s32,
38240 /* 107510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38241 /* 107514 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38242 /* 107518 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
38243 /* 107522 */ GIM_RootCheckRegBankForClass, /*Op*/4, /*RC*/GIMT_Encode2(X86::GR32_ADRegClassID),
38244 /* 107526 */ // (intrinsic_void 15764:{ *:[iPTR] }, XMM0:{ *:[v2i64] }, VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2, EAX:{ *:[i32] }) => (LOADIWKEY:{ *:[i32] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
38245 /* 107526 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38246 /* 107530 */ GIR_AddRegister, /*InsnID*/2, GIMT_Encode2(X86::EAX), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38247 /* 107536 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/4, // EAX
38248 /* 107540 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38249 /* 107544 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::XMM0), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38250 /* 107550 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // XMM0
38251 /* 107554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LOADIWKEY),
38252 /* 107557 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
38253 /* 107559 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
38254 /* 107561 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
38255 /* 107564 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
38256 /* 107568 */ GIR_RootConstrainSelectedInstOperands,
38257 /* 107569 */ // GIR_Coverage, 16968,
38258 /* 107569 */ GIR_EraseRootFromParent_Done,
38259 /* 107570 */ // Label 2318: @107570
38260 /* 107570 */ GIM_Reject,
38261 /* 107571 */ // Label 20: @107571
38262 /* 107571 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 2322*/ GIMT_Encode4(107999),
38263 /* 107582 */ /*GILLT_s16*//*Label 2319*/ GIMT_Encode4(107594),
38264 /* 107586 */ /*GILLT_s32*//*Label 2320*/ GIMT_Encode4(107652),
38265 /* 107590 */ /*GILLT_s64*//*Label 2321*/ GIMT_Encode4(107827),
38266 /* 107594 */ // Label 2319: @107594
38267 /* 107594 */ GIM_Try, /*On fail goto*//*Label 2323*/ GIMT_Encode4(107651), // Rule ID 22648 //
38268 /* 107599 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
38269 /* 107602 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38270 /* 107606 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38271 /* 107610 */ // (anyext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
38272 /* 107610 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38273 /* 107613 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
38274 /* 107617 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38275 /* 107622 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38276 /* 107626 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38277 /* 107628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38278 /* 107631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38279 /* 107633 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
38280 /* 107640 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38281 /* 107645 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38282 /* 107650 */ // GIR_Coverage, 22648,
38283 /* 107650 */ GIR_EraseRootFromParent_Done,
38284 /* 107651 */ // Label 2323: @107651
38285 /* 107651 */ GIM_Reject,
38286 /* 107652 */ // Label 2320: @107652
38287 /* 107652 */ GIM_Try, /*On fail goto*//*Label 2324*/ GIMT_Encode4(107698), // Rule ID 19411 //
38288 /* 107657 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
38289 /* 107660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38290 /* 107664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38291 /* 107668 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
38292 /* 107672 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
38293 /* 107676 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
38294 /* 107681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38295 /* 107683 */ // (anyext:{ *:[i32] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] })
38296 /* 107683 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38297 /* 107686 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38298 /* 107688 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
38299 /* 107692 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
38300 /* 107697 */ // GIR_Coverage, 19411,
38301 /* 107697 */ GIR_EraseRootFromParent_Done,
38302 /* 107698 */ // Label 2324: @107698
38303 /* 107698 */ GIM_Try, /*On fail goto*//*Label 2325*/ GIMT_Encode4(107744), // Rule ID 19414 //
38304 /* 107703 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
38305 /* 107706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38306 /* 107710 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38307 /* 107714 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
38308 /* 107718 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
38309 /* 107722 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
38310 /* 107727 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38311 /* 107729 */ // (anyext:{ *:[i32] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (COPY_TO_REGCLASS:{ *:[i32] } VK8:{ *:[v8i1] }:$src, GR32:{ *:[i32] })
38312 /* 107729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38313 /* 107732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38314 /* 107734 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
38315 /* 107738 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
38316 /* 107743 */ // GIR_Coverage, 19414,
38317 /* 107743 */ GIR_EraseRootFromParent_Done,
38318 /* 107744 */ // Label 2325: @107744
38319 /* 107744 */ GIM_Try, /*On fail goto*//*Label 2326*/ GIMT_Encode4(107767), // Rule ID 22649 //
38320 /* 107749 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
38321 /* 107752 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38322 /* 107756 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38323 /* 107760 */ // (anyext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
38324 /* 107760 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
38325 /* 107765 */ GIR_RootConstrainSelectedInstOperands,
38326 /* 107766 */ // GIR_Coverage, 22649,
38327 /* 107766 */ GIR_Done,
38328 /* 107767 */ // Label 2326: @107767
38329 /* 107767 */ GIM_Try, /*On fail goto*//*Label 2327*/ GIMT_Encode4(107826), // Rule ID 22650 //
38330 /* 107772 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
38331 /* 107775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
38332 /* 107779 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38333 /* 107783 */ // (anyext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR16:{ *:[i16] }:$src, sub_16bit:{ *:[i32] })
38334 /* 107783 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38335 /* 107786 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
38336 /* 107790 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38337 /* 107795 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38338 /* 107797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
38339 /* 107800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38340 /* 107802 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38341 /* 107805 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
38342 /* 107807 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
38343 /* 107810 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
38344 /* 107815 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
38345 /* 107820 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR16RegClassID),
38346 /* 107825 */ // GIR_Coverage, 22650,
38347 /* 107825 */ GIR_EraseRootFromParent_Done,
38348 /* 107826 */ // Label 2327: @107826
38349 /* 107826 */ GIM_Reject,
38350 /* 107827 */ // Label 2321: @107827
38351 /* 107827 */ GIM_Try, /*On fail goto*//*Label 2328*/ GIMT_Encode4(107883), // Rule ID 22651 //
38352 /* 107832 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
38353 /* 107835 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38354 /* 107839 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38355 /* 107843 */ // (anyext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_32bit:{ *:[i32] })
38356 /* 107843 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38357 /* 107846 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
38358 /* 107850 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38359 /* 107855 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38360 /* 107859 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38361 /* 107861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
38362 /* 107864 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38363 /* 107866 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38364 /* 107869 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
38365 /* 107872 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
38366 /* 107877 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38367 /* 107882 */ // GIR_Coverage, 22651,
38368 /* 107882 */ GIR_EraseRootFromParent_Done,
38369 /* 107883 */ // Label 2328: @107883
38370 /* 107883 */ GIM_Try, /*On fail goto*//*Label 2329*/ GIMT_Encode4(107939), // Rule ID 22652 //
38371 /* 107888 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
38372 /* 107891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38373 /* 107895 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38374 /* 107899 */ // (anyext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src), sub_32bit:{ *:[i32] })
38375 /* 107899 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38376 /* 107902 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
38377 /* 107906 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38378 /* 107911 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38379 /* 107915 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38380 /* 107917 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
38381 /* 107920 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38382 /* 107922 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38383 /* 107925 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
38384 /* 107928 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
38385 /* 107933 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38386 /* 107938 */ // GIR_Coverage, 22652,
38387 /* 107938 */ GIR_EraseRootFromParent_Done,
38388 /* 107939 */ // Label 2329: @107939
38389 /* 107939 */ GIM_Try, /*On fail goto*//*Label 2330*/ GIMT_Encode4(107998), // Rule ID 22653 //
38390 /* 107944 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
38391 /* 107947 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38392 /* 107951 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38393 /* 107955 */ // (anyext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GR32:{ *:[i32] }:$src, sub_32bit:{ *:[i32] })
38394 /* 107955 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
38395 /* 107958 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
38396 /* 107962 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38397 /* 107967 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38398 /* 107969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
38399 /* 107972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38400 /* 107974 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38401 /* 107977 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
38402 /* 107979 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
38403 /* 107982 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
38404 /* 107987 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR64RegClassID),
38405 /* 107992 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/2, GIMT_Encode2(X86::GR32RegClassID),
38406 /* 107997 */ // GIR_Coverage, 22653,
38407 /* 107997 */ GIR_EraseRootFromParent_Done,
38408 /* 107998 */ // Label 2330: @107998
38409 /* 107998 */ GIM_Reject,
38410 /* 107999 */ // Label 2322: @107999
38411 /* 107999 */ GIM_Reject,
38412 /* 108000 */ // Label 21: @108000
38413 /* 108000 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(21), /*)*//*default:*//*Label 2339*/ GIMT_Encode4(109084),
38414 /* 108011 */ /*GILLT_s8*//*Label 2331*/ GIMT_Encode4(108091),
38415 /* 108015 */ /*GILLT_s16*//*Label 2332*/ GIMT_Encode4(108375), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
38416 /* 108059 */ /*GILLT_v16s8*//*Label 2333*/ GIMT_Encode4(108414),
38417 /* 108063 */ /*GILLT_v32s8*//*Label 2334*/ GIMT_Encode4(108700), GIMT_Encode4(0),
38418 /* 108071 */ /*GILLT_v8s16*//*Label 2335*/ GIMT_Encode4(108727),
38419 /* 108075 */ /*GILLT_v16s16*//*Label 2336*/ GIMT_Encode4(108890), GIMT_Encode4(0),
38420 /* 108083 */ /*GILLT_v4s32*//*Label 2337*/ GIMT_Encode4(108917),
38421 /* 108087 */ /*GILLT_v8s32*//*Label 2338*/ GIMT_Encode4(109057),
38422 /* 108091 */ // Label 2331: @108091
38423 /* 108091 */ GIM_Try, /*On fail goto*//*Label 2340*/ GIMT_Encode4(108166), // Rule ID 19406 //
38424 /* 108096 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
38425 /* 108099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38426 /* 108103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38427 /* 108107 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
38428 /* 108111 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
38429 /* 108115 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
38430 /* 108120 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38431 /* 108122 */ // (trunc:{ *:[i8] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } VK16:{ *:[v16i1] }:$src, GR32:{ *:[i32] }), sub_8bit:{ *:[i32] })
38432 /* 108122 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38433 /* 108125 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38434 /* 108129 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38435 /* 108134 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
38436 /* 108138 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32RegClassID),
38437 /* 108143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38438 /* 108146 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38439 /* 108148 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
38440 /* 108155 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
38441 /* 108160 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38442 /* 108165 */ // GIR_Coverage, 19406,
38443 /* 108165 */ GIR_EraseRootFromParent_Done,
38444 /* 108166 */ // Label 2340: @108166
38445 /* 108166 */ GIM_Try, /*On fail goto*//*Label 2341*/ GIMT_Encode4(108229), // Rule ID 22710 //
38446 /* 108171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode),
38447 /* 108174 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
38448 /* 108177 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
38449 /* 108181 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38450 /* 108185 */ // (trunc:{ *:[i8] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i32] } GR32:{ *:[i32] }:$src, GR32_ABCD:{ *:[i32] }), sub_8bit:{ *:[i32] })
38451 /* 108185 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38452 /* 108188 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38453 /* 108192 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38454 /* 108197 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38455 /* 108201 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR32_ABCDRegClassID),
38456 /* 108206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38457 /* 108209 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38458 /* 108211 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
38459 /* 108218 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
38460 /* 108223 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32_ABCDRegClassID),
38461 /* 108228 */ // GIR_Coverage, 22710,
38462 /* 108228 */ GIR_EraseRootFromParent_Done,
38463 /* 108229 */ // Label 2341: @108229
38464 /* 108229 */ GIM_Try, /*On fail goto*//*Label 2342*/ GIMT_Encode4(108292), // Rule ID 22711 //
38465 /* 108234 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode),
38466 /* 108237 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
38467 /* 108240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
38468 /* 108244 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38469 /* 108248 */ // (trunc:{ *:[i8] } GR16:{ *:[i16] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } (COPY_TO_REGCLASS:{ *:[i16] } GR16:{ *:[i16] }:$src, GR16_ABCD:{ *:[i32] }), sub_8bit:{ *:[i32] })
38470 /* 108248 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
38471 /* 108251 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38472 /* 108255 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38473 /* 108260 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38474 /* 108264 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16_ABCDRegClassID),
38475 /* 108269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38476 /* 108272 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38477 /* 108274 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
38478 /* 108281 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
38479 /* 108286 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16_ABCDRegClassID),
38480 /* 108291 */ // GIR_Coverage, 22711,
38481 /* 108291 */ GIR_EraseRootFromParent_Done,
38482 /* 108292 */ // Label 2342: @108292
38483 /* 108292 */ GIM_Try, /*On fail goto*//*Label 2343*/ GIMT_Encode4(108333), // Rule ID 22715 //
38484 /* 108297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
38485 /* 108300 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
38486 /* 108303 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38487 /* 108307 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38488 /* 108311 */ // (trunc:{ *:[i8] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src, sub_8bit:{ *:[i32] })
38489 /* 108311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38490 /* 108314 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38491 /* 108316 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
38492 /* 108322 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
38493 /* 108327 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38494 /* 108332 */ // GIR_Coverage, 22715,
38495 /* 108332 */ GIR_EraseRootFromParent_Done,
38496 /* 108333 */ // Label 2343: @108333
38497 /* 108333 */ GIM_Try, /*On fail goto*//*Label 2344*/ GIMT_Encode4(108374), // Rule ID 22716 //
38498 /* 108338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
38499 /* 108341 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
38500 /* 108344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38501 /* 108348 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38502 /* 108352 */ // (trunc:{ *:[i8] } GR16:{ *:[i16] }:$src) => (EXTRACT_SUBREG:{ *:[i8] } GR16:{ *:[i16] }:$src, sub_8bit:{ *:[i32] })
38503 /* 108352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38504 /* 108355 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38505 /* 108357 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
38506 /* 108363 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
38507 /* 108368 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
38508 /* 108373 */ // GIR_Coverage, 22716,
38509 /* 108373 */ GIR_EraseRootFromParent_Done,
38510 /* 108374 */ // Label 2344: @108374
38511 /* 108374 */ GIM_Reject,
38512 /* 108375 */ // Label 2332: @108375
38513 /* 108375 */ GIM_Try, /*On fail goto*//*Label 2345*/ GIMT_Encode4(108413), // Rule ID 22709 //
38514 /* 108380 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
38515 /* 108383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38516 /* 108387 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38517 /* 108391 */ // (trunc:{ *:[i16] } GR32:{ *:[i32] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src, sub_16bit:{ *:[i32] })
38518 /* 108391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38519 /* 108394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38520 /* 108396 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src
38521 /* 108402 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38522 /* 108407 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38523 /* 108412 */ // GIR_Coverage, 22709,
38524 /* 108412 */ GIR_EraseRootFromParent_Done,
38525 /* 108413 */ // Label 2345: @108413
38526 /* 108413 */ GIM_Reject,
38527 /* 108414 */ // Label 2333: @108414
38528 /* 108414 */ GIM_Try, /*On fail goto*//*Label 2346*/ GIMT_Encode4(108490), // Rule ID 21637 //
38529 /* 108419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoBWI),
38530 /* 108422 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
38531 /* 108425 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38532 /* 108429 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
38533 /* 108433 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
38534 /* 108437 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
38535 /* 108440 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
38536 /* 108444 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
38537 /* 108448 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
38538 /* 108450 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
38539 /* 108457 */ // (trunc:{ *:[v16i8] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVZXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src))
38540 /* 108457 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
38541 /* 108460 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrm),
38542 /* 108464 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38543 /* 108469 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src
38544 /* 108473 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
38545 /* 108478 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38546 /* 108480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
38547 /* 108483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38548 /* 108485 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38549 /* 108488 */ GIR_RootConstrainSelectedInstOperands,
38550 /* 108489 */ // GIR_Coverage, 21637,
38551 /* 108489 */ GIR_EraseRootFromParent_Done,
38552 /* 108490 */ // Label 2346: @108490
38553 /* 108490 */ GIM_Try, /*On fail goto*//*Label 2347*/ GIMT_Encode4(108516), // Rule ID 12272 //
38554 /* 108495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
38555 /* 108498 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
38556 /* 108501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38557 /* 108505 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38558 /* 108509 */ // (trunc:{ *:[v16i8] } VR512:{ *:[v16i32] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } VR512:{ *:[v16i32] }:$src)
38559 /* 108509 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
38560 /* 108514 */ GIR_RootConstrainSelectedInstOperands,
38561 /* 108515 */ // GIR_Coverage, 12272,
38562 /* 108515 */ GIR_Done,
38563 /* 108516 */ // Label 2347: @108516
38564 /* 108516 */ GIM_Try, /*On fail goto*//*Label 2348*/ GIMT_Encode4(108542), // Rule ID 12323 //
38565 /* 108521 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
38566 /* 108524 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
38567 /* 108527 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38568 /* 108531 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38569 /* 108535 */ // (trunc:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src) => (VPMOVWBZ256rr:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src)
38570 /* 108535 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZ256rr),
38571 /* 108540 */ GIR_RootConstrainSelectedInstOperands,
38572 /* 108541 */ // GIR_Coverage, 12323,
38573 /* 108541 */ GIR_Done,
38574 /* 108542 */ // Label 2348: @108542
38575 /* 108542 */ GIM_Try, /*On fail goto*//*Label 2349*/ GIMT_Encode4(108652), // Rule ID 21545 //
38576 /* 108547 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
38577 /* 108550 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
38578 /* 108553 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
38579 /* 108557 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38580 /* 108561 */ // (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] })
38581 /* 108561 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
38582 /* 108564 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
38583 /* 108568 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38584 /* 108573 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
38585 /* 108575 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
38586 /* 108578 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
38587 /* 108582 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38588 /* 108587 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
38589 /* 108590 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
38590 /* 108594 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
38591 /* 108597 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
38592 /* 108602 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
38593 /* 108607 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
38594 /* 108612 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
38595 /* 108615 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZrr),
38596 /* 108619 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38597 /* 108624 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
38598 /* 108627 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38599 /* 108629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38600 /* 108632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38601 /* 108634 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
38602 /* 108641 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
38603 /* 108646 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
38604 /* 108651 */ // GIR_Coverage, 21545,
38605 /* 108651 */ GIR_EraseRootFromParent_Done,
38606 /* 108652 */ // Label 2349: @108652
38607 /* 108652 */ GIM_Try, /*On fail goto*//*Label 2350*/ GIMT_Encode4(108699), // Rule ID 21636 //
38608 /* 108657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoBWI),
38609 /* 108660 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
38610 /* 108663 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38611 /* 108667 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38612 /* 108671 */ // (trunc:{ *:[v16i8] } VR256X:{ *:[v16i16] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVZXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src))
38613 /* 108671 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
38614 /* 108674 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrr),
38615 /* 108678 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38616 /* 108683 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
38617 /* 108687 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38618 /* 108689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
38619 /* 108692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38620 /* 108694 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38621 /* 108697 */ GIR_RootConstrainSelectedInstOperands,
38622 /* 108698 */ // GIR_Coverage, 21636,
38623 /* 108698 */ GIR_EraseRootFromParent_Done,
38624 /* 108699 */ // Label 2350: @108699
38625 /* 108699 */ GIM_Reject,
38626 /* 108700 */ // Label 2334: @108700
38627 /* 108700 */ GIM_Try, /*On fail goto*//*Label 2351*/ GIMT_Encode4(108726), // Rule ID 12326 //
38628 /* 108705 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
38629 /* 108708 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
38630 /* 108711 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38631 /* 108715 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38632 /* 108719 */ // (trunc:{ *:[v32i8] } VR512:{ *:[v32i16] }:$src) => (VPMOVWBZrr:{ *:[v32i8] } VR512:{ *:[v32i16] }:$src)
38633 /* 108719 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVWBZrr),
38634 /* 108724 */ GIR_RootConstrainSelectedInstOperands,
38635 /* 108725 */ // GIR_Coverage, 12326,
38636 /* 108725 */ GIR_Done,
38637 /* 108726 */ // Label 2351: @108726
38638 /* 108726 */ GIM_Reject,
38639 /* 108727 */ // Label 2335: @108727
38640 /* 108727 */ GIM_Try, /*On fail goto*//*Label 2352*/ GIMT_Encode4(108753), // Rule ID 12218 //
38641 /* 108732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
38642 /* 108735 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
38643 /* 108738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38644 /* 108742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38645 /* 108746 */ // (trunc:{ *:[v8i16] } VR512:{ *:[v8i64] }:$src) => (VPMOVQWZrr:{ *:[v8i16] } VR512:{ *:[v8i64] }:$src)
38646 /* 108746 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQWZrr),
38647 /* 108751 */ GIR_RootConstrainSelectedInstOperands,
38648 /* 108752 */ // GIR_Coverage, 12218,
38649 /* 108752 */ GIR_Done,
38650 /* 108753 */ // Label 2352: @108753
38651 /* 108753 */ GIM_Try, /*On fail goto*//*Label 2353*/ GIMT_Encode4(108779), // Rule ID 12296 //
38652 /* 108758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
38653 /* 108761 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
38654 /* 108764 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38655 /* 108768 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38656 /* 108772 */ // (trunc:{ *:[v8i16] } VR256X:{ *:[v8i32] }:$src) => (VPMOVDWZ256rr:{ *:[v8i16] } VR256X:{ *:[v8i32] }:$src)
38657 /* 108772 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZ256rr),
38658 /* 108777 */ GIR_RootConstrainSelectedInstOperands,
38659 /* 108778 */ // GIR_Coverage, 12296,
38660 /* 108778 */ GIR_Done,
38661 /* 108779 */ // Label 2353: @108779
38662 /* 108779 */ GIM_Try, /*On fail goto*//*Label 2354*/ GIMT_Encode4(108889), // Rule ID 21543 //
38663 /* 108784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
38664 /* 108787 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
38665 /* 108790 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
38666 /* 108794 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38667 /* 108798 */ // (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] })
38668 /* 108798 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
38669 /* 108801 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
38670 /* 108805 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38671 /* 108810 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
38672 /* 108812 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
38673 /* 108815 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
38674 /* 108819 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38675 /* 108824 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
38676 /* 108827 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
38677 /* 108831 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
38678 /* 108834 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
38679 /* 108839 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
38680 /* 108844 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
38681 /* 108849 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
38682 /* 108852 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
38683 /* 108856 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38684 /* 108861 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
38685 /* 108864 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38686 /* 108866 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38687 /* 108869 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38688 /* 108871 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
38689 /* 108878 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
38690 /* 108883 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
38691 /* 108888 */ // GIR_Coverage, 21543,
38692 /* 108888 */ GIR_EraseRootFromParent_Done,
38693 /* 108889 */ // Label 2354: @108889
38694 /* 108889 */ GIM_Reject,
38695 /* 108890 */ // Label 2336: @108890
38696 /* 108890 */ GIM_Try, /*On fail goto*//*Label 2355*/ GIMT_Encode4(108916), // Rule ID 12299 //
38697 /* 108895 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
38698 /* 108898 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
38699 /* 108901 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38700 /* 108905 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38701 /* 108909 */ // (trunc:{ *:[v16i16] } VR512:{ *:[v16i32] }:$src) => (VPMOVDWZrr:{ *:[v16i16] } VR512:{ *:[v16i32] }:$src)
38702 /* 108909 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
38703 /* 108914 */ GIR_RootConstrainSelectedInstOperands,
38704 /* 108915 */ // GIR_Coverage, 12299,
38705 /* 108915 */ GIR_Done,
38706 /* 108916 */ // Label 2355: @108916
38707 /* 108916 */ GIM_Reject,
38708 /* 108917 */ // Label 2337: @108917
38709 /* 108917 */ GIM_Try, /*On fail goto*//*Label 2356*/ GIMT_Encode4(109056),
38710 /* 108922 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
38711 /* 108925 */ GIM_Try, /*On fail goto*//*Label 2357*/ GIMT_Encode4(108948), // Rule ID 12242 //
38712 /* 108930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
38713 /* 108933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
38714 /* 108937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38715 /* 108941 */ // (trunc:{ *:[v4i32] } VR256X:{ *:[v4i64] }:$src) => (VPMOVQDZ256rr:{ *:[v4i32] } VR256X:{ *:[v4i64] }:$src)
38716 /* 108941 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZ256rr),
38717 /* 108946 */ GIR_RootConstrainSelectedInstOperands,
38718 /* 108947 */ // GIR_Coverage, 12242,
38719 /* 108947 */ GIR_Done,
38720 /* 108948 */ // Label 2357: @108948
38721 /* 108948 */ GIM_Try, /*On fail goto*//*Label 2358*/ GIMT_Encode4(109055), // Rule ID 21544 //
38722 /* 108953 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
38723 /* 108956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
38724 /* 108960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38725 /* 108964 */ // (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] })
38726 /* 108964 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
38727 /* 108967 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
38728 /* 108971 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38729 /* 108976 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
38730 /* 108978 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
38731 /* 108981 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
38732 /* 108985 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38733 /* 108990 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
38734 /* 108993 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
38735 /* 108997 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
38736 /* 109000 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
38737 /* 109005 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
38738 /* 109010 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
38739 /* 109015 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
38740 /* 109018 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZrr),
38741 /* 109022 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38742 /* 109027 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
38743 /* 109030 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38744 /* 109032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38745 /* 109035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38746 /* 109037 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
38747 /* 109044 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
38748 /* 109049 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256XRegClassID),
38749 /* 109054 */ // GIR_Coverage, 21544,
38750 /* 109054 */ GIR_EraseRootFromParent_Done,
38751 /* 109055 */ // Label 2358: @109055
38752 /* 109055 */ GIM_Reject,
38753 /* 109056 */ // Label 2356: @109056
38754 /* 109056 */ GIM_Reject,
38755 /* 109057 */ // Label 2338: @109057
38756 /* 109057 */ GIM_Try, /*On fail goto*//*Label 2359*/ GIMT_Encode4(109083), // Rule ID 12245 //
38757 /* 109062 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
38758 /* 109065 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
38759 /* 109068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
38760 /* 109072 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
38761 /* 109076 */ // (trunc:{ *:[v8i32] } VR512:{ *:[v8i64] }:$src) => (VPMOVQDZrr:{ *:[v8i32] } VR512:{ *:[v8i64] }:$src)
38762 /* 109076 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVQDZrr),
38763 /* 109081 */ GIR_RootConstrainSelectedInstOperands,
38764 /* 109082 */ // GIR_Coverage, 12245,
38765 /* 109082 */ GIR_Done,
38766 /* 109083 */ // Label 2359: @109083
38767 /* 109083 */ GIM_Reject,
38768 /* 109084 */ // Label 2339: @109084
38769 /* 109084 */ GIM_Reject,
38770 /* 109085 */ // Label 22: @109085
38771 /* 109085 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2364*/ GIMT_Encode4(109687),
38772 /* 109096 */ /*GILLT_s8*//*Label 2360*/ GIMT_Encode4(109112),
38773 /* 109100 */ /*GILLT_s16*//*Label 2361*/ GIMT_Encode4(109194),
38774 /* 109104 */ /*GILLT_s32*//*Label 2362*/ GIMT_Encode4(109394),
38775 /* 109108 */ /*GILLT_s64*//*Label 2363*/ GIMT_Encode4(109536),
38776 /* 109112 */ // Label 2360: @109112
38777 /* 109112 */ GIM_Try, /*On fail goto*//*Label 2365*/ GIMT_Encode4(109193),
38778 /* 109117 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
38779 /* 109121 */ GIM_Try, /*On fail goto*//*Label 2366*/ GIMT_Encode4(109177), // Rule ID 22421 //
38780 /* 109126 */ // MIs[0] Operand 1
38781 /* 109126 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
38782 /* 109137 */ // 0:{ *:[i8] } => (EXTRACT_SUBREG:{ *:[i8] } (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_8bit:{ *:[i32] })
38783 /* 109137 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38784 /* 109140 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
38785 /* 109144 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38786 /* 109149 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
38787 /* 109152 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38788 /* 109154 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38789 /* 109157 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38790 /* 109159 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_8bit),
38791 /* 109166 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
38792 /* 109171 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38793 /* 109176 */ // GIR_Coverage, 22421,
38794 /* 109176 */ GIR_EraseRootFromParent_Done,
38795 /* 109177 */ // Label 2366: @109177
38796 /* 109177 */ GIM_Try, /*On fail goto*//*Label 2367*/ GIMT_Encode4(109192), // Rule ID 19 //
38797 /* 109182 */ // MIs[0] Operand 1
38798 /* 109182 */ // No operand predicates
38799 /* 109182 */ // (imm:{ *:[i8] }):$src => (MOV8ri:{ *:[i8] } (imm:{ *:[i8] }):$src)
38800 /* 109182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV8ri),
38801 /* 109185 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38802 /* 109187 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38803 /* 109190 */ GIR_RootConstrainSelectedInstOperands,
38804 /* 109191 */ // GIR_Coverage, 19,
38805 /* 109191 */ GIR_EraseRootFromParent_Done,
38806 /* 109192 */ // Label 2367: @109192
38807 /* 109192 */ GIM_Reject,
38808 /* 109193 */ // Label 2365: @109193
38809 /* 109193 */ GIM_Reject,
38810 /* 109194 */ // Label 2361: @109194
38811 /* 109194 */ GIM_Try, /*On fail goto*//*Label 2368*/ GIMT_Encode4(109393),
38812 /* 109199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
38813 /* 109203 */ GIM_Try, /*On fail goto*//*Label 2369*/ GIMT_Encode4(109259), // Rule ID 22422 //
38814 /* 109208 */ // MIs[0] Operand 1
38815 /* 109208 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
38816 /* 109219 */ // 0:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
38817 /* 109219 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38818 /* 109222 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
38819 /* 109226 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38820 /* 109231 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
38821 /* 109234 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38822 /* 109236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38823 /* 109239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38824 /* 109241 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
38825 /* 109248 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38826 /* 109253 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38827 /* 109258 */ // GIR_Coverage, 22422,
38828 /* 109258 */ GIR_EraseRootFromParent_Done,
38829 /* 109259 */ // Label 2369: @109259
38830 /* 109259 */ GIM_Try, /*On fail goto*//*Label 2370*/ GIMT_Encode4(109318), // Rule ID 22424 //
38831 /* 109264 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode_OptForSize),
38832 /* 109267 */ // MIs[0] Operand 1
38833 /* 109267 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(1),
38834 /* 109278 */ // 1:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r1:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
38835 /* 109278 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38836 /* 109281 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r1),
38837 /* 109285 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38838 /* 109290 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
38839 /* 109293 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38840 /* 109295 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38841 /* 109298 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38842 /* 109300 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
38843 /* 109307 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38844 /* 109312 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38845 /* 109317 */ // GIR_Coverage, 22424,
38846 /* 109317 */ GIR_EraseRootFromParent_Done,
38847 /* 109318 */ // Label 2370: @109318
38848 /* 109318 */ GIM_Try, /*On fail goto*//*Label 2371*/ GIMT_Encode4(109377), // Rule ID 22425 //
38849 /* 109323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode_OptForSize),
38850 /* 109326 */ // MIs[0] Operand 1
38851 /* 109326 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(18446744073709551615u),
38852 /* 109337 */ // -1:{ *:[i16] } => (EXTRACT_SUBREG:{ *:[i16] } (MOV32r_1:{ *:[i32] }:{ *:[i32] }), sub_16bit:{ *:[i32] })
38853 /* 109337 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38854 /* 109340 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r_1),
38855 /* 109344 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38856 /* 109349 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
38857 /* 109352 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38858 /* 109354 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
38859 /* 109357 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38860 /* 109359 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
38861 /* 109366 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
38862 /* 109371 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38863 /* 109376 */ // GIR_Coverage, 22425,
38864 /* 109376 */ GIR_EraseRootFromParent_Done,
38865 /* 109377 */ // Label 2371: @109377
38866 /* 109377 */ GIM_Try, /*On fail goto*//*Label 2372*/ GIMT_Encode4(109392), // Rule ID 20 //
38867 /* 109382 */ // MIs[0] Operand 1
38868 /* 109382 */ // No operand predicates
38869 /* 109382 */ // (imm:{ *:[i16] }):$src => (MOV16ri:{ *:[i16] } (imm:{ *:[i16] }):$src)
38870 /* 109382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV16ri),
38871 /* 109385 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38872 /* 109387 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38873 /* 109390 */ GIR_RootConstrainSelectedInstOperands,
38874 /* 109391 */ // GIR_Coverage, 20,
38875 /* 109391 */ GIR_EraseRootFromParent_Done,
38876 /* 109392 */ // Label 2372: @109392
38877 /* 109392 */ GIM_Reject,
38878 /* 109393 */ // Label 2368: @109393
38879 /* 109393 */ GIM_Reject,
38880 /* 109394 */ // Label 2362: @109394
38881 /* 109394 */ GIM_Try, /*On fail goto*//*Label 2373*/ GIMT_Encode4(109424), // Rule ID 17117 //
38882 /* 109399 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38883 /* 109403 */ // MIs[0] Operand 1
38884 /* 109403 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
38885 /* 109414 */ // 0:{ *:[i32] } => (MOV32r0:{ *:[i32] }:{ *:[i32] })
38886 /* 109414 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
38887 /* 109417 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38888 /* 109419 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
38889 /* 109422 */ GIR_RootConstrainSelectedInstOperands,
38890 /* 109423 */ // GIR_Coverage, 17117,
38891 /* 109423 */ GIR_EraseRootFromParent_Done,
38892 /* 109424 */ // Label 2373: @109424
38893 /* 109424 */ GIM_Try, /*On fail goto*//*Label 2374*/ GIMT_Encode4(109457), // Rule ID 17118 //
38894 /* 109429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode_OptForSize),
38895 /* 109432 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38896 /* 109436 */ // MIs[0] Operand 1
38897 /* 109436 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(1),
38898 /* 109447 */ // 1:{ *:[i32] } => (MOV32r1:{ *:[i32] }:{ *:[i32] })
38899 /* 109447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r1),
38900 /* 109450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38901 /* 109452 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
38902 /* 109455 */ GIR_RootConstrainSelectedInstOperands,
38903 /* 109456 */ // GIR_Coverage, 17118,
38904 /* 109456 */ GIR_EraseRootFromParent_Done,
38905 /* 109457 */ // Label 2374: @109457
38906 /* 109457 */ GIM_Try, /*On fail goto*//*Label 2375*/ GIMT_Encode4(109490), // Rule ID 17119 //
38907 /* 109462 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_Not64BitMode_OptForSize),
38908 /* 109465 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38909 /* 109469 */ // MIs[0] Operand 1
38910 /* 109469 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(18446744073709551615u),
38911 /* 109480 */ // -1:{ *:[i32] } => (MOV32r_1:{ *:[i32] }:{ *:[i32] })
38912 /* 109480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32r_1),
38913 /* 109483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38914 /* 109485 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
38915 /* 109488 */ GIR_RootConstrainSelectedInstOperands,
38916 /* 109489 */ // GIR_Coverage, 17119,
38917 /* 109489 */ GIR_EraseRootFromParent_Done,
38918 /* 109490 */ // Label 2375: @109490
38919 /* 109490 */ GIM_Try, /*On fail goto*//*Label 2376*/ GIMT_Encode4(109516), // Rule ID 17120 //
38920 /* 109495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotWin64WithoutFP_OptForMinSize),
38921 /* 109498 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i32immSExt8),
38922 /* 109502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38923 /* 109506 */ // MIs[0] Operand 1
38924 /* 109506 */ // No operand predicates
38925 /* 109506 */ // (imm:{ *:[i32] })<<P:Predicate_i32immSExt8>>:$src => (MOV32ImmSExti8:{ *:[i32] } (imm:{ *:[i32] }):$src)
38926 /* 109506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ImmSExti8),
38927 /* 109509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38928 /* 109511 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38929 /* 109514 */ GIR_RootConstrainSelectedInstOperands,
38930 /* 109515 */ // GIR_Coverage, 17120,
38931 /* 109515 */ GIR_EraseRootFromParent_Done,
38932 /* 109516 */ // Label 2376: @109516
38933 /* 109516 */ GIM_Try, /*On fail goto*//*Label 2377*/ GIMT_Encode4(109535), // Rule ID 21 //
38934 /* 109521 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
38935 /* 109525 */ // MIs[0] Operand 1
38936 /* 109525 */ // No operand predicates
38937 /* 109525 */ // (imm:{ *:[i32] }):$src => (MOV32ri:{ *:[i32] } (imm:{ *:[i32] }):$src)
38938 /* 109525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ri),
38939 /* 109528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38940 /* 109530 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38941 /* 109533 */ GIR_RootConstrainSelectedInstOperands,
38942 /* 109534 */ // GIR_Coverage, 21,
38943 /* 109534 */ GIR_EraseRootFromParent_Done,
38944 /* 109535 */ // Label 2377: @109535
38945 /* 109535 */ GIM_Reject,
38946 /* 109536 */ // Label 2363: @109536
38947 /* 109536 */ GIM_Try, /*On fail goto*//*Label 2378*/ GIMT_Encode4(109595), // Rule ID 22423 //
38948 /* 109541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38949 /* 109545 */ // MIs[0] Operand 1
38950 /* 109545 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, GIMT_Encode8(0),
38951 /* 109556 */ // 0:{ *:[i64] } => (SUBREG_TO_REG:{ *:[i64] } (MOV32r0:{ *:[i32] }:{ *:[i32] }), sub_32bit:{ *:[i32] })
38952 /* 109556 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
38953 /* 109559 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32r0),
38954 /* 109563 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
38955 /* 109568 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
38956 /* 109571 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
38957 /* 109573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
38958 /* 109576 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38959 /* 109578 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
38960 /* 109581 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
38961 /* 109584 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
38962 /* 109589 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
38963 /* 109594 */ // GIR_Coverage, 22423,
38964 /* 109594 */ GIR_EraseRootFromParent_Done,
38965 /* 109595 */ // Label 2378: @109595
38966 /* 109595 */ GIM_Try, /*On fail goto*//*Label 2379*/ GIMT_Encode4(109621), // Rule ID 17121 //
38967 /* 109600 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotWin64WithoutFP_OptForMinSize),
38968 /* 109603 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt8),
38969 /* 109607 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38970 /* 109611 */ // MIs[0] Operand 1
38971 /* 109611 */ // No operand predicates
38972 /* 109611 */ // (imm:{ *:[i64] })<<P:Predicate_i64immSExt8>>:$src => (MOV64ImmSExti8:{ *:[i64] } (imm:{ *:[i64] }):$src)
38973 /* 109611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ImmSExti8),
38974 /* 109614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38975 /* 109616 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38976 /* 109619 */ GIR_RootConstrainSelectedInstOperands,
38977 /* 109620 */ // GIR_Coverage, 17121,
38978 /* 109620 */ GIR_EraseRootFromParent_Done,
38979 /* 109621 */ // Label 2379: @109621
38980 /* 109621 */ GIM_Try, /*On fail goto*//*Label 2380*/ GIMT_Encode4(109644), // Rule ID 17122 //
38981 /* 109626 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immZExt32),
38982 /* 109630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38983 /* 109634 */ // MIs[0] Operand 1
38984 /* 109634 */ // No operand predicates
38985 /* 109634 */ // (imm:{ *:[i64] })<<P:Predicate_i64immZExt32>>:$src => (MOV32ri64:{ *:[i64] } (imm:{ *:[i64] }):$src)
38986 /* 109634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV32ri64),
38987 /* 109637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
38988 /* 109639 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
38989 /* 109642 */ GIR_RootConstrainSelectedInstOperands,
38990 /* 109643 */ // GIR_Coverage, 17122,
38991 /* 109643 */ GIR_EraseRootFromParent_Done,
38992 /* 109644 */ // Label 2380: @109644
38993 /* 109644 */ GIM_Try, /*On fail goto*//*Label 2381*/ GIMT_Encode4(109667), // Rule ID 22 //
38994 /* 109649 */ GIM_CheckI64ImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_I64_Predicate_i64immSExt32),
38995 /* 109653 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
38996 /* 109657 */ // MIs[0] Operand 1
38997 /* 109657 */ // No operand predicates
38998 /* 109657 */ // (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>>:$src => (MOV64ri32:{ *:[i64] } (imm:{ *:[i64] }):$src)
38999 /* 109657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ri32),
39000 /* 109660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39001 /* 109662 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39002 /* 109665 */ GIR_RootConstrainSelectedInstOperands,
39003 /* 109666 */ // GIR_Coverage, 22,
39004 /* 109666 */ GIR_EraseRootFromParent_Done,
39005 /* 109667 */ // Label 2381: @109667
39006 /* 109667 */ GIM_Try, /*On fail goto*//*Label 2382*/ GIMT_Encode4(109686), // Rule ID 23 //
39007 /* 109672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39008 /* 109676 */ // MIs[0] Operand 1
39009 /* 109676 */ // No operand predicates
39010 /* 109676 */ // (imm:{ *:[i64] }):$src => (MOV64ri:{ *:[i64] } (imm:{ *:[i64] }):$src)
39011 /* 109676 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOV64ri),
39012 /* 109679 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39013 /* 109681 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/0, // src
39014 /* 109684 */ GIR_RootConstrainSelectedInstOperands,
39015 /* 109685 */ // GIR_Coverage, 23,
39016 /* 109685 */ GIR_EraseRootFromParent_Done,
39017 /* 109686 */ // Label 2382: @109686
39018 /* 109686 */ GIM_Reject,
39019 /* 109687 */ // Label 2364: @109687
39020 /* 109687 */ GIM_Reject,
39021 /* 109688 */ // Label 23: @109688
39022 /* 109688 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 2386*/ GIMT_Encode4(110140),
39023 /* 109699 */ /*GILLT_s32*//*Label 2383*/ GIMT_Encode4(109711),
39024 /* 109703 */ /*GILLT_s64*//*Label 2384*/ GIMT_Encode4(109856),
39025 /* 109707 */ /*GILLT_s80*//*Label 2385*/ GIMT_Encode4(110001),
39026 /* 109711 */ // Label 2383: @109711
39027 /* 109711 */ GIM_Try, /*On fail goto*//*Label 2387*/ GIMT_Encode4(109737), // Rule ID 1092 //
39028 /* 109716 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
39029 /* 109719 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
39030 /* 109723 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
39031 /* 109727 */ // MIs[0] Operand 1
39032 /* 109727 */ // No operand predicates
39033 /* 109727 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimm0>> => (LD_Fp032:{ *:[f32] }:{ *:[i16] })
39034 /* 109727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp032),
39035 /* 109730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39036 /* 109732 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39037 /* 109735 */ GIR_RootConstrainSelectedInstOperands,
39038 /* 109736 */ // GIR_Coverage, 1092,
39039 /* 109736 */ GIR_EraseRootFromParent_Done,
39040 /* 109737 */ // Label 2387: @109737
39041 /* 109737 */ GIM_Try, /*On fail goto*//*Label 2388*/ GIMT_Encode4(109763), // Rule ID 1093 //
39042 /* 109742 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
39043 /* 109745 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
39044 /* 109749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
39045 /* 109753 */ // MIs[0] Operand 1
39046 /* 109753 */ // No operand predicates
39047 /* 109753 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimm1>> => (LD_Fp132:{ *:[f32] }:{ *:[i16] })
39048 /* 109753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp132),
39049 /* 109756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39050 /* 109758 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39051 /* 109761 */ GIR_RootConstrainSelectedInstOperands,
39052 /* 109762 */ // GIR_Coverage, 1093,
39053 /* 109762 */ GIR_EraseRootFromParent_Done,
39054 /* 109763 */ // Label 2388: @109763
39055 /* 109763 */ GIM_Try, /*On fail goto*//*Label 2389*/ GIMT_Encode4(109809), // Rule ID 17686 //
39056 /* 109768 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
39057 /* 109771 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
39058 /* 109775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
39059 /* 109779 */ // MIs[0] Operand 1
39060 /* 109779 */ // No operand predicates
39061 /* 109779 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimmneg0>> => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } (LD_Fp032:{ *:[f32] }:{ *:[i16] }))
39062 /* 109779 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39063 /* 109782 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp032),
39064 /* 109786 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39065 /* 109791 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
39066 /* 109794 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39067 /* 109796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
39068 /* 109799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39069 /* 109801 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39070 /* 109804 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39071 /* 109807 */ GIR_RootConstrainSelectedInstOperands,
39072 /* 109808 */ // GIR_Coverage, 17686,
39073 /* 109808 */ GIR_EraseRootFromParent_Done,
39074 /* 109809 */ // Label 2389: @109809
39075 /* 109809 */ GIM_Try, /*On fail goto*//*Label 2390*/ GIMT_Encode4(109855), // Rule ID 17687 //
39076 /* 109814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
39077 /* 109817 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
39078 /* 109821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
39079 /* 109825 */ // MIs[0] Operand 1
39080 /* 109825 */ // No operand predicates
39081 /* 109825 */ // (fpimm:{ *:[f32] })<<P:Predicate_fpimmneg1>> => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } (LD_Fp132:{ *:[f32] }:{ *:[i16] }))
39082 /* 109825 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39083 /* 109828 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp132),
39084 /* 109832 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39085 /* 109837 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
39086 /* 109840 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39087 /* 109842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
39088 /* 109845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39089 /* 109847 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39090 /* 109850 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39091 /* 109853 */ GIR_RootConstrainSelectedInstOperands,
39092 /* 109854 */ // GIR_Coverage, 17687,
39093 /* 109854 */ GIR_EraseRootFromParent_Done,
39094 /* 109855 */ // Label 2390: @109855
39095 /* 109855 */ GIM_Reject,
39096 /* 109856 */ // Label 2384: @109856
39097 /* 109856 */ GIM_Try, /*On fail goto*//*Label 2391*/ GIMT_Encode4(109882), // Rule ID 1094 //
39098 /* 109861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
39099 /* 109864 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
39100 /* 109868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
39101 /* 109872 */ // MIs[0] Operand 1
39102 /* 109872 */ // No operand predicates
39103 /* 109872 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimm0>> => (LD_Fp064:{ *:[f64] }:{ *:[i16] })
39104 /* 109872 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp064),
39105 /* 109875 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39106 /* 109877 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39107 /* 109880 */ GIR_RootConstrainSelectedInstOperands,
39108 /* 109881 */ // GIR_Coverage, 1094,
39109 /* 109881 */ GIR_EraseRootFromParent_Done,
39110 /* 109882 */ // Label 2391: @109882
39111 /* 109882 */ GIM_Try, /*On fail goto*//*Label 2392*/ GIMT_Encode4(109908), // Rule ID 1095 //
39112 /* 109887 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
39113 /* 109890 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
39114 /* 109894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
39115 /* 109898 */ // MIs[0] Operand 1
39116 /* 109898 */ // No operand predicates
39117 /* 109898 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimm1>> => (LD_Fp164:{ *:[f64] }:{ *:[i16] })
39118 /* 109898 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp164),
39119 /* 109901 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39120 /* 109903 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39121 /* 109906 */ GIR_RootConstrainSelectedInstOperands,
39122 /* 109907 */ // GIR_Coverage, 1095,
39123 /* 109907 */ GIR_EraseRootFromParent_Done,
39124 /* 109908 */ // Label 2392: @109908
39125 /* 109908 */ GIM_Try, /*On fail goto*//*Label 2393*/ GIMT_Encode4(109954), // Rule ID 17688 //
39126 /* 109913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
39127 /* 109916 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
39128 /* 109920 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
39129 /* 109924 */ // MIs[0] Operand 1
39130 /* 109924 */ // No operand predicates
39131 /* 109924 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimmneg0>> => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } (LD_Fp064:{ *:[f64] }:{ *:[i16] }))
39132 /* 109924 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
39133 /* 109927 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp064),
39134 /* 109931 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39135 /* 109936 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
39136 /* 109939 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39137 /* 109941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
39138 /* 109944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39139 /* 109946 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39140 /* 109949 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39141 /* 109952 */ GIR_RootConstrainSelectedInstOperands,
39142 /* 109953 */ // GIR_Coverage, 17688,
39143 /* 109953 */ GIR_EraseRootFromParent_Done,
39144 /* 109954 */ // Label 2393: @109954
39145 /* 109954 */ GIM_Try, /*On fail goto*//*Label 2394*/ GIMT_Encode4(110000), // Rule ID 17689 //
39146 /* 109959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
39147 /* 109962 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
39148 /* 109966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
39149 /* 109970 */ // MIs[0] Operand 1
39150 /* 109970 */ // No operand predicates
39151 /* 109970 */ // (fpimm:{ *:[f64] })<<P:Predicate_fpimmneg1>> => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } (LD_Fp164:{ *:[f64] }:{ *:[i16] }))
39152 /* 109970 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
39153 /* 109973 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp164),
39154 /* 109977 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39155 /* 109982 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
39156 /* 109985 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39157 /* 109987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
39158 /* 109990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39159 /* 109992 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39160 /* 109995 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39161 /* 109998 */ GIR_RootConstrainSelectedInstOperands,
39162 /* 109999 */ // GIR_Coverage, 17689,
39163 /* 109999 */ GIR_EraseRootFromParent_Done,
39164 /* 110000 */ // Label 2394: @110000
39165 /* 110000 */ GIM_Reject,
39166 /* 110001 */ // Label 2385: @110001
39167 /* 110001 */ GIM_Try, /*On fail goto*//*Label 2395*/ GIMT_Encode4(110027), // Rule ID 1096 //
39168 /* 110006 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
39169 /* 110009 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm0),
39170 /* 110013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
39171 /* 110017 */ // MIs[0] Operand 1
39172 /* 110017 */ // No operand predicates
39173 /* 110017 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimm0>> => (LD_Fp080:{ *:[f80] }:{ *:[i16] })
39174 /* 110017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp080),
39175 /* 110020 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39176 /* 110022 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39177 /* 110025 */ GIR_RootConstrainSelectedInstOperands,
39178 /* 110026 */ // GIR_Coverage, 1096,
39179 /* 110026 */ GIR_EraseRootFromParent_Done,
39180 /* 110027 */ // Label 2395: @110027
39181 /* 110027 */ GIM_Try, /*On fail goto*//*Label 2396*/ GIMT_Encode4(110053), // Rule ID 1097 //
39182 /* 110032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
39183 /* 110035 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimm1),
39184 /* 110039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
39185 /* 110043 */ // MIs[0] Operand 1
39186 /* 110043 */ // No operand predicates
39187 /* 110043 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimm1>> => (LD_Fp180:{ *:[f80] }:{ *:[i16] })
39188 /* 110043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LD_Fp180),
39189 /* 110046 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39190 /* 110048 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39191 /* 110051 */ GIR_RootConstrainSelectedInstOperands,
39192 /* 110052 */ // GIR_Coverage, 1097,
39193 /* 110052 */ GIR_EraseRootFromParent_Done,
39194 /* 110053 */ // Label 2396: @110053
39195 /* 110053 */ GIM_Try, /*On fail goto*//*Label 2397*/ GIMT_Encode4(110096), // Rule ID 17690 //
39196 /* 110058 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg0),
39197 /* 110062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
39198 /* 110066 */ // MIs[0] Operand 1
39199 /* 110066 */ // No operand predicates
39200 /* 110066 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimmneg0>> => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } (LD_Fp080:{ *:[f80] }:{ *:[i16] }))
39201 /* 110066 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s80,
39202 /* 110069 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp080),
39203 /* 110073 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39204 /* 110078 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
39205 /* 110081 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39206 /* 110083 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
39207 /* 110086 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39208 /* 110088 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39209 /* 110091 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39210 /* 110094 */ GIR_RootConstrainSelectedInstOperands,
39211 /* 110095 */ // GIR_Coverage, 17690,
39212 /* 110095 */ GIR_EraseRootFromParent_Done,
39213 /* 110096 */ // Label 2397: @110096
39214 /* 110096 */ GIM_Try, /*On fail goto*//*Label 2398*/ GIMT_Encode4(110139), // Rule ID 17691 //
39215 /* 110101 */ GIM_CheckAPFloatImmPredicate, /*MI*/0, /*Predicate*/GIMT_Encode2(GICXXPred_APFloat_Predicate_fpimmneg1),
39216 /* 110105 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
39217 /* 110109 */ // MIs[0] Operand 1
39218 /* 110109 */ // No operand predicates
39219 /* 110109 */ // (fpimm:{ *:[f80] })<<P:Predicate_fpimmneg1>> => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } (LD_Fp180:{ *:[f80] }:{ *:[i16] }))
39220 /* 110109 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s80,
39221 /* 110112 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::LD_Fp180),
39222 /* 110116 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39223 /* 110121 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::FPSW*/0,
39224 /* 110124 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39225 /* 110126 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
39226 /* 110129 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39227 /* 110131 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39228 /* 110134 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
39229 /* 110137 */ GIR_RootConstrainSelectedInstOperands,
39230 /* 110138 */ // GIR_Coverage, 17691,
39231 /* 110138 */ GIR_EraseRootFromParent_Done,
39232 /* 110139 */ // Label 2398: @110139
39233 /* 110139 */ GIM_Reject,
39234 /* 110140 */ // Label 2386: @110140
39235 /* 110140 */ GIM_Reject,
39236 /* 110141 */ // Label 24: @110141
39237 /* 110141 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 2414*/ GIMT_Encode4(111812),
39238 /* 110152 */ /*GILLT_s16*//*Label 2399*/ GIMT_Encode4(110244),
39239 /* 110156 */ /*GILLT_s32*//*Label 2400*/ GIMT_Encode4(110302),
39240 /* 110160 */ /*GILLT_s64*//*Label 2401*/ GIMT_Encode4(110349), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
39241 /* 110196 */ /*GILLT_v16s8*//*Label 2402*/ GIMT_Encode4(110422),
39242 /* 110200 */ /*GILLT_v32s8*//*Label 2403*/ GIMT_Encode4(110491),
39243 /* 110204 */ /*GILLT_v64s8*//*Label 2404*/ GIMT_Encode4(110518),
39244 /* 110208 */ /*GILLT_v8s16*//*Label 2405*/ GIMT_Encode4(110545),
39245 /* 110212 */ /*GILLT_v16s16*//*Label 2406*/ GIMT_Encode4(110614),
39246 /* 110216 */ /*GILLT_v32s16*//*Label 2407*/ GIMT_Encode4(110858),
39247 /* 110220 */ /*GILLT_v4s32*//*Label 2408*/ GIMT_Encode4(110970),
39248 /* 110224 */ /*GILLT_v8s32*//*Label 2409*/ GIMT_Encode4(110997),
39249 /* 110228 */ /*GILLT_v16s32*//*Label 2410*/ GIMT_Encode4(111194),
39250 /* 110232 */ /*GILLT_v2s64*//*Label 2411*/ GIMT_Encode4(111391),
39251 /* 110236 */ /*GILLT_v4s64*//*Label 2412*/ GIMT_Encode4(111418),
39252 /* 110240 */ /*GILLT_v8s64*//*Label 2413*/ GIMT_Encode4(111615),
39253 /* 110244 */ // Label 2399: @110244
39254 /* 110244 */ GIM_Try, /*On fail goto*//*Label 2415*/ GIMT_Encode4(110301), // Rule ID 22705 //
39255 /* 110249 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39256 /* 110252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39257 /* 110256 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39258 /* 110260 */ // (sext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVSX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
39259 /* 110260 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39260 /* 110263 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
39261 /* 110267 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39262 /* 110272 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39263 /* 110276 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39264 /* 110278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39265 /* 110281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39266 /* 110283 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39267 /* 110290 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39268 /* 110295 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39269 /* 110300 */ // GIR_Coverage, 22705,
39270 /* 110300 */ GIR_EraseRootFromParent_Done,
39271 /* 110301 */ // Label 2415: @110301
39272 /* 110301 */ GIM_Reject,
39273 /* 110302 */ // Label 2400: @110302
39274 /* 110302 */ GIM_Try, /*On fail goto*//*Label 2416*/ GIMT_Encode4(110325), // Rule ID 589 //
39275 /* 110307 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39276 /* 110310 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39277 /* 110314 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39278 /* 110318 */ // (sext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVSX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
39279 /* 110318 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
39280 /* 110323 */ GIR_RootConstrainSelectedInstOperands,
39281 /* 110324 */ // GIR_Coverage, 589,
39282 /* 110324 */ GIR_Done,
39283 /* 110325 */ // Label 2416: @110325
39284 /* 110325 */ GIM_Try, /*On fail goto*//*Label 2417*/ GIMT_Encode4(110348), // Rule ID 591 //
39285 /* 110330 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39286 /* 110333 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39287 /* 110337 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39288 /* 110341 */ // (sext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (MOVSX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src)
39289 /* 110341 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr16),
39290 /* 110346 */ GIR_RootConstrainSelectedInstOperands,
39291 /* 110347 */ // GIR_Coverage, 591,
39292 /* 110347 */ GIR_Done,
39293 /* 110348 */ // Label 2417: @110348
39294 /* 110348 */ GIM_Reject,
39295 /* 110349 */ // Label 2401: @110349
39296 /* 110349 */ GIM_Try, /*On fail goto*//*Label 2418*/ GIMT_Encode4(110372), // Rule ID 597 //
39297 /* 110354 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39298 /* 110357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39299 /* 110361 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39300 /* 110365 */ // (sext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (MOVSX64rr8:{ *:[i64] } GR8:{ *:[i8] }:$src)
39301 /* 110365 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr8),
39302 /* 110370 */ GIR_RootConstrainSelectedInstOperands,
39303 /* 110371 */ // GIR_Coverage, 597,
39304 /* 110371 */ GIR_Done,
39305 /* 110372 */ // Label 2418: @110372
39306 /* 110372 */ GIM_Try, /*On fail goto*//*Label 2419*/ GIMT_Encode4(110395), // Rule ID 599 //
39307 /* 110377 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39308 /* 110380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39309 /* 110384 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39310 /* 110388 */ // (sext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (MOVSX64rr16:{ *:[i64] } GR16:{ *:[i16] }:$src)
39311 /* 110388 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr16),
39312 /* 110393 */ GIR_RootConstrainSelectedInstOperands,
39313 /* 110394 */ // GIR_Coverage, 599,
39314 /* 110394 */ GIR_Done,
39315 /* 110395 */ // Label 2419: @110395
39316 /* 110395 */ GIM_Try, /*On fail goto*//*Label 2420*/ GIMT_Encode4(110421), // Rule ID 601 //
39317 /* 110400 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_In64BitMode),
39318 /* 110403 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
39319 /* 110406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
39320 /* 110410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39321 /* 110414 */ // (sext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (MOVSX64rr32:{ *:[i64] } GR32:{ *:[i32] }:$src)
39322 /* 110414 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVSX64rr32),
39323 /* 110419 */ GIR_RootConstrainSelectedInstOperands,
39324 /* 110420 */ // GIR_Coverage, 601,
39325 /* 110420 */ GIR_Done,
39326 /* 110421 */ // Label 2420: @110421
39327 /* 110421 */ GIM_Reject,
39328 /* 110422 */ // Label 2402: @110422
39329 /* 110422 */ GIM_Try, /*On fail goto*//*Label 2421*/ GIMT_Encode4(110490),
39330 /* 110427 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
39331 /* 110430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39332 /* 110434 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
39333 /* 110438 */ GIM_Try, /*On fail goto*//*Label 2422*/ GIMT_Encode4(110453), // Rule ID 12565 //
39334 /* 110443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
39335 /* 110446 */ // (sext:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2BZ128rk:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src)
39336 /* 110446 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZ128rk),
39337 /* 110451 */ GIR_RootConstrainSelectedInstOperands,
39338 /* 110452 */ // GIR_Coverage, 12565,
39339 /* 110452 */ GIR_Done,
39340 /* 110453 */ // Label 2422: @110453
39341 /* 110453 */ GIM_Try, /*On fail goto*//*Label 2423*/ GIMT_Encode4(110489), // Rule ID 21646 //
39342 /* 110458 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoBWI),
39343 /* 110461 */ // (sext:{ *:[v16i8] } VK16:{ *:[v16i1] }:$src) => (VPMOVDBZrr:{ *:[v16i8] } (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src))
39344 /* 110461 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
39345 /* 110464 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
39346 /* 110468 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39347 /* 110473 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39348 /* 110477 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39349 /* 110479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDBZrr),
39350 /* 110482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39351 /* 110484 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39352 /* 110487 */ GIR_RootConstrainSelectedInstOperands,
39353 /* 110488 */ // GIR_Coverage, 21646,
39354 /* 110488 */ GIR_EraseRootFromParent_Done,
39355 /* 110489 */ // Label 2423: @110489
39356 /* 110489 */ GIM_Reject,
39357 /* 110490 */ // Label 2421: @110490
39358 /* 110490 */ GIM_Reject,
39359 /* 110491 */ // Label 2403: @110491
39360 /* 110491 */ GIM_Try, /*On fail goto*//*Label 2424*/ GIMT_Encode4(110517), // Rule ID 12564 //
39361 /* 110496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
39362 /* 110499 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
39363 /* 110502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39364 /* 110506 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
39365 /* 110510 */ // (sext:{ *:[v32i8] } VK32:{ *:[v32i1] }:$src) => (VPMOVM2BZ256rk:{ *:[v32i8] } VK32:{ *:[v32i1] }:$src)
39366 /* 110510 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZ256rk),
39367 /* 110515 */ GIR_RootConstrainSelectedInstOperands,
39368 /* 110516 */ // GIR_Coverage, 12564,
39369 /* 110516 */ GIR_Done,
39370 /* 110517 */ // Label 2424: @110517
39371 /* 110517 */ GIM_Reject,
39372 /* 110518 */ // Label 2404: @110518
39373 /* 110518 */ GIM_Try, /*On fail goto*//*Label 2425*/ GIMT_Encode4(110544), // Rule ID 12563 //
39374 /* 110523 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
39375 /* 110526 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
39376 /* 110529 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39377 /* 110533 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
39378 /* 110537 */ // (sext:{ *:[v64i8] } VK64:{ *:[v64i1] }:$src) => (VPMOVM2BZrk:{ *:[v64i8] } VK64:{ *:[v64i1] }:$src)
39379 /* 110537 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2BZrk),
39380 /* 110542 */ GIR_RootConstrainSelectedInstOperands,
39381 /* 110543 */ // GIR_Coverage, 12563,
39382 /* 110543 */ GIR_Done,
39383 /* 110544 */ // Label 2425: @110544
39384 /* 110544 */ GIM_Reject,
39385 /* 110545 */ // Label 2405: @110545
39386 /* 110545 */ GIM_Try, /*On fail goto*//*Label 2426*/ GIMT_Encode4(110613),
39387 /* 110550 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
39388 /* 110553 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39389 /* 110557 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
39390 /* 110561 */ GIM_Try, /*On fail goto*//*Label 2427*/ GIMT_Encode4(110576), // Rule ID 12568 //
39391 /* 110566 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
39392 /* 110569 */ // (sext:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2WZ128rk:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src)
39393 /* 110569 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZ128rk),
39394 /* 110574 */ GIR_RootConstrainSelectedInstOperands,
39395 /* 110575 */ // GIR_Coverage, 12568,
39396 /* 110575 */ GIR_Done,
39397 /* 110576 */ // Label 2427: @110576
39398 /* 110576 */ GIM_Try, /*On fail goto*//*Label 2428*/ GIMT_Encode4(110612), // Rule ID 21648 //
39399 /* 110581 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX_NoBWI),
39400 /* 110584 */ // (sext:{ *:[v8i16] } VK8:{ *:[v8i1] }:$src) => (VPMOVDWZ256rr:{ *:[v8i16] } (VPMOVM2DZ256rk:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src))
39401 /* 110584 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
39402 /* 110587 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ256rk),
39403 /* 110591 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39404 /* 110596 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39405 /* 110600 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39406 /* 110602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZ256rr),
39407 /* 110605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39408 /* 110607 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39409 /* 110610 */ GIR_RootConstrainSelectedInstOperands,
39410 /* 110611 */ // GIR_Coverage, 21648,
39411 /* 110611 */ GIR_EraseRootFromParent_Done,
39412 /* 110612 */ // Label 2428: @110612
39413 /* 110612 */ GIM_Reject,
39414 /* 110613 */ // Label 2426: @110613
39415 /* 110613 */ GIM_Reject,
39416 /* 110614 */ // Label 2406: @110614
39417 /* 110614 */ GIM_Try, /*On fail goto*//*Label 2429*/ GIMT_Encode4(110673), // Rule ID 18346 //
39418 /* 110619 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
39419 /* 110622 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
39420 /* 110625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39421 /* 110629 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39422 /* 110633 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39423 /* 110637 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39424 /* 110640 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39425 /* 110644 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39426 /* 110648 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39427 /* 110650 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39428 /* 110657 */ // (sext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
39429 /* 110657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWYrm),
39430 /* 110660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39431 /* 110662 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39432 /* 110666 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39433 /* 110671 */ GIR_RootConstrainSelectedInstOperands,
39434 /* 110672 */ // GIR_Coverage, 18346,
39435 /* 110672 */ GIR_EraseRootFromParent_Done,
39436 /* 110673 */ // Label 2429: @110673
39437 /* 110673 */ GIM_Try, /*On fail goto*//*Label 2430*/ GIMT_Encode4(110732), // Rule ID 21570 //
39438 /* 110678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
39439 /* 110681 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
39440 /* 110684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39441 /* 110688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39442 /* 110692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39443 /* 110696 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39444 /* 110699 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39445 /* 110703 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39446 /* 110707 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39447 /* 110709 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39448 /* 110716 */ // (sext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
39449 /* 110716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZ256rm),
39450 /* 110719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39451 /* 110721 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39452 /* 110725 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39453 /* 110730 */ GIR_RootConstrainSelectedInstOperands,
39454 /* 110731 */ // GIR_Coverage, 21570,
39455 /* 110731 */ GIR_EraseRootFromParent_Done,
39456 /* 110732 */ // Label 2430: @110732
39457 /* 110732 */ GIM_Try, /*On fail goto*//*Label 2431*/ GIMT_Encode4(110758), // Rule ID 12461 //
39458 /* 110737 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
39459 /* 110740 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
39460 /* 110743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39461 /* 110747 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39462 /* 110751 */ // (sext:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src) => (VPMOVSXBWZ256rr:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src)
39463 /* 110751 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZ256rr),
39464 /* 110756 */ GIR_RootConstrainSelectedInstOperands,
39465 /* 110757 */ // GIR_Coverage, 12461,
39466 /* 110757 */ GIR_Done,
39467 /* 110758 */ // Label 2431: @110758
39468 /* 110758 */ GIM_Try, /*On fail goto*//*Label 2432*/ GIMT_Encode4(110784), // Rule ID 12567 //
39469 /* 110763 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
39470 /* 110766 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
39471 /* 110769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39472 /* 110773 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
39473 /* 110777 */ // (sext:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2WZ256rk:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src)
39474 /* 110777 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZ256rk),
39475 /* 110782 */ GIR_RootConstrainSelectedInstOperands,
39476 /* 110783 */ // GIR_Coverage, 12567,
39477 /* 110783 */ GIR_Done,
39478 /* 110784 */ // Label 2432: @110784
39479 /* 110784 */ GIM_Try, /*On fail goto*//*Label 2433*/ GIMT_Encode4(110810), // Rule ID 18339 //
39480 /* 110789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
39481 /* 110792 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
39482 /* 110795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39483 /* 110799 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
39484 /* 110803 */ // (sext:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src) => (VPMOVSXBWYrr:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src)
39485 /* 110803 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWYrr),
39486 /* 110808 */ GIR_RootConstrainSelectedInstOperands,
39487 /* 110809 */ // GIR_Coverage, 18339,
39488 /* 110809 */ GIR_Done,
39489 /* 110810 */ // Label 2433: @110810
39490 /* 110810 */ GIM_Try, /*On fail goto*//*Label 2434*/ GIMT_Encode4(110857), // Rule ID 21647 //
39491 /* 110815 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoBWI),
39492 /* 110818 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
39493 /* 110821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39494 /* 110825 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
39495 /* 110829 */ // (sext:{ *:[v16i16] } VK16:{ *:[v16i1] }:$src) => (VPMOVDWZrr:{ *:[v16i16] } (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src))
39496 /* 110829 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
39497 /* 110832 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
39498 /* 110836 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39499 /* 110841 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39500 /* 110845 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39501 /* 110847 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVDWZrr),
39502 /* 110850 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39503 /* 110852 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39504 /* 110855 */ GIR_RootConstrainSelectedInstOperands,
39505 /* 110856 */ // GIR_Coverage, 21647,
39506 /* 110856 */ GIR_EraseRootFromParent_Done,
39507 /* 110857 */ // Label 2434: @110857
39508 /* 110857 */ GIM_Reject,
39509 /* 110858 */ // Label 2407: @110858
39510 /* 110858 */ GIM_Try, /*On fail goto*//*Label 2435*/ GIMT_Encode4(110917), // Rule ID 21573 //
39511 /* 110863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
39512 /* 110866 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
39513 /* 110869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39514 /* 110873 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39515 /* 110877 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39516 /* 110881 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39517 /* 110884 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39518 /* 110888 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39519 /* 110892 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39520 /* 110894 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39521 /* 110901 */ // (sext:{ *:[v32i16] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
39522 /* 110901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZrm),
39523 /* 110904 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39524 /* 110906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39525 /* 110910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39526 /* 110915 */ GIR_RootConstrainSelectedInstOperands,
39527 /* 110916 */ // GIR_Coverage, 21573,
39528 /* 110916 */ GIR_EraseRootFromParent_Done,
39529 /* 110917 */ // Label 2435: @110917
39530 /* 110917 */ GIM_Try, /*On fail goto*//*Label 2436*/ GIMT_Encode4(110943), // Rule ID 12467 //
39531 /* 110922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
39532 /* 110925 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
39533 /* 110928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39534 /* 110932 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39535 /* 110936 */ // (sext:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src) => (VPMOVSXBWZrr:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src)
39536 /* 110936 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBWZrr),
39537 /* 110941 */ GIR_RootConstrainSelectedInstOperands,
39538 /* 110942 */ // GIR_Coverage, 12467,
39539 /* 110942 */ GIR_Done,
39540 /* 110943 */ // Label 2436: @110943
39541 /* 110943 */ GIM_Try, /*On fail goto*//*Label 2437*/ GIMT_Encode4(110969), // Rule ID 12566 //
39542 /* 110948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
39543 /* 110951 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
39544 /* 110954 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39545 /* 110958 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
39546 /* 110962 */ // (sext:{ *:[v32i16] } VK32:{ *:[v32i1] }:$src) => (VPMOVM2WZrk:{ *:[v32i16] } VK32:{ *:[v32i1] }:$src)
39547 /* 110962 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2WZrk),
39548 /* 110967 */ GIR_RootConstrainSelectedInstOperands,
39549 /* 110968 */ // GIR_Coverage, 12566,
39550 /* 110968 */ GIR_Done,
39551 /* 110969 */ // Label 2437: @110969
39552 /* 110969 */ GIM_Reject,
39553 /* 110970 */ // Label 2408: @110970
39554 /* 110970 */ GIM_Try, /*On fail goto*//*Label 2438*/ GIMT_Encode4(110996), // Rule ID 12571 //
39555 /* 110975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
39556 /* 110978 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
39557 /* 110981 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39558 /* 110985 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
39559 /* 110989 */ // (sext:{ *:[v4i32] } VK4:{ *:[v4i1] }:$src) => (VPMOVM2DZ128rk:{ *:[v4i32] } VK4:{ *:[v4i1] }:$src)
39560 /* 110989 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ128rk),
39561 /* 110994 */ GIR_RootConstrainSelectedInstOperands,
39562 /* 110995 */ // GIR_Coverage, 12571,
39563 /* 110995 */ GIR_Done,
39564 /* 110996 */ // Label 2438: @110996
39565 /* 110996 */ GIM_Reject,
39566 /* 110997 */ // Label 2409: @110997
39567 /* 110997 */ GIM_Try, /*On fail goto*//*Label 2439*/ GIMT_Encode4(111056), // Rule ID 18352 //
39568 /* 111002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
39569 /* 111005 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
39570 /* 111008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39571 /* 111012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39572 /* 111016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39573 /* 111020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39574 /* 111023 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39575 /* 111027 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39576 /* 111031 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39577 /* 111033 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39578 /* 111040 */ // (sext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
39579 /* 111040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDYrm),
39580 /* 111043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39581 /* 111045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39582 /* 111049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39583 /* 111054 */ GIR_RootConstrainSelectedInstOperands,
39584 /* 111055 */ // GIR_Coverage, 18352,
39585 /* 111055 */ GIR_EraseRootFromParent_Done,
39586 /* 111056 */ // Label 2439: @111056
39587 /* 111056 */ GIM_Try, /*On fail goto*//*Label 2440*/ GIMT_Encode4(111115), // Rule ID 21571 //
39588 /* 111061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
39589 /* 111064 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
39590 /* 111067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39591 /* 111071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39592 /* 111075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39593 /* 111079 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39594 /* 111082 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39595 /* 111086 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39596 /* 111090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39597 /* 111092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39598 /* 111099 */ // (sext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
39599 /* 111099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZ256rm),
39600 /* 111102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39601 /* 111104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39602 /* 111108 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39603 /* 111113 */ GIR_RootConstrainSelectedInstOperands,
39604 /* 111114 */ // GIR_Coverage, 21571,
39605 /* 111114 */ GIR_EraseRootFromParent_Done,
39606 /* 111115 */ // Label 2440: @111115
39607 /* 111115 */ GIM_Try, /*On fail goto*//*Label 2441*/ GIMT_Encode4(111141), // Rule ID 12515 //
39608 /* 111120 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
39609 /* 111123 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
39610 /* 111126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39611 /* 111130 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39612 /* 111134 */ // (sext:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src) => (VPMOVSXWDZ256rr:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src)
39613 /* 111134 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZ256rr),
39614 /* 111139 */ GIR_RootConstrainSelectedInstOperands,
39615 /* 111140 */ // GIR_Coverage, 12515,
39616 /* 111140 */ GIR_Done,
39617 /* 111141 */ // Label 2441: @111141
39618 /* 111141 */ GIM_Try, /*On fail goto*//*Label 2442*/ GIMT_Encode4(111167), // Rule ID 12570 //
39619 /* 111146 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
39620 /* 111149 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
39621 /* 111152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39622 /* 111156 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
39623 /* 111160 */ // (sext:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2DZ256rk:{ *:[v8i32] } VK8:{ *:[v8i1] }:$src)
39624 /* 111160 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZ256rk),
39625 /* 111165 */ GIR_RootConstrainSelectedInstOperands,
39626 /* 111166 */ // GIR_Coverage, 12570,
39627 /* 111166 */ GIR_Done,
39628 /* 111167 */ // Label 2442: @111167
39629 /* 111167 */ GIM_Try, /*On fail goto*//*Label 2443*/ GIMT_Encode4(111193), // Rule ID 18342 //
39630 /* 111172 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
39631 /* 111175 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
39632 /* 111178 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39633 /* 111182 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
39634 /* 111186 */ // (sext:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src) => (VPMOVSXWDYrr:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src)
39635 /* 111186 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDYrr),
39636 /* 111191 */ GIR_RootConstrainSelectedInstOperands,
39637 /* 111192 */ // GIR_Coverage, 18342,
39638 /* 111192 */ GIR_Done,
39639 /* 111193 */ // Label 2443: @111193
39640 /* 111193 */ GIM_Reject,
39641 /* 111194 */ // Label 2410: @111194
39642 /* 111194 */ GIM_Try, /*On fail goto*//*Label 2444*/ GIMT_Encode4(111253), // Rule ID 21574 //
39643 /* 111199 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39644 /* 111202 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
39645 /* 111205 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39646 /* 111209 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39647 /* 111213 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39648 /* 111217 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39649 /* 111220 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39650 /* 111224 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39651 /* 111228 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39652 /* 111230 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39653 /* 111237 */ // (sext:{ *:[v16i32] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXBDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
39654 /* 111237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBDZrm),
39655 /* 111240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39656 /* 111242 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39657 /* 111246 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39658 /* 111251 */ GIR_RootConstrainSelectedInstOperands,
39659 /* 111252 */ // GIR_Coverage, 21574,
39660 /* 111252 */ GIR_EraseRootFromParent_Done,
39661 /* 111253 */ // Label 2444: @111253
39662 /* 111253 */ GIM_Try, /*On fail goto*//*Label 2445*/ GIMT_Encode4(111312), // Rule ID 21575 //
39663 /* 111258 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39664 /* 111261 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
39665 /* 111264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39666 /* 111268 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39667 /* 111272 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39668 /* 111276 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39669 /* 111279 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39670 /* 111283 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39671 /* 111287 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39672 /* 111289 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39673 /* 111296 */ // (sext:{ *:[v16i32] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
39674 /* 111296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZrm),
39675 /* 111299 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39676 /* 111301 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39677 /* 111305 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39678 /* 111310 */ GIR_RootConstrainSelectedInstOperands,
39679 /* 111311 */ // GIR_Coverage, 21575,
39680 /* 111311 */ GIR_EraseRootFromParent_Done,
39681 /* 111312 */ // Label 2445: @111312
39682 /* 111312 */ GIM_Try, /*On fail goto*//*Label 2446*/ GIMT_Encode4(111338), // Rule ID 12485 //
39683 /* 111317 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39684 /* 111320 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
39685 /* 111323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39686 /* 111327 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39687 /* 111331 */ // (sext:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src) => (VPMOVSXBDZrr:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src)
39688 /* 111331 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXBDZrr),
39689 /* 111336 */ GIR_RootConstrainSelectedInstOperands,
39690 /* 111337 */ // GIR_Coverage, 12485,
39691 /* 111337 */ GIR_Done,
39692 /* 111338 */ // Label 2446: @111338
39693 /* 111338 */ GIM_Try, /*On fail goto*//*Label 2447*/ GIMT_Encode4(111364), // Rule ID 12521 //
39694 /* 111343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39695 /* 111346 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
39696 /* 111349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39697 /* 111353 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39698 /* 111357 */ // (sext:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src) => (VPMOVSXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src)
39699 /* 111357 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWDZrr),
39700 /* 111362 */ GIR_RootConstrainSelectedInstOperands,
39701 /* 111363 */ // GIR_Coverage, 12521,
39702 /* 111363 */ GIR_Done,
39703 /* 111364 */ // Label 2447: @111364
39704 /* 111364 */ GIM_Try, /*On fail goto*//*Label 2448*/ GIMT_Encode4(111390), // Rule ID 12569 //
39705 /* 111369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
39706 /* 111372 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
39707 /* 111375 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39708 /* 111379 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
39709 /* 111383 */ // (sext:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src) => (VPMOVM2DZrk:{ *:[v16i32] } VK16:{ *:[v16i1] }:$src)
39710 /* 111383 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2DZrk),
39711 /* 111388 */ GIR_RootConstrainSelectedInstOperands,
39712 /* 111389 */ // GIR_Coverage, 12569,
39713 /* 111389 */ GIR_Done,
39714 /* 111390 */ // Label 2448: @111390
39715 /* 111390 */ GIM_Reject,
39716 /* 111391 */ // Label 2411: @111391
39717 /* 111391 */ GIM_Try, /*On fail goto*//*Label 2449*/ GIMT_Encode4(111417), // Rule ID 12574 //
39718 /* 111396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
39719 /* 111399 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
39720 /* 111402 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39721 /* 111406 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
39722 /* 111410 */ // (sext:{ *:[v2i64] } VK2:{ *:[v2i1] }:$src) => (VPMOVM2QZ128rk:{ *:[v2i64] } VK2:{ *:[v2i1] }:$src)
39723 /* 111410 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZ128rk),
39724 /* 111415 */ GIR_RootConstrainSelectedInstOperands,
39725 /* 111416 */ // GIR_Coverage, 12574,
39726 /* 111416 */ GIR_Done,
39727 /* 111417 */ // Label 2449: @111417
39728 /* 111417 */ GIM_Reject,
39729 /* 111418 */ // Label 2412: @111418
39730 /* 111418 */ GIM_Try, /*On fail goto*//*Label 2450*/ GIMT_Encode4(111477), // Rule ID 18356 //
39731 /* 111423 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
39732 /* 111426 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
39733 /* 111429 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39734 /* 111433 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39735 /* 111437 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39736 /* 111441 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39737 /* 111444 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39738 /* 111448 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39739 /* 111452 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39740 /* 111454 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39741 /* 111461 */ // (sext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
39742 /* 111461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQYrm),
39743 /* 111464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39744 /* 111466 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39745 /* 111470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39746 /* 111475 */ GIR_RootConstrainSelectedInstOperands,
39747 /* 111476 */ // GIR_Coverage, 18356,
39748 /* 111476 */ GIR_EraseRootFromParent_Done,
39749 /* 111477 */ // Label 2450: @111477
39750 /* 111477 */ GIM_Try, /*On fail goto*//*Label 2451*/ GIMT_Encode4(111536), // Rule ID 21572 //
39751 /* 111482 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
39752 /* 111485 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
39753 /* 111488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39754 /* 111492 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39755 /* 111496 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39756 /* 111500 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39757 /* 111503 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39758 /* 111507 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39759 /* 111511 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39760 /* 111513 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39761 /* 111520 */ // (sext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
39762 /* 111520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZ256rm),
39763 /* 111523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39764 /* 111525 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39765 /* 111529 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39766 /* 111534 */ GIR_RootConstrainSelectedInstOperands,
39767 /* 111535 */ // GIR_Coverage, 21572,
39768 /* 111535 */ GIR_EraseRootFromParent_Done,
39769 /* 111536 */ // Label 2451: @111536
39770 /* 111536 */ GIM_Try, /*On fail goto*//*Label 2452*/ GIMT_Encode4(111562), // Rule ID 12551 //
39771 /* 111541 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
39772 /* 111544 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
39773 /* 111547 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39774 /* 111551 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39775 /* 111555 */ // (sext:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src) => (VPMOVSXDQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src)
39776 /* 111555 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZ256rr),
39777 /* 111560 */ GIR_RootConstrainSelectedInstOperands,
39778 /* 111561 */ // GIR_Coverage, 12551,
39779 /* 111561 */ GIR_Done,
39780 /* 111562 */ // Label 2452: @111562
39781 /* 111562 */ GIM_Try, /*On fail goto*//*Label 2453*/ GIMT_Encode4(111588), // Rule ID 12573 //
39782 /* 111567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
39783 /* 111570 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
39784 /* 111573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39785 /* 111577 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
39786 /* 111581 */ // (sext:{ *:[v4i64] } VK4:{ *:[v4i1] }:$src) => (VPMOVM2QZ256rk:{ *:[v4i64] } VK4:{ *:[v4i1] }:$src)
39787 /* 111581 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZ256rk),
39788 /* 111586 */ GIR_RootConstrainSelectedInstOperands,
39789 /* 111587 */ // GIR_Coverage, 12573,
39790 /* 111587 */ GIR_Done,
39791 /* 111588 */ // Label 2453: @111588
39792 /* 111588 */ GIM_Try, /*On fail goto*//*Label 2454*/ GIMT_Encode4(111614), // Rule ID 18344 //
39793 /* 111593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
39794 /* 111596 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
39795 /* 111599 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
39796 /* 111603 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
39797 /* 111607 */ // (sext:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src) => (VPMOVSXDQYrr:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src)
39798 /* 111607 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQYrr),
39799 /* 111612 */ GIR_RootConstrainSelectedInstOperands,
39800 /* 111613 */ // GIR_Coverage, 18344,
39801 /* 111613 */ GIR_Done,
39802 /* 111614 */ // Label 2454: @111614
39803 /* 111614 */ GIM_Reject,
39804 /* 111615 */ // Label 2413: @111615
39805 /* 111615 */ GIM_Try, /*On fail goto*//*Label 2455*/ GIMT_Encode4(111674), // Rule ID 21576 //
39806 /* 111620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39807 /* 111623 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
39808 /* 111626 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39809 /* 111630 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39810 /* 111634 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39811 /* 111638 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39812 /* 111641 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39813 /* 111645 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39814 /* 111649 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39815 /* 111651 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39816 /* 111658 */ // (sext:{ *:[v8i64] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXWQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
39817 /* 111658 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWQZrm),
39818 /* 111661 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39819 /* 111663 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39820 /* 111667 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39821 /* 111672 */ GIR_RootConstrainSelectedInstOperands,
39822 /* 111673 */ // GIR_Coverage, 21576,
39823 /* 111673 */ GIR_EraseRootFromParent_Done,
39824 /* 111674 */ // Label 2455: @111674
39825 /* 111674 */ GIM_Try, /*On fail goto*//*Label 2456*/ GIMT_Encode4(111733), // Rule ID 21577 //
39826 /* 111679 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39827 /* 111682 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
39828 /* 111685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39829 /* 111689 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39830 /* 111693 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
39831 /* 111697 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
39832 /* 111700 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
39833 /* 111704 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
39834 /* 111708 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
39835 /* 111710 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
39836 /* 111717 */ // (sext:{ *:[v8i64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVSXDQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
39837 /* 111717 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZrm),
39838 /* 111720 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39839 /* 111722 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
39840 /* 111726 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
39841 /* 111731 */ GIR_RootConstrainSelectedInstOperands,
39842 /* 111732 */ // GIR_Coverage, 21577,
39843 /* 111732 */ GIR_EraseRootFromParent_Done,
39844 /* 111733 */ // Label 2456: @111733
39845 /* 111733 */ GIM_Try, /*On fail goto*//*Label 2457*/ GIMT_Encode4(111759), // Rule ID 12539 //
39846 /* 111738 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39847 /* 111741 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
39848 /* 111744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39849 /* 111748 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
39850 /* 111752 */ // (sext:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src) => (VPMOVSXWQZrr:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src)
39851 /* 111752 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXWQZrr),
39852 /* 111757 */ GIR_RootConstrainSelectedInstOperands,
39853 /* 111758 */ // GIR_Coverage, 12539,
39854 /* 111758 */ GIR_Done,
39855 /* 111759 */ // Label 2457: @111759
39856 /* 111759 */ GIM_Try, /*On fail goto*//*Label 2458*/ GIMT_Encode4(111785), // Rule ID 12557 //
39857 /* 111764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
39858 /* 111767 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
39859 /* 111770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39860 /* 111774 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
39861 /* 111778 */ // (sext:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src) => (VPMOVSXDQZrr:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src)
39862 /* 111778 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVSXDQZrr),
39863 /* 111783 */ GIR_RootConstrainSelectedInstOperands,
39864 /* 111784 */ // GIR_Coverage, 12557,
39865 /* 111784 */ GIR_Done,
39866 /* 111785 */ // Label 2458: @111785
39867 /* 111785 */ GIM_Try, /*On fail goto*//*Label 2459*/ GIMT_Encode4(111811), // Rule ID 12572 //
39868 /* 111790 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
39869 /* 111793 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
39870 /* 111796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
39871 /* 111800 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
39872 /* 111804 */ // (sext:{ *:[v8i64] } VK8:{ *:[v8i1] }:$src) => (VPMOVM2QZrk:{ *:[v8i64] } VK8:{ *:[v8i1] }:$src)
39873 /* 111804 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVM2QZrk),
39874 /* 111809 */ GIR_RootConstrainSelectedInstOperands,
39875 /* 111810 */ // GIR_Coverage, 12572,
39876 /* 111810 */ GIR_Done,
39877 /* 111811 */ // Label 2459: @111811
39878 /* 111811 */ GIM_Reject,
39879 /* 111812 */ // Label 2414: @111812
39880 /* 111812 */ GIM_Reject,
39881 /* 111813 */ // Label 25: @111813
39882 /* 111813 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(4), /*)*//*default:*//*Label 2462*/ GIMT_Encode4(112054),
39883 /* 111824 */ /*GILLT_s16*//*Label 2460*/ GIMT_Encode4(111832),
39884 /* 111828 */ /*GILLT_s32*//*Label 2461*/ GIMT_Encode4(111928),
39885 /* 111832 */ // Label 2460: @111832
39886 /* 111832 */ GIM_Try, /*On fail goto*//*Label 2463*/ GIMT_Encode4(111927), // Rule ID 22701 //
39887 /* 111837 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39888 /* 111840 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39889 /* 111844 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39890 /* 111848 */ // MIs[0] Operand 2
39891 /* 111848 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
39892 /* 111859 */ // (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] })
39893 /* 111859 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s8,
39894 /* 111862 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39895 /* 111866 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39896 /* 111871 */ GIR_CopySubReg, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
39897 /* 111877 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
39898 /* 111882 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
39899 /* 111887 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39900 /* 111890 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
39901 /* 111894 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39902 /* 111899 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
39903 /* 111902 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39904 /* 111904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39905 /* 111907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39906 /* 111909 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39907 /* 111916 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39908 /* 111921 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39909 /* 111926 */ // GIR_Coverage, 22701,
39910 /* 111926 */ GIR_EraseRootFromParent_Done,
39911 /* 111927 */ // Label 2463: @111927
39912 /* 111927 */ GIM_Reject,
39913 /* 111928 */ // Label 2461: @111928
39914 /* 111928 */ GIM_Try, /*On fail goto*//*Label 2464*/ GIMT_Encode4(112053),
39915 /* 111933 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
39916 /* 111936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39917 /* 111940 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
39918 /* 111944 */ GIM_Try, /*On fail goto*//*Label 2465*/ GIMT_Encode4(111998), // Rule ID 22699 //
39919 /* 111949 */ // MIs[0] Operand 2
39920 /* 111949 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
39921 /* 111960 */ // (sext_inreg:{ *:[i32] } GR32:{ *:[i32] }:$src, i16:{ *:[Other] }) => (MOVSX32rr16:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i16] } GR32:{ *:[i32] }:$src, sub_16bit:{ *:[i32] }))
39922 /* 111960 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
39923 /* 111963 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39924 /* 111967 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39925 /* 111972 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(4), // src
39926 /* 111978 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39927 /* 111983 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39928 /* 111988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr16),
39929 /* 111991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39930 /* 111993 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39931 /* 111996 */ GIR_RootConstrainSelectedInstOperands,
39932 /* 111997 */ // GIR_Coverage, 22699,
39933 /* 111997 */ GIR_EraseRootFromParent_Done,
39934 /* 111998 */ // Label 2465: @111998
39935 /* 111998 */ GIM_Try, /*On fail goto*//*Label 2466*/ GIMT_Encode4(112052), // Rule ID 22700 //
39936 /* 112003 */ // MIs[0] Operand 2
39937 /* 112003 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
39938 /* 112014 */ // (sext_inreg:{ *:[i32] } GR32:{ *:[i32] }:$src, i8:{ *:[Other] }) => (MOVSX32rr8:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src, sub_8bit:{ *:[i32] }))
39939 /* 112014 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s8,
39940 /* 112017 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39941 /* 112021 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39942 /* 112026 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(1), // src
39943 /* 112032 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR8RegClassID),
39944 /* 112037 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39945 /* 112042 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVSX32rr8),
39946 /* 112045 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39947 /* 112047 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
39948 /* 112050 */ GIR_RootConstrainSelectedInstOperands,
39949 /* 112051 */ // GIR_Coverage, 22700,
39950 /* 112051 */ GIR_EraseRootFromParent_Done,
39951 /* 112052 */ // Label 2466: @112052
39952 /* 112052 */ GIM_Reject,
39953 /* 112053 */ // Label 2464: @112053
39954 /* 112053 */ GIM_Reject,
39955 /* 112054 */ // Label 2462: @112054
39956 /* 112054 */ GIM_Reject,
39957 /* 112055 */ // Label 26: @112055
39958 /* 112055 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 2476*/ GIMT_Encode4(114019),
39959 /* 112066 */ /*GILLT_s16*//*Label 2467*/ GIMT_Encode4(112158),
39960 /* 112070 */ /*GILLT_s32*//*Label 2468*/ GIMT_Encode4(112216),
39961 /* 112074 */ /*GILLT_s64*//*Label 2469*/ GIMT_Encode4(112562), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
39962 /* 112126 */ /*GILLT_v16s16*//*Label 2470*/ GIMT_Encode4(113088),
39963 /* 112130 */ /*GILLT_v32s16*//*Label 2471*/ GIMT_Encode4(113256), GIMT_Encode4(0),
39964 /* 112138 */ /*GILLT_v8s32*//*Label 2472*/ GIMT_Encode4(113341),
39965 /* 112142 */ /*GILLT_v16s32*//*Label 2473*/ GIMT_Encode4(113509), GIMT_Encode4(0),
39966 /* 112150 */ /*GILLT_v4s64*//*Label 2474*/ GIMT_Encode4(113680),
39967 /* 112154 */ /*GILLT_v8s64*//*Label 2475*/ GIMT_Encode4(113848),
39968 /* 112158 */ // Label 2467: @112158
39969 /* 112158 */ GIM_Try, /*On fail goto*//*Label 2477*/ GIMT_Encode4(112215), // Rule ID 22707 //
39970 /* 112163 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
39971 /* 112166 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
39972 /* 112170 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
39973 /* 112174 */ // (zext:{ *:[i16] } GR8:{ *:[i8] }:$src) => (EXTRACT_SUBREG:{ *:[i16] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_16bit:{ *:[i32] })
39974 /* 112174 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
39975 /* 112177 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
39976 /* 112181 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
39977 /* 112186 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
39978 /* 112190 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
39979 /* 112192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
39980 /* 112195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
39981 /* 112197 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_16bit),
39982 /* 112204 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR16RegClassID),
39983 /* 112209 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
39984 /* 112214 */ // GIR_Coverage, 22707,
39985 /* 112214 */ GIR_EraseRootFromParent_Done,
39986 /* 112215 */ // Label 2477: @112215
39987 /* 112215 */ GIM_Reject,
39988 /* 112216 */ // Label 2468: @112216
39989 /* 112216 */ GIM_Try, /*On fail goto*//*Label 2478*/ GIMT_Encode4(112336), // Rule ID 23031 //
39990 /* 112221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasZU),
39991 /* 112224 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
39992 /* 112227 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
39993 /* 112231 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
39994 /* 112235 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
39995 /* 112239 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
39996 /* 112243 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
39997 /* 112247 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
39998 /* 112251 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
39999 /* 112255 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40000 /* 112258 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
40001 /* 112262 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
40002 /* 112266 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
40003 /* 112270 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40004 /* 112274 */ // MIs[3] Operand 1
40005 /* 112274 */ // No operand predicates
40006 /* 112274 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
40007 /* 112276 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40008 /* 112283 */ // (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] })
40009 /* 112283 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
40010 /* 112286 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rmi),
40011 /* 112290 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40012 /* 112295 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src1
40013 /* 112299 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/3, // src2
40014 /* 112302 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
40015 /* 112305 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
40016 /* 112312 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40017 /* 112314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40018 /* 112317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40019 /* 112319 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40020 /* 112322 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
40021 /* 112325 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
40022 /* 112330 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
40023 /* 112335 */ // GIR_Coverage, 23031,
40024 /* 112335 */ GIR_EraseRootFromParent_Done,
40025 /* 112336 */ // Label 2478: @112336
40026 /* 112336 */ GIM_Try, /*On fail goto*//*Label 2479*/ GIMT_Encode4(112428), // Rule ID 23030 //
40027 /* 112341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasZU),
40028 /* 112344 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40029 /* 112347 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
40030 /* 112351 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40031 /* 112355 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
40032 /* 112359 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
40033 /* 112363 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
40034 /* 112367 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40035 /* 112372 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
40036 /* 112376 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40037 /* 112380 */ // MIs[2] Operand 1
40038 /* 112380 */ // No operand predicates
40039 /* 112380 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
40040 /* 112382 */ // (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] })
40041 /* 112382 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
40042 /* 112385 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rri),
40043 /* 112389 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40044 /* 112394 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src1
40045 /* 112398 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/2, // src2
40046 /* 112401 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
40047 /* 112404 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40048 /* 112406 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40049 /* 112409 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40050 /* 112411 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40051 /* 112414 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
40052 /* 112417 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBPRegClassID),
40053 /* 112422 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
40054 /* 112427 */ // GIR_Coverage, 23030,
40055 /* 112427 */ GIR_EraseRootFromParent_Done,
40056 /* 112428 */ // Label 2479: @112428
40057 /* 112428 */ GIM_Try, /*On fail goto*//*Label 2480*/ GIMT_Encode4(112470), // Rule ID 19409 //
40058 /* 112433 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40059 /* 112436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40060 /* 112440 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40061 /* 112444 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
40062 /* 112448 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
40063 /* 112452 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
40064 /* 112457 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40065 /* 112459 */ // (zext:{ *:[i32] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (KMOVWrk:{ *:[i32] } VK16:{ *:[v16i1] }:$src)
40066 /* 112459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVWrk),
40067 /* 112462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40068 /* 112464 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
40069 /* 112468 */ GIR_RootConstrainSelectedInstOperands,
40070 /* 112469 */ // GIR_Coverage, 19409,
40071 /* 112469 */ GIR_EraseRootFromParent_Done,
40072 /* 112470 */ // Label 2480: @112470
40073 /* 112470 */ GIM_Try, /*On fail goto*//*Label 2481*/ GIMT_Encode4(112515), // Rule ID 19412 //
40074 /* 112475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
40075 /* 112478 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40076 /* 112481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40077 /* 112485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40078 /* 112489 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
40079 /* 112493 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
40080 /* 112497 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
40081 /* 112502 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40082 /* 112504 */ // (zext:{ *:[i32] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (KMOVBrk:{ *:[i32] } VK8:{ *:[v8i1] }:$src)
40083 /* 112504 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::KMOVBrk),
40084 /* 112507 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40085 /* 112509 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src
40086 /* 112513 */ GIR_RootConstrainSelectedInstOperands,
40087 /* 112514 */ // GIR_Coverage, 19412,
40088 /* 112514 */ GIR_EraseRootFromParent_Done,
40089 /* 112515 */ // Label 2481: @112515
40090 /* 112515 */ GIM_Try, /*On fail goto*//*Label 2482*/ GIMT_Encode4(112538), // Rule ID 593 //
40091 /* 112520 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40092 /* 112523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40093 /* 112527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40094 /* 112531 */ // (zext:{ *:[i32] } GR8:{ *:[i8] }:$src) => (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src)
40095 /* 112531 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
40096 /* 112536 */ GIR_RootConstrainSelectedInstOperands,
40097 /* 112537 */ // GIR_Coverage, 593,
40098 /* 112537 */ GIR_Done,
40099 /* 112538 */ // Label 2482: @112538
40100 /* 112538 */ GIM_Try, /*On fail goto*//*Label 2483*/ GIMT_Encode4(112561), // Rule ID 595 //
40101 /* 112543 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40102 /* 112546 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40103 /* 112550 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40104 /* 112554 */ // (zext:{ *:[i32] } GR16:{ *:[i16] }:$src) => (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src)
40105 /* 112554 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
40106 /* 112559 */ GIR_RootConstrainSelectedInstOperands,
40107 /* 112560 */ // GIR_Coverage, 595,
40108 /* 112560 */ GIR_Done,
40109 /* 112561 */ // Label 2483: @112561
40110 /* 112561 */ GIM_Reject,
40111 /* 112562 */ // Label 2469: @112562
40112 /* 112562 */ GIM_Try, /*On fail goto*//*Label 2484*/ GIMT_Encode4(112682), // Rule ID 23033 //
40113 /* 112567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasZU),
40114 /* 112570 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40115 /* 112573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40116 /* 112577 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40117 /* 112581 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
40118 /* 112585 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
40119 /* 112589 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
40120 /* 112593 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
40121 /* 112597 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
40122 /* 112601 */ GIM_CheckAtomicOrdering, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40123 /* 112604 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
40124 /* 112608 */ GIM_CheckCxxInsnPredicate, /*MI*/2, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
40125 /* 112612 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/1, /*OpIdx*/2, // MIs[3]
40126 /* 112616 */ GIM_CheckOpcode, /*MI*/3, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40127 /* 112620 */ // MIs[3] Operand 1
40128 /* 112620 */ // No operand predicates
40129 /* 112620 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
40130 /* 112622 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40131 /* 112629 */ // (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] })
40132 /* 112629 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
40133 /* 112632 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rmi),
40134 /* 112636 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40135 /* 112641 */ GIR_ComplexRenderer, /*InsnID*/1, /*RendererID*/GIMT_Encode2(0), // src1
40136 /* 112645 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/3, // src2
40137 /* 112648 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
40138 /* 112651 */ GIR_MergeMemOperands, /*InsnID*/1, /*NumInsns*/4, /*MergeInsnID's*/0, 1, 2, 3,
40139 /* 112658 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40140 /* 112660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40141 /* 112663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40142 /* 112665 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40143 /* 112668 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
40144 /* 112671 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40145 /* 112676 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
40146 /* 112681 */ // GIR_Coverage, 23033,
40147 /* 112681 */ GIR_EraseRootFromParent_Done,
40148 /* 112682 */ // Label 2484: @112682
40149 /* 112682 */ GIM_Try, /*On fail goto*//*Label 2485*/ GIMT_Encode4(112774), // Rule ID 23032 //
40150 /* 112687 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasZU),
40151 /* 112690 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40152 /* 112693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40153 /* 112697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40154 /* 112701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_MUL),
40155 /* 112705 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s16,
40156 /* 112709 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_s16,
40157 /* 112713 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40158 /* 112718 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
40159 /* 112722 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40160 /* 112726 */ // MIs[2] Operand 1
40161 /* 112726 */ // No operand predicates
40162 /* 112726 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
40163 /* 112728 */ // (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] })
40164 /* 112728 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
40165 /* 112731 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::IMULZU16rri),
40166 /* 112735 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40167 /* 112740 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src1
40168 /* 112744 */ GIR_CopyConstantAsSImm, /*NewInsnID*/1, /*OldInsnID*/2, // src2
40169 /* 112747 */ GIR_SetImplicitDefDead, /*InsnID*/1, /*OpIdx for X86::EFLAGS*/0,
40170 /* 112750 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40171 /* 112752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40172 /* 112755 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40173 /* 112757 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40174 /* 112760 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/4,
40175 /* 112763 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40176 /* 112768 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR16RegClassID),
40177 /* 112773 */ // GIR_Coverage, 23032,
40178 /* 112773 */ GIR_EraseRootFromParent_Done,
40179 /* 112774 */ // Label 2485: @112774
40180 /* 112774 */ GIM_Try, /*On fail goto*//*Label 2486*/ GIMT_Encode4(112845), // Rule ID 19410 //
40181 /* 112779 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40182 /* 112782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40183 /* 112786 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40184 /* 112790 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
40185 /* 112794 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
40186 /* 112798 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
40187 /* 112803 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40188 /* 112805 */ // (zext:{ *:[i64] } (bitconvert:{ *:[i16] } VK16:{ *:[v16i1] }:$src)) => (SUBREG_TO_REG:{ *:[i64] } (KMOVWrk:{ *:[i32] } VK16:{ *:[v16i1] }:$src), sub_32bit:{ *:[i32] })
40189 /* 112805 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40190 /* 112808 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVWrk),
40191 /* 112812 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40192 /* 112817 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
40193 /* 112821 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40194 /* 112823 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40195 /* 112826 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40196 /* 112828 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40197 /* 112831 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
40198 /* 112834 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40199 /* 112839 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
40200 /* 112844 */ // GIR_Coverage, 19410,
40201 /* 112844 */ GIR_EraseRootFromParent_Done,
40202 /* 112845 */ // Label 2486: @112845
40203 /* 112845 */ GIM_Try, /*On fail goto*//*Label 2487*/ GIMT_Encode4(112919), // Rule ID 19413 //
40204 /* 112850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
40205 /* 112853 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40206 /* 112856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40207 /* 112860 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40208 /* 112864 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
40209 /* 112868 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
40210 /* 112872 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
40211 /* 112877 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40212 /* 112879 */ // (zext:{ *:[i64] } (bitconvert:{ *:[i8] } VK8:{ *:[v8i1] }:$src)) => (SUBREG_TO_REG:{ *:[i64] } (KMOVBrk:{ *:[i32] } VK8:{ *:[v8i1] }:$src), sub_32bit:{ *:[i32] })
40213 /* 112879 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40214 /* 112882 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KMOVBrk),
40215 /* 112886 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40216 /* 112891 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/1, /*OpIdx*/1, // src
40217 /* 112895 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40218 /* 112897 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40219 /* 112900 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40220 /* 112902 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40221 /* 112905 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
40222 /* 112908 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40223 /* 112913 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
40224 /* 112918 */ // GIR_Coverage, 19413,
40225 /* 112918 */ GIR_EraseRootFromParent_Done,
40226 /* 112919 */ // Label 2487: @112919
40227 /* 112919 */ GIM_Try, /*On fail goto*//*Label 2488*/ GIMT_Encode4(112975), // Rule ID 17556 //
40228 /* 112924 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40229 /* 112927 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40230 /* 112931 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40231 /* 112935 */ // (zext:{ *:[i64] } GR8:{ *:[i8] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rr8:{ *:[i32] } GR8:{ *:[i8] }:$src), sub_32bit:{ *:[i32] })
40232 /* 112935 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40233 /* 112938 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr8),
40234 /* 112942 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40235 /* 112947 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
40236 /* 112951 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40237 /* 112953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40238 /* 112956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40239 /* 112958 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40240 /* 112961 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
40241 /* 112964 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40242 /* 112969 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
40243 /* 112974 */ // GIR_Coverage, 17556,
40244 /* 112974 */ GIR_EraseRootFromParent_Done,
40245 /* 112975 */ // Label 2488: @112975
40246 /* 112975 */ GIM_Try, /*On fail goto*//*Label 2489*/ GIMT_Encode4(113031), // Rule ID 17558 //
40247 /* 112980 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40248 /* 112983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40249 /* 112987 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40250 /* 112991 */ // (zext:{ *:[i64] } GR16:{ *:[i16] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOVZX32rr16:{ *:[i32] } GR16:{ *:[i16] }:$src), sub_32bit:{ *:[i32] })
40251 /* 112991 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40252 /* 112994 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOVZX32rr16),
40253 /* 112998 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40254 /* 113003 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
40255 /* 113007 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40256 /* 113009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40257 /* 113012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40258 /* 113014 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40259 /* 113017 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
40260 /* 113020 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40261 /* 113025 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
40262 /* 113030 */ // GIR_Coverage, 17558,
40263 /* 113030 */ GIR_EraseRootFromParent_Done,
40264 /* 113031 */ // Label 2489: @113031
40265 /* 113031 */ GIM_Try, /*On fail goto*//*Label 2490*/ GIMT_Encode4(113087), // Rule ID 17560 //
40266 /* 113036 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
40267 /* 113039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
40268 /* 113043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40269 /* 113047 */ // (zext:{ *:[i64] } GR32:{ *:[i32] }:$src) => (SUBREG_TO_REG:{ *:[i64] } (MOV32rr:{ *:[i32] } GR32:{ *:[i32] }:$src), sub_32bit:{ *:[i32] })
40270 /* 113047 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40271 /* 113050 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::MOV32rr),
40272 /* 113054 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40273 /* 113059 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // src
40274 /* 113063 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
40275 /* 113065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::SUBREG_TO_REG),
40276 /* 113068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40277 /* 113070 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40278 /* 113073 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/6,
40279 /* 113076 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::GR64RegClassID),
40280 /* 113081 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::GR32RegClassID),
40281 /* 113086 */ // GIR_Coverage, 17560,
40282 /* 113086 */ GIR_EraseRootFromParent_Done,
40283 /* 113087 */ // Label 2490: @113087
40284 /* 113087 */ GIM_Reject,
40285 /* 113088 */ // Label 2470: @113088
40286 /* 113088 */ GIM_Try, /*On fail goto*//*Label 2491*/ GIMT_Encode4(113255),
40287 /* 113093 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40288 /* 113096 */ GIM_Try, /*On fail goto*//*Label 2492*/ GIMT_Encode4(113152), // Rule ID 18369 //
40289 /* 113101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
40290 /* 113104 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40291 /* 113108 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40292 /* 113112 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40293 /* 113116 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40294 /* 113119 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40295 /* 113123 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40296 /* 113127 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40297 /* 113129 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40298 /* 113136 */ // (zext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
40299 /* 113136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWYrm),
40300 /* 113139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40301 /* 113141 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40302 /* 113145 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40303 /* 113150 */ GIR_RootConstrainSelectedInstOperands,
40304 /* 113151 */ // GIR_Coverage, 18369,
40305 /* 113151 */ GIR_EraseRootFromParent_Done,
40306 /* 113152 */ // Label 2492: @113152
40307 /* 113152 */ GIM_Try, /*On fail goto*//*Label 2493*/ GIMT_Encode4(113208), // Rule ID 21603 //
40308 /* 113157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
40309 /* 113160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40310 /* 113164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40311 /* 113168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40312 /* 113172 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40313 /* 113175 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40314 /* 113179 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40315 /* 113183 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40316 /* 113185 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40317 /* 113192 */ // (zext:{ *:[v16i16] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
40318 /* 113192 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZ256rm),
40319 /* 113195 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40320 /* 113197 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40321 /* 113201 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40322 /* 113206 */ GIR_RootConstrainSelectedInstOperands,
40323 /* 113207 */ // GIR_Coverage, 21603,
40324 /* 113207 */ GIR_EraseRootFromParent_Done,
40325 /* 113208 */ // Label 2493: @113208
40326 /* 113208 */ GIM_Try, /*On fail goto*//*Label 2494*/ GIMT_Encode4(113231), // Rule ID 12353 //
40327 /* 113213 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
40328 /* 113216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40329 /* 113220 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40330 /* 113224 */ // (zext:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src) => (VPMOVZXBWZ256rr:{ *:[v16i16] } VR128X:{ *:[v16i8] }:$src)
40331 /* 113224 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZ256rr),
40332 /* 113229 */ GIR_RootConstrainSelectedInstOperands,
40333 /* 113230 */ // GIR_Coverage, 12353,
40334 /* 113230 */ GIR_Done,
40335 /* 113231 */ // Label 2494: @113231
40336 /* 113231 */ GIM_Try, /*On fail goto*//*Label 2495*/ GIMT_Encode4(113254), // Rule ID 18362 //
40337 /* 113236 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
40338 /* 113239 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40339 /* 113243 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
40340 /* 113247 */ // (zext:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src) => (VPMOVZXBWYrr:{ *:[v16i16] } VR128:{ *:[v16i8] }:$src)
40341 /* 113247 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWYrr),
40342 /* 113252 */ GIR_RootConstrainSelectedInstOperands,
40343 /* 113253 */ // GIR_Coverage, 18362,
40344 /* 113253 */ GIR_Done,
40345 /* 113254 */ // Label 2495: @113254
40346 /* 113254 */ GIM_Reject,
40347 /* 113255 */ // Label 2491: @113255
40348 /* 113255 */ GIM_Reject,
40349 /* 113256 */ // Label 2471: @113256
40350 /* 113256 */ GIM_Try, /*On fail goto*//*Label 2496*/ GIMT_Encode4(113340),
40351 /* 113261 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
40352 /* 113264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40353 /* 113268 */ GIM_Try, /*On fail goto*//*Label 2497*/ GIMT_Encode4(113320), // Rule ID 21606 //
40354 /* 113273 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
40355 /* 113276 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40356 /* 113280 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40357 /* 113284 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40358 /* 113287 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40359 /* 113291 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40360 /* 113295 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40361 /* 113297 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40362 /* 113304 */ // (zext:{ *:[v32i16] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)
40363 /* 113304 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZrm),
40364 /* 113307 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40365 /* 113309 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40366 /* 113313 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40367 /* 113318 */ GIR_RootConstrainSelectedInstOperands,
40368 /* 113319 */ // GIR_Coverage, 21606,
40369 /* 113319 */ GIR_EraseRootFromParent_Done,
40370 /* 113320 */ // Label 2497: @113320
40371 /* 113320 */ GIM_Try, /*On fail goto*//*Label 2498*/ GIMT_Encode4(113339), // Rule ID 12359 //
40372 /* 113325 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
40373 /* 113328 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40374 /* 113332 */ // (zext:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src) => (VPMOVZXBWZrr:{ *:[v32i16] } VR256X:{ *:[v32i8] }:$src)
40375 /* 113332 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBWZrr),
40376 /* 113337 */ GIR_RootConstrainSelectedInstOperands,
40377 /* 113338 */ // GIR_Coverage, 12359,
40378 /* 113338 */ GIR_Done,
40379 /* 113339 */ // Label 2498: @113339
40380 /* 113339 */ GIM_Reject,
40381 /* 113340 */ // Label 2496: @113340
40382 /* 113340 */ GIM_Reject,
40383 /* 113341 */ // Label 2472: @113341
40384 /* 113341 */ GIM_Try, /*On fail goto*//*Label 2499*/ GIMT_Encode4(113508),
40385 /* 113346 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40386 /* 113349 */ GIM_Try, /*On fail goto*//*Label 2500*/ GIMT_Encode4(113405), // Rule ID 18375 //
40387 /* 113354 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
40388 /* 113357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40389 /* 113361 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40390 /* 113365 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40391 /* 113369 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40392 /* 113372 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40393 /* 113376 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40394 /* 113380 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40395 /* 113382 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40396 /* 113389 */ // (zext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
40397 /* 113389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDYrm),
40398 /* 113392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40399 /* 113394 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40400 /* 113398 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40401 /* 113403 */ GIR_RootConstrainSelectedInstOperands,
40402 /* 113404 */ // GIR_Coverage, 18375,
40403 /* 113404 */ GIR_EraseRootFromParent_Done,
40404 /* 113405 */ // Label 2500: @113405
40405 /* 113405 */ GIM_Try, /*On fail goto*//*Label 2501*/ GIMT_Encode4(113461), // Rule ID 21604 //
40406 /* 113410 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
40407 /* 113413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40408 /* 113417 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40409 /* 113421 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40410 /* 113425 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40411 /* 113428 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40412 /* 113432 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40413 /* 113436 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40414 /* 113438 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40415 /* 113445 */ // (zext:{ *:[v8i32] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
40416 /* 113445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZ256rm),
40417 /* 113448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40418 /* 113450 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40419 /* 113454 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40420 /* 113459 */ GIR_RootConstrainSelectedInstOperands,
40421 /* 113460 */ // GIR_Coverage, 21604,
40422 /* 113460 */ GIR_EraseRootFromParent_Done,
40423 /* 113461 */ // Label 2501: @113461
40424 /* 113461 */ GIM_Try, /*On fail goto*//*Label 2502*/ GIMT_Encode4(113484), // Rule ID 12407 //
40425 /* 113466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
40426 /* 113469 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40427 /* 113473 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40428 /* 113477 */ // (zext:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src) => (VPMOVZXWDZ256rr:{ *:[v8i32] } VR128X:{ *:[v8i16] }:$src)
40429 /* 113477 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZ256rr),
40430 /* 113482 */ GIR_RootConstrainSelectedInstOperands,
40431 /* 113483 */ // GIR_Coverage, 12407,
40432 /* 113483 */ GIR_Done,
40433 /* 113484 */ // Label 2502: @113484
40434 /* 113484 */ GIM_Try, /*On fail goto*//*Label 2503*/ GIMT_Encode4(113507), // Rule ID 18365 //
40435 /* 113489 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
40436 /* 113492 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40437 /* 113496 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
40438 /* 113500 */ // (zext:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src) => (VPMOVZXWDYrr:{ *:[v8i32] } VR128:{ *:[v8i16] }:$src)
40439 /* 113500 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDYrr),
40440 /* 113505 */ GIR_RootConstrainSelectedInstOperands,
40441 /* 113506 */ // GIR_Coverage, 18365,
40442 /* 113506 */ GIR_Done,
40443 /* 113507 */ // Label 2503: @113507
40444 /* 113507 */ GIM_Reject,
40445 /* 113508 */ // Label 2499: @113508
40446 /* 113508 */ GIM_Reject,
40447 /* 113509 */ // Label 2473: @113509
40448 /* 113509 */ GIM_Try, /*On fail goto*//*Label 2504*/ GIMT_Encode4(113568), // Rule ID 21607 //
40449 /* 113514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40450 /* 113517 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40451 /* 113520 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40452 /* 113524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40453 /* 113528 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40454 /* 113532 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40455 /* 113535 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40456 /* 113539 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40457 /* 113543 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40458 /* 113545 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40459 /* 113552 */ // (zext:{ *:[v16i32] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXBDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
40460 /* 113552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBDZrm),
40461 /* 113555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40462 /* 113557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40463 /* 113561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40464 /* 113566 */ GIR_RootConstrainSelectedInstOperands,
40465 /* 113567 */ // GIR_Coverage, 21607,
40466 /* 113567 */ GIR_EraseRootFromParent_Done,
40467 /* 113568 */ // Label 2504: @113568
40468 /* 113568 */ GIM_Try, /*On fail goto*//*Label 2505*/ GIMT_Encode4(113627), // Rule ID 21608 //
40469 /* 113573 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40470 /* 113576 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
40471 /* 113579 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40472 /* 113583 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40473 /* 113587 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40474 /* 113591 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40475 /* 113594 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40476 /* 113598 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40477 /* 113602 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40478 /* 113604 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40479 /* 113611 */ // (zext:{ *:[v16i32] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)
40480 /* 113611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrm),
40481 /* 113614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40482 /* 113616 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40483 /* 113620 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40484 /* 113625 */ GIR_RootConstrainSelectedInstOperands,
40485 /* 113626 */ // GIR_Coverage, 21608,
40486 /* 113626 */ GIR_EraseRootFromParent_Done,
40487 /* 113627 */ // Label 2505: @113627
40488 /* 113627 */ GIM_Try, /*On fail goto*//*Label 2506*/ GIMT_Encode4(113653), // Rule ID 12377 //
40489 /* 113632 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40490 /* 113635 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
40491 /* 113638 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40492 /* 113642 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40493 /* 113646 */ // (zext:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src) => (VPMOVZXBDZrr:{ *:[v16i32] } VR128X:{ *:[v16i8] }:$src)
40494 /* 113646 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXBDZrr),
40495 /* 113651 */ GIR_RootConstrainSelectedInstOperands,
40496 /* 113652 */ // GIR_Coverage, 12377,
40497 /* 113652 */ GIR_Done,
40498 /* 113653 */ // Label 2506: @113653
40499 /* 113653 */ GIM_Try, /*On fail goto*//*Label 2507*/ GIMT_Encode4(113679), // Rule ID 12413 //
40500 /* 113658 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40501 /* 113661 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
40502 /* 113664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40503 /* 113668 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40504 /* 113672 */ // (zext:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src) => (VPMOVZXWDZrr:{ *:[v16i32] } VR256X:{ *:[v16i16] }:$src)
40505 /* 113672 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWDZrr),
40506 /* 113677 */ GIR_RootConstrainSelectedInstOperands,
40507 /* 113678 */ // GIR_Coverage, 12413,
40508 /* 113678 */ GIR_Done,
40509 /* 113679 */ // Label 2507: @113679
40510 /* 113679 */ GIM_Reject,
40511 /* 113680 */ // Label 2474: @113680
40512 /* 113680 */ GIM_Try, /*On fail goto*//*Label 2508*/ GIMT_Encode4(113847),
40513 /* 113685 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
40514 /* 113688 */ GIM_Try, /*On fail goto*//*Label 2509*/ GIMT_Encode4(113744), // Rule ID 18379 //
40515 /* 113693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
40516 /* 113696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40517 /* 113700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40518 /* 113704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40519 /* 113708 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40520 /* 113711 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40521 /* 113715 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40522 /* 113719 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40523 /* 113721 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40524 /* 113728 */ // (zext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQYrm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
40525 /* 113728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQYrm),
40526 /* 113731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40527 /* 113733 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40528 /* 113737 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40529 /* 113742 */ GIR_RootConstrainSelectedInstOperands,
40530 /* 113743 */ // GIR_Coverage, 18379,
40531 /* 113743 */ GIR_EraseRootFromParent_Done,
40532 /* 113744 */ // Label 2509: @113744
40533 /* 113744 */ GIM_Try, /*On fail goto*//*Label 2510*/ GIMT_Encode4(113800), // Rule ID 21605 //
40534 /* 113749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
40535 /* 113752 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40536 /* 113756 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40537 /* 113760 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40538 /* 113764 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40539 /* 113767 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40540 /* 113771 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40541 /* 113775 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40542 /* 113777 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40543 /* 113784 */ // (zext:{ *:[v4i64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)
40544 /* 113784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZ256rm),
40545 /* 113787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40546 /* 113789 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40547 /* 113793 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40548 /* 113798 */ GIR_RootConstrainSelectedInstOperands,
40549 /* 113799 */ // GIR_Coverage, 21605,
40550 /* 113799 */ GIR_EraseRootFromParent_Done,
40551 /* 113800 */ // Label 2510: @113800
40552 /* 113800 */ GIM_Try, /*On fail goto*//*Label 2511*/ GIMT_Encode4(113823), // Rule ID 12443 //
40553 /* 113805 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
40554 /* 113808 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40555 /* 113812 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40556 /* 113816 */ // (zext:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src) => (VPMOVZXDQZ256rr:{ *:[v4i64] } VR128X:{ *:[v4i32] }:$src)
40557 /* 113816 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZ256rr),
40558 /* 113821 */ GIR_RootConstrainSelectedInstOperands,
40559 /* 113822 */ // GIR_Coverage, 12443,
40560 /* 113822 */ GIR_Done,
40561 /* 113823 */ // Label 2511: @113823
40562 /* 113823 */ GIM_Try, /*On fail goto*//*Label 2512*/ GIMT_Encode4(113846), // Rule ID 18367 //
40563 /* 113828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
40564 /* 113831 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
40565 /* 113835 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
40566 /* 113839 */ // (zext:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src) => (VPMOVZXDQYrr:{ *:[v4i64] } VR128:{ *:[v4i32] }:$src)
40567 /* 113839 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQYrr),
40568 /* 113844 */ GIR_RootConstrainSelectedInstOperands,
40569 /* 113845 */ // GIR_Coverage, 18367,
40570 /* 113845 */ GIR_Done,
40571 /* 113846 */ // Label 2512: @113846
40572 /* 113846 */ GIM_Reject,
40573 /* 113847 */ // Label 2508: @113847
40574 /* 113847 */ GIM_Reject,
40575 /* 113848 */ // Label 2475: @113848
40576 /* 113848 */ GIM_Try, /*On fail goto*//*Label 2513*/ GIMT_Encode4(113907), // Rule ID 21609 //
40577 /* 113853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40578 /* 113856 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40579 /* 113859 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40580 /* 113863 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40581 /* 113867 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40582 /* 113871 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40583 /* 113874 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40584 /* 113878 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40585 /* 113882 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40586 /* 113884 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40587 /* 113891 */ // (zext:{ *:[v8i64] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXWQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
40588 /* 113891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWQZrm),
40589 /* 113894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40590 /* 113896 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40591 /* 113900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40592 /* 113905 */ GIR_RootConstrainSelectedInstOperands,
40593 /* 113906 */ // GIR_Coverage, 21609,
40594 /* 113906 */ GIR_EraseRootFromParent_Done,
40595 /* 113907 */ // Label 2513: @113907
40596 /* 113907 */ GIM_Try, /*On fail goto*//*Label 2514*/ GIMT_Encode4(113966), // Rule ID 21610 //
40597 /* 113912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40598 /* 113915 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
40599 /* 113918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40600 /* 113922 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40601 /* 113926 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40602 /* 113930 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40603 /* 113933 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
40604 /* 113937 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40605 /* 113941 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40606 /* 113943 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40607 /* 113950 */ // (zext:{ *:[v8i64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMOVZXDQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)
40608 /* 113950 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZrm),
40609 /* 113953 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40610 /* 113955 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
40611 /* 113959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40612 /* 113964 */ GIR_RootConstrainSelectedInstOperands,
40613 /* 113965 */ // GIR_Coverage, 21610,
40614 /* 113965 */ GIR_EraseRootFromParent_Done,
40615 /* 113966 */ // Label 2514: @113966
40616 /* 113966 */ GIM_Try, /*On fail goto*//*Label 2515*/ GIMT_Encode4(113992), // Rule ID 12431 //
40617 /* 113971 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40618 /* 113974 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
40619 /* 113977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40620 /* 113981 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
40621 /* 113985 */ // (zext:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src) => (VPMOVZXWQZrr:{ *:[v8i64] } VR128X:{ *:[v8i16] }:$src)
40622 /* 113985 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXWQZrr),
40623 /* 113990 */ GIR_RootConstrainSelectedInstOperands,
40624 /* 113991 */ // GIR_Coverage, 12431,
40625 /* 113991 */ GIR_Done,
40626 /* 113992 */ // Label 2515: @113992
40627 /* 113992 */ GIM_Try, /*On fail goto*//*Label 2516*/ GIMT_Encode4(114018), // Rule ID 12449 //
40628 /* 113997 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
40629 /* 114000 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
40630 /* 114003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
40631 /* 114007 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
40632 /* 114011 */ // (zext:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src) => (VPMOVZXDQZrr:{ *:[v8i64] } VR256X:{ *:[v8i32] }:$src)
40633 /* 114011 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMOVZXDQZrr),
40634 /* 114016 */ GIR_RootConstrainSelectedInstOperands,
40635 /* 114017 */ // GIR_Coverage, 12449,
40636 /* 114017 */ GIR_Done,
40637 /* 114018 */ // Label 2516: @114018
40638 /* 114018 */ GIM_Reject,
40639 /* 114019 */ // Label 2476: @114019
40640 /* 114019 */ GIM_Reject,
40641 /* 114020 */ // Label 27: @114020
40642 /* 114020 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2521*/ GIMT_Encode4(115703),
40643 /* 114031 */ /*GILLT_s8*//*Label 2517*/ GIMT_Encode4(114047),
40644 /* 114035 */ /*GILLT_s16*//*Label 2518*/ GIMT_Encode4(114262),
40645 /* 114039 */ /*GILLT_s32*//*Label 2519*/ GIMT_Encode4(114477),
40646 /* 114043 */ /*GILLT_s64*//*Label 2520*/ GIMT_Encode4(115090),
40647 /* 114047 */ // Label 2517: @114047
40648 /* 114047 */ GIM_Try, /*On fail goto*//*Label 2522*/ GIMT_Encode4(114261),
40649 /* 114052 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
40650 /* 114055 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40651 /* 114058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40652 /* 114062 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40653 /* 114066 */ GIM_Try, /*On fail goto*//*Label 2523*/ GIMT_Encode4(114092), // Rule ID 22732 //
40654 /* 114071 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40655 /* 114074 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40656 /* 114078 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 1:{ *:[i8] }) => (ADD8rr:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src1)
40657 /* 114078 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rr),
40658 /* 114081 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40659 /* 114083 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40660 /* 114085 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40661 /* 114087 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40662 /* 114090 */ GIR_RootConstrainSelectedInstOperands,
40663 /* 114091 */ // GIR_Coverage, 22732,
40664 /* 114091 */ GIR_EraseRootFromParent_Done,
40665 /* 114092 */ // Label 2523: @114092
40666 /* 114092 */ GIM_Try, /*On fail goto*//*Label 2524*/ GIMT_Encode4(114118), // Rule ID 22736 //
40667 /* 114097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
40668 /* 114100 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40669 /* 114104 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 1:{ *:[i8] }) => (ADD8rr_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, GR8:{ *:[i8] }:$src1)
40670 /* 114104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD8rr_ND),
40671 /* 114107 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40672 /* 114109 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40673 /* 114111 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40674 /* 114113 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40675 /* 114116 */ GIR_RootConstrainSelectedInstOperands,
40676 /* 114117 */ // GIR_Coverage, 22736,
40677 /* 114117 */ GIR_EraseRootFromParent_Done,
40678 /* 114118 */ // Label 2524: @114118
40679 /* 114118 */ GIM_Try, /*On fail goto*//*Label 2525*/ GIMT_Encode4(114151), // Rule ID 637 //
40680 /* 114123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40681 /* 114126 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40682 /* 114130 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40683 /* 114134 */ // MIs[1] Operand 1
40684 /* 114134 */ // No operand predicates
40685 /* 114134 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40686 /* 114136 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
40687 /* 114136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8ri),
40688 /* 114139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40689 /* 114141 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40690 /* 114143 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40691 /* 114146 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40692 /* 114149 */ GIR_RootConstrainSelectedInstOperands,
40693 /* 114150 */ // GIR_Coverage, 637,
40694 /* 114150 */ GIR_EraseRootFromParent_Done,
40695 /* 114151 */ // Label 2525: @114151
40696 /* 114151 */ GIM_Try, /*On fail goto*//*Label 2526*/ GIMT_Encode4(114184), // Rule ID 641 //
40697 /* 114156 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
40698 /* 114159 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40699 /* 114163 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40700 /* 114167 */ // MIs[1] Operand 1
40701 /* 114167 */ // No operand predicates
40702 /* 114167 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40703 /* 114169 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
40704 /* 114169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8ri_ND),
40705 /* 114172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40706 /* 114174 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40707 /* 114176 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40708 /* 114179 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40709 /* 114182 */ GIR_RootConstrainSelectedInstOperands,
40710 /* 114183 */ // GIR_Coverage, 641,
40711 /* 114183 */ GIR_EraseRootFromParent_Done,
40712 /* 114184 */ // Label 2526: @114184
40713 /* 114184 */ GIM_Try, /*On fail goto*//*Label 2527*/ GIMT_Encode4(114222), // Rule ID 653 //
40714 /* 114189 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40715 /* 114192 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40716 /* 114196 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHL8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
40717 /* 114196 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40718 /* 114200 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40719 /* 114206 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40720 /* 114210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8rCL),
40721 /* 114213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40722 /* 114215 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40723 /* 114217 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40724 /* 114220 */ GIR_RootConstrainSelectedInstOperands,
40725 /* 114221 */ // GIR_Coverage, 653,
40726 /* 114221 */ GIR_EraseRootFromParent_Done,
40727 /* 114222 */ // Label 2527: @114222
40728 /* 114222 */ GIM_Try, /*On fail goto*//*Label 2528*/ GIMT_Encode4(114260), // Rule ID 657 //
40729 /* 114227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
40730 /* 114230 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40731 /* 114234 */ // (shl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHL8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
40732 /* 114234 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40733 /* 114238 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40734 /* 114244 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40735 /* 114248 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL8rCL_ND),
40736 /* 114251 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40737 /* 114253 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40738 /* 114255 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40739 /* 114258 */ GIR_RootConstrainSelectedInstOperands,
40740 /* 114259 */ // GIR_Coverage, 657,
40741 /* 114259 */ GIR_EraseRootFromParent_Done,
40742 /* 114260 */ // Label 2528: @114260
40743 /* 114260 */ GIM_Reject,
40744 /* 114261 */ // Label 2522: @114261
40745 /* 114261 */ GIM_Reject,
40746 /* 114262 */ // Label 2518: @114262
40747 /* 114262 */ GIM_Try, /*On fail goto*//*Label 2529*/ GIMT_Encode4(114476),
40748 /* 114267 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
40749 /* 114270 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40750 /* 114273 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40751 /* 114277 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
40752 /* 114281 */ GIM_Try, /*On fail goto*//*Label 2530*/ GIMT_Encode4(114307), // Rule ID 22733 //
40753 /* 114286 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40754 /* 114289 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40755 /* 114293 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 1:{ *:[i8] }) => (ADD16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src1)
40756 /* 114293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rr),
40757 /* 114296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40758 /* 114298 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40759 /* 114300 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40760 /* 114302 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40761 /* 114305 */ GIR_RootConstrainSelectedInstOperands,
40762 /* 114306 */ // GIR_Coverage, 22733,
40763 /* 114306 */ GIR_EraseRootFromParent_Done,
40764 /* 114307 */ // Label 2530: @114307
40765 /* 114307 */ GIM_Try, /*On fail goto*//*Label 2531*/ GIMT_Encode4(114333), // Rule ID 22737 //
40766 /* 114312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
40767 /* 114315 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40768 /* 114319 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 1:{ *:[i8] }) => (ADD16rr_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, GR16:{ *:[i16] }:$src1)
40769 /* 114319 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD16rr_ND),
40770 /* 114322 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40771 /* 114324 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40772 /* 114326 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40773 /* 114328 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40774 /* 114331 */ GIR_RootConstrainSelectedInstOperands,
40775 /* 114332 */ // GIR_Coverage, 22737,
40776 /* 114332 */ GIR_EraseRootFromParent_Done,
40777 /* 114333 */ // Label 2531: @114333
40778 /* 114333 */ GIM_Try, /*On fail goto*//*Label 2532*/ GIMT_Encode4(114366), // Rule ID 638 //
40779 /* 114338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40780 /* 114341 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40781 /* 114345 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40782 /* 114349 */ // MIs[1] Operand 1
40783 /* 114349 */ // No operand predicates
40784 /* 114349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40785 /* 114351 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
40786 /* 114351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16ri),
40787 /* 114354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40788 /* 114356 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40789 /* 114358 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40790 /* 114361 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40791 /* 114364 */ GIR_RootConstrainSelectedInstOperands,
40792 /* 114365 */ // GIR_Coverage, 638,
40793 /* 114365 */ GIR_EraseRootFromParent_Done,
40794 /* 114366 */ // Label 2532: @114366
40795 /* 114366 */ GIM_Try, /*On fail goto*//*Label 2533*/ GIMT_Encode4(114399), // Rule ID 642 //
40796 /* 114371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
40797 /* 114374 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40798 /* 114378 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40799 /* 114382 */ // MIs[1] Operand 1
40800 /* 114382 */ // No operand predicates
40801 /* 114382 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40802 /* 114384 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
40803 /* 114384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16ri_ND),
40804 /* 114387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40805 /* 114389 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40806 /* 114391 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40807 /* 114394 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40808 /* 114397 */ GIR_RootConstrainSelectedInstOperands,
40809 /* 114398 */ // GIR_Coverage, 642,
40810 /* 114398 */ GIR_EraseRootFromParent_Done,
40811 /* 114399 */ // Label 2533: @114399
40812 /* 114399 */ GIM_Try, /*On fail goto*//*Label 2534*/ GIMT_Encode4(114437), // Rule ID 654 //
40813 /* 114404 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40814 /* 114407 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40815 /* 114411 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHL16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
40816 /* 114411 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40817 /* 114415 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40818 /* 114421 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40819 /* 114425 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16rCL),
40820 /* 114428 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40821 /* 114430 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40822 /* 114432 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40823 /* 114435 */ GIR_RootConstrainSelectedInstOperands,
40824 /* 114436 */ // GIR_Coverage, 654,
40825 /* 114436 */ GIR_EraseRootFromParent_Done,
40826 /* 114437 */ // Label 2534: @114437
40827 /* 114437 */ GIM_Try, /*On fail goto*//*Label 2535*/ GIMT_Encode4(114475), // Rule ID 658 //
40828 /* 114442 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
40829 /* 114445 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
40830 /* 114449 */ // (shl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHL16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
40831 /* 114449 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
40832 /* 114453 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40833 /* 114459 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
40834 /* 114463 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL16rCL_ND),
40835 /* 114466 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40836 /* 114468 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40837 /* 114470 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40838 /* 114473 */ GIR_RootConstrainSelectedInstOperands,
40839 /* 114474 */ // GIR_Coverage, 658,
40840 /* 114474 */ GIR_EraseRootFromParent_Done,
40841 /* 114475 */ // Label 2535: @114475
40842 /* 114475 */ GIM_Reject,
40843 /* 114476 */ // Label 2529: @114476
40844 /* 114476 */ GIM_Reject,
40845 /* 114477 */ // Label 2519: @114477
40846 /* 114477 */ GIM_Try, /*On fail goto*//*Label 2536*/ GIMT_Encode4(115089),
40847 /* 114482 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
40848 /* 114485 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
40849 /* 114488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40850 /* 114492 */ GIM_Try, /*On fail goto*//*Label 2537*/ GIMT_Encode4(114602), // Rule ID 17638 //
40851 /* 114497 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
40852 /* 114500 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40853 /* 114504 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40854 /* 114508 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40855 /* 114511 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40856 /* 114515 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
40857 /* 114519 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40858 /* 114523 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40859 /* 114525 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40860 /* 114532 */ // (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] }))
40861 /* 114532 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40862 /* 114535 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40863 /* 114539 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40864 /* 114544 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40865 /* 114546 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40866 /* 114549 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40867 /* 114553 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40868 /* 114558 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40869 /* 114561 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40870 /* 114565 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40871 /* 114568 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40872 /* 114573 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40873 /* 114578 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40874 /* 114583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rm),
40875 /* 114586 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40876 /* 114588 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40877 /* 114592 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40878 /* 114595 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40879 /* 114600 */ GIR_RootConstrainSelectedInstOperands,
40880 /* 114601 */ // GIR_Coverage, 17638,
40881 /* 114601 */ GIR_EraseRootFromParent_Done,
40882 /* 114602 */ // Label 2537: @114602
40883 /* 114602 */ GIM_Try, /*On fail goto*//*Label 2538*/ GIMT_Encode4(114712), // Rule ID 17670 //
40884 /* 114607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
40885 /* 114610 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
40886 /* 114614 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
40887 /* 114618 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
40888 /* 114621 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
40889 /* 114625 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
40890 /* 114629 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40891 /* 114633 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40892 /* 114635 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
40893 /* 114642 */ // (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] }))
40894 /* 114642 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40895 /* 114645 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40896 /* 114649 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40897 /* 114654 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40898 /* 114656 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40899 /* 114659 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40900 /* 114663 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40901 /* 114668 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40902 /* 114671 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40903 /* 114675 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40904 /* 114678 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40905 /* 114683 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40906 /* 114688 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40907 /* 114693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rm_EVEX),
40908 /* 114696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40909 /* 114698 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
40910 /* 114702 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
40911 /* 114705 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
40912 /* 114710 */ GIR_RootConstrainSelectedInstOperands,
40913 /* 114711 */ // GIR_Coverage, 17670,
40914 /* 114711 */ GIR_EraseRootFromParent_Done,
40915 /* 114712 */ // Label 2538: @114712
40916 /* 114712 */ GIM_Try, /*On fail goto*//*Label 2539*/ GIMT_Encode4(114742), // Rule ID 22734 //
40917 /* 114717 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40918 /* 114720 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40919 /* 114724 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40920 /* 114728 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 1:{ *:[i8] }) => (ADD32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src1)
40921 /* 114728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rr),
40922 /* 114731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40923 /* 114733 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40924 /* 114735 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40925 /* 114737 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40926 /* 114740 */ GIR_RootConstrainSelectedInstOperands,
40927 /* 114741 */ // GIR_Coverage, 22734,
40928 /* 114741 */ GIR_EraseRootFromParent_Done,
40929 /* 114742 */ // Label 2539: @114742
40930 /* 114742 */ GIM_Try, /*On fail goto*//*Label 2540*/ GIMT_Encode4(114772), // Rule ID 22738 //
40931 /* 114747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
40932 /* 114750 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40933 /* 114754 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
40934 /* 114758 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 1:{ *:[i8] }) => (ADD32rr_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src1)
40935 /* 114758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD32rr_ND),
40936 /* 114761 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40937 /* 114763 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40938 /* 114765 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40939 /* 114767 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40940 /* 114770 */ GIR_RootConstrainSelectedInstOperands,
40941 /* 114771 */ // GIR_Coverage, 22738,
40942 /* 114771 */ GIR_EraseRootFromParent_Done,
40943 /* 114772 */ // Label 2540: @114772
40944 /* 114772 */ GIM_Try, /*On fail goto*//*Label 2541*/ GIMT_Encode4(114809), // Rule ID 639 //
40945 /* 114777 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
40946 /* 114780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40947 /* 114784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40948 /* 114788 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40949 /* 114792 */ // MIs[1] Operand 1
40950 /* 114792 */ // No operand predicates
40951 /* 114792 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40952 /* 114794 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
40953 /* 114794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32ri),
40954 /* 114797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40955 /* 114799 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40956 /* 114801 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40957 /* 114804 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40958 /* 114807 */ GIR_RootConstrainSelectedInstOperands,
40959 /* 114808 */ // GIR_Coverage, 639,
40960 /* 114808 */ GIR_EraseRootFromParent_Done,
40961 /* 114809 */ // Label 2541: @114809
40962 /* 114809 */ GIM_Try, /*On fail goto*//*Label 2542*/ GIMT_Encode4(114846), // Rule ID 643 //
40963 /* 114814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
40964 /* 114817 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40965 /* 114821 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
40966 /* 114825 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
40967 /* 114829 */ // MIs[1] Operand 1
40968 /* 114829 */ // No operand predicates
40969 /* 114829 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
40970 /* 114831 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
40971 /* 114831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32ri_ND),
40972 /* 114834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
40973 /* 114836 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
40974 /* 114838 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
40975 /* 114841 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
40976 /* 114844 */ GIR_RootConstrainSelectedInstOperands,
40977 /* 114845 */ // GIR_Coverage, 643,
40978 /* 114845 */ GIR_EraseRootFromParent_Done,
40979 /* 114846 */ // Label 2542: @114846
40980 /* 114846 */ GIM_Try, /*On fail goto*//*Label 2543*/ GIMT_Encode4(114925), // Rule ID 17634 //
40981 /* 114851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
40982 /* 114854 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
40983 /* 114858 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
40984 /* 114862 */ // (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] }))
40985 /* 114862 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
40986 /* 114865 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
40987 /* 114869 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40988 /* 114874 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
40989 /* 114876 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
40990 /* 114879 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
40991 /* 114883 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
40992 /* 114888 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
40993 /* 114891 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
40994 /* 114895 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
40995 /* 114898 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40996 /* 114903 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
40997 /* 114908 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
40998 /* 114913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rr),
40999 /* 114916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41000 /* 114918 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41001 /* 114920 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41002 /* 114923 */ GIR_RootConstrainSelectedInstOperands,
41003 /* 114924 */ // GIR_Coverage, 17634,
41004 /* 114924 */ GIR_EraseRootFromParent_Done,
41005 /* 114925 */ // Label 2543: @114925
41006 /* 114925 */ GIM_Try, /*On fail goto*//*Label 2544*/ GIMT_Encode4(115004), // Rule ID 17666 //
41007 /* 114930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41008 /* 114933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41009 /* 114937 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41010 /* 114941 */ // (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] }))
41011 /* 114941 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41012 /* 114944 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41013 /* 114948 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41014 /* 114953 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41015 /* 114955 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41016 /* 114958 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41017 /* 114962 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41018 /* 114967 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41019 /* 114970 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41020 /* 114974 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41021 /* 114977 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41022 /* 114982 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41023 /* 114987 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41024 /* 114992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX32rr_EVEX),
41025 /* 114995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41026 /* 114997 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41027 /* 114999 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41028 /* 115002 */ GIR_RootConstrainSelectedInstOperands,
41029 /* 115003 */ // GIR_Coverage, 17666,
41030 /* 115003 */ GIR_EraseRootFromParent_Done,
41031 /* 115004 */ // Label 2544: @115004
41032 /* 115004 */ GIM_Try, /*On fail goto*//*Label 2545*/ GIMT_Encode4(115046), // Rule ID 655 //
41033 /* 115009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41034 /* 115012 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41035 /* 115016 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41036 /* 115020 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHL32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
41037 /* 115020 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41038 /* 115024 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41039 /* 115030 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41040 /* 115034 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32rCL),
41041 /* 115037 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41042 /* 115039 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41043 /* 115041 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41044 /* 115044 */ GIR_RootConstrainSelectedInstOperands,
41045 /* 115045 */ // GIR_Coverage, 655,
41046 /* 115045 */ GIR_EraseRootFromParent_Done,
41047 /* 115046 */ // Label 2545: @115046
41048 /* 115046 */ GIM_Try, /*On fail goto*//*Label 2546*/ GIMT_Encode4(115088), // Rule ID 659 //
41049 /* 115051 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41050 /* 115054 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41051 /* 115058 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41052 /* 115062 */ // (shl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHL32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
41053 /* 115062 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41054 /* 115066 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41055 /* 115072 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41056 /* 115076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL32rCL_ND),
41057 /* 115079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41058 /* 115081 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41059 /* 115083 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41060 /* 115086 */ GIR_RootConstrainSelectedInstOperands,
41061 /* 115087 */ // GIR_Coverage, 659,
41062 /* 115087 */ GIR_EraseRootFromParent_Done,
41063 /* 115088 */ // Label 2546: @115088
41064 /* 115088 */ GIM_Reject,
41065 /* 115089 */ // Label 2536: @115089
41066 /* 115089 */ GIM_Reject,
41067 /* 115090 */ // Label 2520: @115090
41068 /* 115090 */ GIM_Try, /*On fail goto*//*Label 2547*/ GIMT_Encode4(115702),
41069 /* 115095 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
41070 /* 115098 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41071 /* 115101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41072 /* 115105 */ GIM_Try, /*On fail goto*//*Label 2548*/ GIMT_Encode4(115215), // Rule ID 17639 //
41073 /* 115110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41074 /* 115113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41075 /* 115117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41076 /* 115121 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41077 /* 115124 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41078 /* 115128 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41079 /* 115132 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41080 /* 115136 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41081 /* 115138 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41082 /* 115145 */ // (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] }))
41083 /* 115145 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41084 /* 115148 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41085 /* 115152 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41086 /* 115157 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41087 /* 115159 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41088 /* 115162 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41089 /* 115166 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41090 /* 115171 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41091 /* 115174 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41092 /* 115178 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41093 /* 115181 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41094 /* 115186 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41095 /* 115191 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41096 /* 115196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rm),
41097 /* 115199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41098 /* 115201 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41099 /* 115205 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41100 /* 115208 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41101 /* 115213 */ GIR_RootConstrainSelectedInstOperands,
41102 /* 115214 */ // GIR_Coverage, 17639,
41103 /* 115214 */ GIR_EraseRootFromParent_Done,
41104 /* 115215 */ // Label 2548: @115215
41105 /* 115215 */ GIM_Try, /*On fail goto*//*Label 2549*/ GIMT_Encode4(115325), // Rule ID 17671 //
41106 /* 115220 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41107 /* 115223 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41108 /* 115227 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41109 /* 115231 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41110 /* 115234 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41111 /* 115238 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41112 /* 115242 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41113 /* 115246 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41114 /* 115248 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41115 /* 115255 */ // (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] }))
41116 /* 115255 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41117 /* 115258 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41118 /* 115262 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41119 /* 115267 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41120 /* 115269 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41121 /* 115272 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41122 /* 115276 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41123 /* 115281 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41124 /* 115284 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41125 /* 115288 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41126 /* 115291 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41127 /* 115296 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41128 /* 115301 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41129 /* 115306 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rm_EVEX),
41130 /* 115309 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41131 /* 115311 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41132 /* 115315 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41133 /* 115318 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41134 /* 115323 */ GIR_RootConstrainSelectedInstOperands,
41135 /* 115324 */ // GIR_Coverage, 17671,
41136 /* 115324 */ GIR_EraseRootFromParent_Done,
41137 /* 115325 */ // Label 2549: @115325
41138 /* 115325 */ GIM_Try, /*On fail goto*//*Label 2550*/ GIMT_Encode4(115355), // Rule ID 22735 //
41139 /* 115330 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41140 /* 115333 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41141 /* 115337 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
41142 /* 115341 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 1:{ *:[i8] }) => (ADD64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src1)
41143 /* 115341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rr),
41144 /* 115344 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41145 /* 115346 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41146 /* 115348 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41147 /* 115350 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41148 /* 115353 */ GIR_RootConstrainSelectedInstOperands,
41149 /* 115354 */ // GIR_Coverage, 22735,
41150 /* 115354 */ GIR_EraseRootFromParent_Done,
41151 /* 115355 */ // Label 2550: @115355
41152 /* 115355 */ GIM_Try, /*On fail goto*//*Label 2551*/ GIMT_Encode4(115385), // Rule ID 22739 //
41153 /* 115360 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
41154 /* 115363 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41155 /* 115367 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
41156 /* 115371 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 1:{ *:[i8] }) => (ADD64rr_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src1)
41157 /* 115371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD64rr_ND),
41158 /* 115374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41159 /* 115376 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41160 /* 115378 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41161 /* 115380 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41162 /* 115383 */ GIR_RootConstrainSelectedInstOperands,
41163 /* 115384 */ // GIR_Coverage, 22739,
41164 /* 115384 */ GIR_EraseRootFromParent_Done,
41165 /* 115385 */ // Label 2551: @115385
41166 /* 115385 */ GIM_Try, /*On fail goto*//*Label 2552*/ GIMT_Encode4(115422), // Rule ID 640 //
41167 /* 115390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41168 /* 115393 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41169 /* 115397 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41170 /* 115401 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41171 /* 115405 */ // MIs[1] Operand 1
41172 /* 115405 */ // No operand predicates
41173 /* 115405 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41174 /* 115407 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
41175 /* 115407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64ri),
41176 /* 115410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41177 /* 115412 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41178 /* 115414 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41179 /* 115417 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41180 /* 115420 */ GIR_RootConstrainSelectedInstOperands,
41181 /* 115421 */ // GIR_Coverage, 640,
41182 /* 115421 */ GIR_EraseRootFromParent_Done,
41183 /* 115422 */ // Label 2552: @115422
41184 /* 115422 */ GIM_Try, /*On fail goto*//*Label 2553*/ GIMT_Encode4(115459), // Rule ID 644 //
41185 /* 115427 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41186 /* 115430 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41187 /* 115434 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41188 /* 115438 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41189 /* 115442 */ // MIs[1] Operand 1
41190 /* 115442 */ // No operand predicates
41191 /* 115442 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41192 /* 115444 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHL64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
41193 /* 115444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64ri_ND),
41194 /* 115447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41195 /* 115449 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41196 /* 115451 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41197 /* 115454 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41198 /* 115457 */ GIR_RootConstrainSelectedInstOperands,
41199 /* 115458 */ // GIR_Coverage, 644,
41200 /* 115458 */ GIR_EraseRootFromParent_Done,
41201 /* 115459 */ // Label 2553: @115459
41202 /* 115459 */ GIM_Try, /*On fail goto*//*Label 2554*/ GIMT_Encode4(115538), // Rule ID 17635 //
41203 /* 115464 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41204 /* 115467 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41205 /* 115471 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41206 /* 115475 */ // (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] }))
41207 /* 115475 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41208 /* 115478 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41209 /* 115482 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41210 /* 115487 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41211 /* 115489 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41212 /* 115492 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41213 /* 115496 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41214 /* 115501 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41215 /* 115504 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41216 /* 115508 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41217 /* 115511 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41218 /* 115516 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41219 /* 115521 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41220 /* 115526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rr),
41221 /* 115529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41222 /* 115531 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41223 /* 115533 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41224 /* 115536 */ GIR_RootConstrainSelectedInstOperands,
41225 /* 115537 */ // GIR_Coverage, 17635,
41226 /* 115537 */ GIR_EraseRootFromParent_Done,
41227 /* 115538 */ // Label 2554: @115538
41228 /* 115538 */ GIM_Try, /*On fail goto*//*Label 2555*/ GIMT_Encode4(115617), // Rule ID 17667 //
41229 /* 115543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41230 /* 115546 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41231 /* 115550 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41232 /* 115554 */ // (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] }))
41233 /* 115554 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41234 /* 115557 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41235 /* 115561 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41236 /* 115566 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41237 /* 115568 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41238 /* 115571 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41239 /* 115575 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41240 /* 115580 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41241 /* 115583 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41242 /* 115587 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41243 /* 115590 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41244 /* 115595 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41245 /* 115600 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41246 /* 115605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLX64rr_EVEX),
41247 /* 115608 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41248 /* 115610 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41249 /* 115612 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41250 /* 115615 */ GIR_RootConstrainSelectedInstOperands,
41251 /* 115616 */ // GIR_Coverage, 17667,
41252 /* 115616 */ GIR_EraseRootFromParent_Done,
41253 /* 115617 */ // Label 2555: @115617
41254 /* 115617 */ GIM_Try, /*On fail goto*//*Label 2556*/ GIMT_Encode4(115659), // Rule ID 656 //
41255 /* 115622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41256 /* 115625 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41257 /* 115629 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41258 /* 115633 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHL64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
41259 /* 115633 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41260 /* 115637 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41261 /* 115643 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41262 /* 115647 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64rCL),
41263 /* 115650 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41264 /* 115652 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41265 /* 115654 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41266 /* 115657 */ GIR_RootConstrainSelectedInstOperands,
41267 /* 115658 */ // GIR_Coverage, 656,
41268 /* 115658 */ GIR_EraseRootFromParent_Done,
41269 /* 115659 */ // Label 2556: @115659
41270 /* 115659 */ GIM_Try, /*On fail goto*//*Label 2557*/ GIMT_Encode4(115701), // Rule ID 660 //
41271 /* 115664 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41272 /* 115667 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41273 /* 115671 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41274 /* 115675 */ // (shl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHL64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
41275 /* 115675 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41276 /* 115679 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41277 /* 115685 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41278 /* 115689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHL64rCL_ND),
41279 /* 115692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41280 /* 115694 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41281 /* 115696 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41282 /* 115699 */ GIR_RootConstrainSelectedInstOperands,
41283 /* 115700 */ // GIR_Coverage, 660,
41284 /* 115700 */ GIR_EraseRootFromParent_Done,
41285 /* 115701 */ // Label 2557: @115701
41286 /* 115701 */ GIM_Reject,
41287 /* 115702 */ // Label 2547: @115702
41288 /* 115702 */ GIM_Reject,
41289 /* 115703 */ // Label 2521: @115703
41290 /* 115703 */ GIM_Reject,
41291 /* 115704 */ // Label 28: @115704
41292 /* 115704 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2562*/ GIMT_Encode4(117163),
41293 /* 115715 */ /*GILLT_s8*//*Label 2558*/ GIMT_Encode4(115731),
41294 /* 115719 */ /*GILLT_s16*//*Label 2559*/ GIMT_Encode4(115894),
41295 /* 115723 */ /*GILLT_s32*//*Label 2560*/ GIMT_Encode4(116057),
41296 /* 115727 */ /*GILLT_s64*//*Label 2561*/ GIMT_Encode4(116610),
41297 /* 115731 */ // Label 2558: @115731
41298 /* 115731 */ GIM_Try, /*On fail goto*//*Label 2563*/ GIMT_Encode4(115893),
41299 /* 115736 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
41300 /* 115739 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41301 /* 115742 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41302 /* 115746 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41303 /* 115750 */ GIM_Try, /*On fail goto*//*Label 2564*/ GIMT_Encode4(115783), // Rule ID 669 //
41304 /* 115755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41305 /* 115758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41306 /* 115762 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41307 /* 115766 */ // MIs[1] Operand 1
41308 /* 115766 */ // No operand predicates
41309 /* 115766 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41310 /* 115768 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
41311 /* 115768 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8ri),
41312 /* 115771 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41313 /* 115773 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41314 /* 115775 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41315 /* 115778 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41316 /* 115781 */ GIR_RootConstrainSelectedInstOperands,
41317 /* 115782 */ // GIR_Coverage, 669,
41318 /* 115782 */ GIR_EraseRootFromParent_Done,
41319 /* 115783 */ // Label 2564: @115783
41320 /* 115783 */ GIM_Try, /*On fail goto*//*Label 2565*/ GIMT_Encode4(115816), // Rule ID 673 //
41321 /* 115788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41322 /* 115791 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41323 /* 115795 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41324 /* 115799 */ // MIs[1] Operand 1
41325 /* 115799 */ // No operand predicates
41326 /* 115799 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41327 /* 115801 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
41328 /* 115801 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8ri_ND),
41329 /* 115804 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41330 /* 115806 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41331 /* 115808 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41332 /* 115811 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41333 /* 115814 */ GIR_RootConstrainSelectedInstOperands,
41334 /* 115815 */ // GIR_Coverage, 673,
41335 /* 115815 */ GIR_EraseRootFromParent_Done,
41336 /* 115816 */ // Label 2565: @115816
41337 /* 115816 */ GIM_Try, /*On fail goto*//*Label 2566*/ GIMT_Encode4(115854), // Rule ID 685 //
41338 /* 115821 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41339 /* 115824 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41340 /* 115828 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
41341 /* 115828 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41342 /* 115832 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41343 /* 115838 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41344 /* 115842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8rCL),
41345 /* 115845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41346 /* 115847 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41347 /* 115849 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41348 /* 115852 */ GIR_RootConstrainSelectedInstOperands,
41349 /* 115853 */ // GIR_Coverage, 685,
41350 /* 115853 */ GIR_EraseRootFromParent_Done,
41351 /* 115854 */ // Label 2566: @115854
41352 /* 115854 */ GIM_Try, /*On fail goto*//*Label 2567*/ GIMT_Encode4(115892), // Rule ID 689 //
41353 /* 115859 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41354 /* 115862 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41355 /* 115866 */ // (srl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SHR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
41356 /* 115866 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41357 /* 115870 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41358 /* 115876 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41359 /* 115880 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR8rCL_ND),
41360 /* 115883 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41361 /* 115885 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41362 /* 115887 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41363 /* 115890 */ GIR_RootConstrainSelectedInstOperands,
41364 /* 115891 */ // GIR_Coverage, 689,
41365 /* 115891 */ GIR_EraseRootFromParent_Done,
41366 /* 115892 */ // Label 2567: @115892
41367 /* 115892 */ GIM_Reject,
41368 /* 115893 */ // Label 2563: @115893
41369 /* 115893 */ GIM_Reject,
41370 /* 115894 */ // Label 2559: @115894
41371 /* 115894 */ GIM_Try, /*On fail goto*//*Label 2568*/ GIMT_Encode4(116056),
41372 /* 115899 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
41373 /* 115902 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41374 /* 115905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41375 /* 115909 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41376 /* 115913 */ GIM_Try, /*On fail goto*//*Label 2569*/ GIMT_Encode4(115946), // Rule ID 670 //
41377 /* 115918 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41378 /* 115921 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41379 /* 115925 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41380 /* 115929 */ // MIs[1] Operand 1
41381 /* 115929 */ // No operand predicates
41382 /* 115929 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41383 /* 115931 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
41384 /* 115931 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16ri),
41385 /* 115934 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41386 /* 115936 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41387 /* 115938 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41388 /* 115941 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41389 /* 115944 */ GIR_RootConstrainSelectedInstOperands,
41390 /* 115945 */ // GIR_Coverage, 670,
41391 /* 115945 */ GIR_EraseRootFromParent_Done,
41392 /* 115946 */ // Label 2569: @115946
41393 /* 115946 */ GIM_Try, /*On fail goto*//*Label 2570*/ GIMT_Encode4(115979), // Rule ID 674 //
41394 /* 115951 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41395 /* 115954 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41396 /* 115958 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41397 /* 115962 */ // MIs[1] Operand 1
41398 /* 115962 */ // No operand predicates
41399 /* 115962 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41400 /* 115964 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
41401 /* 115964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16ri_ND),
41402 /* 115967 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41403 /* 115969 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41404 /* 115971 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41405 /* 115974 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41406 /* 115977 */ GIR_RootConstrainSelectedInstOperands,
41407 /* 115978 */ // GIR_Coverage, 674,
41408 /* 115978 */ GIR_EraseRootFromParent_Done,
41409 /* 115979 */ // Label 2570: @115979
41410 /* 115979 */ GIM_Try, /*On fail goto*//*Label 2571*/ GIMT_Encode4(116017), // Rule ID 686 //
41411 /* 115984 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41412 /* 115987 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41413 /* 115991 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
41414 /* 115991 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41415 /* 115995 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41416 /* 116001 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41417 /* 116005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16rCL),
41418 /* 116008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41419 /* 116010 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41420 /* 116012 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41421 /* 116015 */ GIR_RootConstrainSelectedInstOperands,
41422 /* 116016 */ // GIR_Coverage, 686,
41423 /* 116016 */ GIR_EraseRootFromParent_Done,
41424 /* 116017 */ // Label 2571: @116017
41425 /* 116017 */ GIM_Try, /*On fail goto*//*Label 2572*/ GIMT_Encode4(116055), // Rule ID 690 //
41426 /* 116022 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41427 /* 116025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41428 /* 116029 */ // (srl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SHR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
41429 /* 116029 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41430 /* 116033 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41431 /* 116039 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41432 /* 116043 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR16rCL_ND),
41433 /* 116046 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41434 /* 116048 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41435 /* 116050 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41436 /* 116053 */ GIR_RootConstrainSelectedInstOperands,
41437 /* 116054 */ // GIR_Coverage, 690,
41438 /* 116054 */ GIR_EraseRootFromParent_Done,
41439 /* 116055 */ // Label 2572: @116055
41440 /* 116055 */ GIM_Reject,
41441 /* 116056 */ // Label 2568: @116056
41442 /* 116056 */ GIM_Reject,
41443 /* 116057 */ // Label 2560: @116057
41444 /* 116057 */ GIM_Try, /*On fail goto*//*Label 2573*/ GIMT_Encode4(116609),
41445 /* 116062 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
41446 /* 116065 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41447 /* 116068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41448 /* 116072 */ GIM_Try, /*On fail goto*//*Label 2574*/ GIMT_Encode4(116182), // Rule ID 17630 //
41449 /* 116077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41450 /* 116080 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41451 /* 116084 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41452 /* 116088 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41453 /* 116091 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41454 /* 116095 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41455 /* 116099 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41456 /* 116103 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41457 /* 116105 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41458 /* 116112 */ // (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] }))
41459 /* 116112 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41460 /* 116115 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41461 /* 116119 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41462 /* 116124 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41463 /* 116126 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41464 /* 116129 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41465 /* 116133 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41466 /* 116138 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41467 /* 116141 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41468 /* 116145 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41469 /* 116148 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41470 /* 116153 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41471 /* 116158 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41472 /* 116163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rm),
41473 /* 116166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41474 /* 116168 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41475 /* 116172 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41476 /* 116175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41477 /* 116180 */ GIR_RootConstrainSelectedInstOperands,
41478 /* 116181 */ // GIR_Coverage, 17630,
41479 /* 116181 */ GIR_EraseRootFromParent_Done,
41480 /* 116182 */ // Label 2574: @116182
41481 /* 116182 */ GIM_Try, /*On fail goto*//*Label 2575*/ GIMT_Encode4(116292), // Rule ID 17662 //
41482 /* 116187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41483 /* 116190 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41484 /* 116194 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41485 /* 116198 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41486 /* 116201 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41487 /* 116205 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41488 /* 116209 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41489 /* 116213 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41490 /* 116215 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41491 /* 116222 */ // (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] }))
41492 /* 116222 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41493 /* 116225 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41494 /* 116229 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41495 /* 116234 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41496 /* 116236 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41497 /* 116239 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41498 /* 116243 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41499 /* 116248 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41500 /* 116251 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41501 /* 116255 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41502 /* 116258 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41503 /* 116263 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41504 /* 116268 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41505 /* 116273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rm_EVEX),
41506 /* 116276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41507 /* 116278 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41508 /* 116282 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41509 /* 116285 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41510 /* 116290 */ GIR_RootConstrainSelectedInstOperands,
41511 /* 116291 */ // GIR_Coverage, 17662,
41512 /* 116291 */ GIR_EraseRootFromParent_Done,
41513 /* 116292 */ // Label 2575: @116292
41514 /* 116292 */ GIM_Try, /*On fail goto*//*Label 2576*/ GIMT_Encode4(116329), // Rule ID 671 //
41515 /* 116297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41516 /* 116300 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41517 /* 116304 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41518 /* 116308 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41519 /* 116312 */ // MIs[1] Operand 1
41520 /* 116312 */ // No operand predicates
41521 /* 116312 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41522 /* 116314 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
41523 /* 116314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32ri),
41524 /* 116317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41525 /* 116319 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41526 /* 116321 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41527 /* 116324 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41528 /* 116327 */ GIR_RootConstrainSelectedInstOperands,
41529 /* 116328 */ // GIR_Coverage, 671,
41530 /* 116328 */ GIR_EraseRootFromParent_Done,
41531 /* 116329 */ // Label 2576: @116329
41532 /* 116329 */ GIM_Try, /*On fail goto*//*Label 2577*/ GIMT_Encode4(116366), // Rule ID 675 //
41533 /* 116334 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41534 /* 116337 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41535 /* 116341 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41536 /* 116345 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41537 /* 116349 */ // MIs[1] Operand 1
41538 /* 116349 */ // No operand predicates
41539 /* 116349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41540 /* 116351 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
41541 /* 116351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32ri_ND),
41542 /* 116354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41543 /* 116356 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41544 /* 116358 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41545 /* 116361 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41546 /* 116364 */ GIR_RootConstrainSelectedInstOperands,
41547 /* 116365 */ // GIR_Coverage, 675,
41548 /* 116365 */ GIR_EraseRootFromParent_Done,
41549 /* 116366 */ // Label 2577: @116366
41550 /* 116366 */ GIM_Try, /*On fail goto*//*Label 2578*/ GIMT_Encode4(116445), // Rule ID 17626 //
41551 /* 116371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41552 /* 116374 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41553 /* 116378 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41554 /* 116382 */ // (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] }))
41555 /* 116382 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41556 /* 116385 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41557 /* 116389 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41558 /* 116394 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41559 /* 116396 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41560 /* 116399 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41561 /* 116403 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41562 /* 116408 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41563 /* 116411 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41564 /* 116415 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41565 /* 116418 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41566 /* 116423 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41567 /* 116428 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41568 /* 116433 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rr),
41569 /* 116436 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41570 /* 116438 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41571 /* 116440 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41572 /* 116443 */ GIR_RootConstrainSelectedInstOperands,
41573 /* 116444 */ // GIR_Coverage, 17626,
41574 /* 116444 */ GIR_EraseRootFromParent_Done,
41575 /* 116445 */ // Label 2578: @116445
41576 /* 116445 */ GIM_Try, /*On fail goto*//*Label 2579*/ GIMT_Encode4(116524), // Rule ID 17658 //
41577 /* 116450 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41578 /* 116453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41579 /* 116457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41580 /* 116461 */ // (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] }))
41581 /* 116461 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
41582 /* 116464 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41583 /* 116468 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41584 /* 116473 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41585 /* 116475 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
41586 /* 116478 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41587 /* 116482 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41588 /* 116487 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41589 /* 116490 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41590 /* 116494 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41591 /* 116497 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41592 /* 116502 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
41593 /* 116507 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41594 /* 116512 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX32rr_EVEX),
41595 /* 116515 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41596 /* 116517 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41597 /* 116519 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41598 /* 116522 */ GIR_RootConstrainSelectedInstOperands,
41599 /* 116523 */ // GIR_Coverage, 17658,
41600 /* 116523 */ GIR_EraseRootFromParent_Done,
41601 /* 116524 */ // Label 2579: @116524
41602 /* 116524 */ GIM_Try, /*On fail goto*//*Label 2580*/ GIMT_Encode4(116566), // Rule ID 687 //
41603 /* 116529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41604 /* 116532 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41605 /* 116536 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41606 /* 116540 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
41607 /* 116540 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41608 /* 116544 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41609 /* 116550 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41610 /* 116554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32rCL),
41611 /* 116557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41612 /* 116559 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41613 /* 116561 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41614 /* 116564 */ GIR_RootConstrainSelectedInstOperands,
41615 /* 116565 */ // GIR_Coverage, 687,
41616 /* 116565 */ GIR_EraseRootFromParent_Done,
41617 /* 116566 */ // Label 2580: @116566
41618 /* 116566 */ GIM_Try, /*On fail goto*//*Label 2581*/ GIMT_Encode4(116608), // Rule ID 691 //
41619 /* 116571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41620 /* 116574 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41621 /* 116578 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41622 /* 116582 */ // (srl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
41623 /* 116582 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41624 /* 116586 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41625 /* 116592 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41626 /* 116596 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR32rCL_ND),
41627 /* 116599 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41628 /* 116601 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41629 /* 116603 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41630 /* 116606 */ GIR_RootConstrainSelectedInstOperands,
41631 /* 116607 */ // GIR_Coverage, 691,
41632 /* 116607 */ GIR_EraseRootFromParent_Done,
41633 /* 116608 */ // Label 2581: @116608
41634 /* 116608 */ GIM_Reject,
41635 /* 116609 */ // Label 2573: @116609
41636 /* 116609 */ GIM_Reject,
41637 /* 116610 */ // Label 2561: @116610
41638 /* 116610 */ GIM_Try, /*On fail goto*//*Label 2582*/ GIMT_Encode4(117162),
41639 /* 116615 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
41640 /* 116618 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41641 /* 116621 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41642 /* 116625 */ GIM_Try, /*On fail goto*//*Label 2583*/ GIMT_Encode4(116735), // Rule ID 17631 //
41643 /* 116630 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41644 /* 116633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41645 /* 116637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41646 /* 116641 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41647 /* 116644 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41648 /* 116648 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41649 /* 116652 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41650 /* 116656 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41651 /* 116658 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41652 /* 116665 */ // (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] }))
41653 /* 116665 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41654 /* 116668 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41655 /* 116672 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41656 /* 116677 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41657 /* 116679 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41658 /* 116682 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41659 /* 116686 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41660 /* 116691 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41661 /* 116694 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41662 /* 116698 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41663 /* 116701 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41664 /* 116706 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41665 /* 116711 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41666 /* 116716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rm),
41667 /* 116719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41668 /* 116721 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41669 /* 116725 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41670 /* 116728 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41671 /* 116733 */ GIR_RootConstrainSelectedInstOperands,
41672 /* 116734 */ // GIR_Coverage, 17631,
41673 /* 116734 */ GIR_EraseRootFromParent_Done,
41674 /* 116735 */ // Label 2583: @116735
41675 /* 116735 */ GIM_Try, /*On fail goto*//*Label 2584*/ GIMT_Encode4(116845), // Rule ID 17663 //
41676 /* 116740 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41677 /* 116743 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41678 /* 116747 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41679 /* 116751 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41680 /* 116754 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
41681 /* 116758 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41682 /* 116762 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41683 /* 116766 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41684 /* 116768 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
41685 /* 116775 */ // (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] }))
41686 /* 116775 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41687 /* 116778 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41688 /* 116782 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41689 /* 116787 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41690 /* 116789 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41691 /* 116792 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41692 /* 116796 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41693 /* 116801 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41694 /* 116804 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41695 /* 116808 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41696 /* 116811 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41697 /* 116816 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41698 /* 116821 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41699 /* 116826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rm_EVEX),
41700 /* 116829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41701 /* 116831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
41702 /* 116835 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41703 /* 116838 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
41704 /* 116843 */ GIR_RootConstrainSelectedInstOperands,
41705 /* 116844 */ // GIR_Coverage, 17663,
41706 /* 116844 */ GIR_EraseRootFromParent_Done,
41707 /* 116845 */ // Label 2584: @116845
41708 /* 116845 */ GIM_Try, /*On fail goto*//*Label 2585*/ GIMT_Encode4(116882), // Rule ID 672 //
41709 /* 116850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41710 /* 116853 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41711 /* 116857 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41712 /* 116861 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41713 /* 116865 */ // MIs[1] Operand 1
41714 /* 116865 */ // No operand predicates
41715 /* 116865 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41716 /* 116867 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
41717 /* 116867 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64ri),
41718 /* 116870 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41719 /* 116872 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41720 /* 116874 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41721 /* 116877 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41722 /* 116880 */ GIR_RootConstrainSelectedInstOperands,
41723 /* 116881 */ // GIR_Coverage, 672,
41724 /* 116881 */ GIR_EraseRootFromParent_Done,
41725 /* 116882 */ // Label 2585: @116882
41726 /* 116882 */ GIM_Try, /*On fail goto*//*Label 2586*/ GIMT_Encode4(116919), // Rule ID 676 //
41727 /* 116887 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41728 /* 116890 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41729 /* 116894 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41730 /* 116898 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41731 /* 116902 */ // MIs[1] Operand 1
41732 /* 116902 */ // No operand predicates
41733 /* 116902 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41734 /* 116904 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SHR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
41735 /* 116904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64ri_ND),
41736 /* 116907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41737 /* 116909 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41738 /* 116911 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41739 /* 116914 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41740 /* 116917 */ GIR_RootConstrainSelectedInstOperands,
41741 /* 116918 */ // GIR_Coverage, 676,
41742 /* 116918 */ GIR_EraseRootFromParent_Done,
41743 /* 116919 */ // Label 2586: @116919
41744 /* 116919 */ GIM_Try, /*On fail goto*//*Label 2587*/ GIMT_Encode4(116998), // Rule ID 17627 //
41745 /* 116924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41746 /* 116927 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41747 /* 116931 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41748 /* 116935 */ // (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] }))
41749 /* 116935 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41750 /* 116938 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41751 /* 116942 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41752 /* 116947 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41753 /* 116949 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41754 /* 116952 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41755 /* 116956 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41756 /* 116961 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41757 /* 116964 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41758 /* 116968 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41759 /* 116971 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41760 /* 116976 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41761 /* 116981 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41762 /* 116986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rr),
41763 /* 116989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41764 /* 116991 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41765 /* 116993 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41766 /* 116996 */ GIR_RootConstrainSelectedInstOperands,
41767 /* 116997 */ // GIR_Coverage, 17627,
41768 /* 116997 */ GIR_EraseRootFromParent_Done,
41769 /* 116998 */ // Label 2587: @116998
41770 /* 116998 */ GIM_Try, /*On fail goto*//*Label 2588*/ GIMT_Encode4(117077), // Rule ID 17659 //
41771 /* 117003 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
41772 /* 117006 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41773 /* 117010 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41774 /* 117014 */ // (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] }))
41775 /* 117014 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
41776 /* 117017 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
41777 /* 117021 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41778 /* 117026 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
41779 /* 117028 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
41780 /* 117031 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
41781 /* 117035 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41782 /* 117040 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
41783 /* 117043 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
41784 /* 117047 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
41785 /* 117050 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41786 /* 117055 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
41787 /* 117060 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
41788 /* 117065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRX64rr_EVEX),
41789 /* 117068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41790 /* 117070 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41791 /* 117072 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
41792 /* 117075 */ GIR_RootConstrainSelectedInstOperands,
41793 /* 117076 */ // GIR_Coverage, 17659,
41794 /* 117076 */ GIR_EraseRootFromParent_Done,
41795 /* 117077 */ // Label 2588: @117077
41796 /* 117077 */ GIM_Try, /*On fail goto*//*Label 2589*/ GIMT_Encode4(117119), // Rule ID 688 //
41797 /* 117082 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41798 /* 117085 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41799 /* 117089 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41800 /* 117093 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
41801 /* 117093 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41802 /* 117097 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41803 /* 117103 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41804 /* 117107 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64rCL),
41805 /* 117110 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41806 /* 117112 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41807 /* 117114 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41808 /* 117117 */ GIR_RootConstrainSelectedInstOperands,
41809 /* 117118 */ // GIR_Coverage, 688,
41810 /* 117118 */ GIR_EraseRootFromParent_Done,
41811 /* 117119 */ // Label 2589: @117119
41812 /* 117119 */ GIM_Try, /*On fail goto*//*Label 2590*/ GIMT_Encode4(117161), // Rule ID 692 //
41813 /* 117124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41814 /* 117127 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
41815 /* 117131 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41816 /* 117135 */ // (srl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
41817 /* 117135 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41818 /* 117139 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41819 /* 117145 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41820 /* 117149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHR64rCL_ND),
41821 /* 117152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41822 /* 117154 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41823 /* 117156 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41824 /* 117159 */ GIR_RootConstrainSelectedInstOperands,
41825 /* 117160 */ // GIR_Coverage, 692,
41826 /* 117160 */ GIR_EraseRootFromParent_Done,
41827 /* 117161 */ // Label 2590: @117161
41828 /* 117161 */ GIM_Reject,
41829 /* 117162 */ // Label 2582: @117162
41830 /* 117162 */ GIM_Reject,
41831 /* 117163 */ // Label 2562: @117163
41832 /* 117163 */ GIM_Reject,
41833 /* 117164 */ // Label 29: @117164
41834 /* 117164 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(5), /*)*//*default:*//*Label 2595*/ GIMT_Encode4(118623),
41835 /* 117175 */ /*GILLT_s8*//*Label 2591*/ GIMT_Encode4(117191),
41836 /* 117179 */ /*GILLT_s16*//*Label 2592*/ GIMT_Encode4(117354),
41837 /* 117183 */ /*GILLT_s32*//*Label 2593*/ GIMT_Encode4(117517),
41838 /* 117187 */ /*GILLT_s64*//*Label 2594*/ GIMT_Encode4(118070),
41839 /* 117191 */ // Label 2591: @117191
41840 /* 117191 */ GIM_Try, /*On fail goto*//*Label 2596*/ GIMT_Encode4(117353),
41841 /* 117196 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
41842 /* 117199 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41843 /* 117202 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41844 /* 117206 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41845 /* 117210 */ GIM_Try, /*On fail goto*//*Label 2597*/ GIMT_Encode4(117243), // Rule ID 701 //
41846 /* 117215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41847 /* 117218 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41848 /* 117222 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41849 /* 117226 */ // MIs[1] Operand 1
41850 /* 117226 */ // No operand predicates
41851 /* 117226 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41852 /* 117228 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
41853 /* 117228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8ri),
41854 /* 117231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41855 /* 117233 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41856 /* 117235 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41857 /* 117238 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41858 /* 117241 */ GIR_RootConstrainSelectedInstOperands,
41859 /* 117242 */ // GIR_Coverage, 701,
41860 /* 117242 */ GIR_EraseRootFromParent_Done,
41861 /* 117243 */ // Label 2597: @117243
41862 /* 117243 */ GIM_Try, /*On fail goto*//*Label 2598*/ GIMT_Encode4(117276), // Rule ID 705 //
41863 /* 117248 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41864 /* 117251 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41865 /* 117255 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41866 /* 117259 */ // MIs[1] Operand 1
41867 /* 117259 */ // No operand predicates
41868 /* 117259 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41869 /* 117261 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
41870 /* 117261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8ri_ND),
41871 /* 117264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41872 /* 117266 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41873 /* 117268 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41874 /* 117271 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41875 /* 117274 */ GIR_RootConstrainSelectedInstOperands,
41876 /* 117275 */ // GIR_Coverage, 705,
41877 /* 117275 */ GIR_EraseRootFromParent_Done,
41878 /* 117276 */ // Label 2598: @117276
41879 /* 117276 */ GIM_Try, /*On fail goto*//*Label 2599*/ GIMT_Encode4(117314), // Rule ID 717 //
41880 /* 117281 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41881 /* 117284 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41882 /* 117288 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SAR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
41883 /* 117288 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41884 /* 117292 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41885 /* 117298 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41886 /* 117302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8rCL),
41887 /* 117305 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41888 /* 117307 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41889 /* 117309 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41890 /* 117312 */ GIR_RootConstrainSelectedInstOperands,
41891 /* 117313 */ // GIR_Coverage, 717,
41892 /* 117313 */ GIR_EraseRootFromParent_Done,
41893 /* 117314 */ // Label 2599: @117314
41894 /* 117314 */ GIM_Try, /*On fail goto*//*Label 2600*/ GIMT_Encode4(117352), // Rule ID 721 //
41895 /* 117319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41896 /* 117322 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41897 /* 117326 */ // (sra:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (SAR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
41898 /* 117326 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41899 /* 117330 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41900 /* 117336 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41901 /* 117340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR8rCL_ND),
41902 /* 117343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41903 /* 117345 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41904 /* 117347 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41905 /* 117350 */ GIR_RootConstrainSelectedInstOperands,
41906 /* 117351 */ // GIR_Coverage, 721,
41907 /* 117351 */ GIR_EraseRootFromParent_Done,
41908 /* 117352 */ // Label 2600: @117352
41909 /* 117352 */ GIM_Reject,
41910 /* 117353 */ // Label 2596: @117353
41911 /* 117353 */ GIM_Reject,
41912 /* 117354 */ // Label 2592: @117354
41913 /* 117354 */ GIM_Try, /*On fail goto*//*Label 2601*/ GIMT_Encode4(117516),
41914 /* 117359 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
41915 /* 117362 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41916 /* 117365 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41917 /* 117369 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
41918 /* 117373 */ GIM_Try, /*On fail goto*//*Label 2602*/ GIMT_Encode4(117406), // Rule ID 702 //
41919 /* 117378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41920 /* 117381 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41921 /* 117385 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41922 /* 117389 */ // MIs[1] Operand 1
41923 /* 117389 */ // No operand predicates
41924 /* 117389 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41925 /* 117391 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
41926 /* 117391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16ri),
41927 /* 117394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41928 /* 117396 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41929 /* 117398 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41930 /* 117401 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41931 /* 117404 */ GIR_RootConstrainSelectedInstOperands,
41932 /* 117405 */ // GIR_Coverage, 702,
41933 /* 117405 */ GIR_EraseRootFromParent_Done,
41934 /* 117406 */ // Label 2602: @117406
41935 /* 117406 */ GIM_Try, /*On fail goto*//*Label 2603*/ GIMT_Encode4(117439), // Rule ID 706 //
41936 /* 117411 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41937 /* 117414 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
41938 /* 117418 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
41939 /* 117422 */ // MIs[1] Operand 1
41940 /* 117422 */ // No operand predicates
41941 /* 117422 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41942 /* 117424 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
41943 /* 117424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16ri_ND),
41944 /* 117427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41945 /* 117429 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41946 /* 117431 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
41947 /* 117434 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41948 /* 117437 */ GIR_RootConstrainSelectedInstOperands,
41949 /* 117438 */ // GIR_Coverage, 706,
41950 /* 117438 */ GIR_EraseRootFromParent_Done,
41951 /* 117439 */ // Label 2603: @117439
41952 /* 117439 */ GIM_Try, /*On fail goto*//*Label 2604*/ GIMT_Encode4(117477), // Rule ID 718 //
41953 /* 117444 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
41954 /* 117447 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41955 /* 117451 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SAR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
41956 /* 117451 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41957 /* 117455 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41958 /* 117461 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41959 /* 117465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16rCL),
41960 /* 117468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41961 /* 117470 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41962 /* 117472 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41963 /* 117475 */ GIR_RootConstrainSelectedInstOperands,
41964 /* 117476 */ // GIR_Coverage, 718,
41965 /* 117476 */ GIR_EraseRootFromParent_Done,
41966 /* 117477 */ // Label 2604: @117477
41967 /* 117477 */ GIM_Try, /*On fail goto*//*Label 2605*/ GIMT_Encode4(117515), // Rule ID 722 //
41968 /* 117482 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
41969 /* 117485 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
41970 /* 117489 */ // (sra:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (SAR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
41971 /* 117489 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
41972 /* 117493 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
41973 /* 117499 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
41974 /* 117503 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR16rCL_ND),
41975 /* 117506 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
41976 /* 117508 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
41977 /* 117510 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
41978 /* 117513 */ GIR_RootConstrainSelectedInstOperands,
41979 /* 117514 */ // GIR_Coverage, 722,
41980 /* 117514 */ GIR_EraseRootFromParent_Done,
41981 /* 117515 */ // Label 2605: @117515
41982 /* 117515 */ GIM_Reject,
41983 /* 117516 */ // Label 2601: @117516
41984 /* 117516 */ GIM_Reject,
41985 /* 117517 */ // Label 2593: @117517
41986 /* 117517 */ GIM_Try, /*On fail goto*//*Label 2606*/ GIMT_Encode4(118069),
41987 /* 117522 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
41988 /* 117525 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
41989 /* 117528 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
41990 /* 117532 */ GIM_Try, /*On fail goto*//*Label 2607*/ GIMT_Encode4(117642), // Rule ID 17622 //
41991 /* 117537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
41992 /* 117540 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
41993 /* 117544 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
41994 /* 117548 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
41995 /* 117551 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
41996 /* 117555 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
41997 /* 117559 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
41998 /* 117563 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
41999 /* 117565 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42000 /* 117572 */ // (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] }))
42001 /* 117572 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
42002 /* 117575 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42003 /* 117579 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42004 /* 117584 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42005 /* 117586 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
42006 /* 117589 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42007 /* 117593 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42008 /* 117598 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42009 /* 117601 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42010 /* 117605 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42011 /* 117608 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42012 /* 117613 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42013 /* 117618 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42014 /* 117623 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rm),
42015 /* 117626 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42016 /* 117628 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42017 /* 117632 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42018 /* 117635 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42019 /* 117640 */ GIR_RootConstrainSelectedInstOperands,
42020 /* 117641 */ // GIR_Coverage, 17622,
42021 /* 117641 */ GIR_EraseRootFromParent_Done,
42022 /* 117642 */ // Label 2607: @117642
42023 /* 117642 */ GIM_Try, /*On fail goto*//*Label 2608*/ GIMT_Encode4(117752), // Rule ID 17654 //
42024 /* 117647 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
42025 /* 117650 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42026 /* 117654 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42027 /* 117658 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42028 /* 117661 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42029 /* 117665 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
42030 /* 117669 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42031 /* 117673 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42032 /* 117675 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42033 /* 117682 */ // (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] }))
42034 /* 117682 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
42035 /* 117685 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42036 /* 117689 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42037 /* 117694 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42038 /* 117696 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
42039 /* 117699 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42040 /* 117703 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42041 /* 117708 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42042 /* 117711 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42043 /* 117715 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42044 /* 117718 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42045 /* 117723 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42046 /* 117728 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42047 /* 117733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rm_EVEX),
42048 /* 117736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42049 /* 117738 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42050 /* 117742 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42051 /* 117745 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42052 /* 117750 */ GIR_RootConstrainSelectedInstOperands,
42053 /* 117751 */ // GIR_Coverage, 17654,
42054 /* 117751 */ GIR_EraseRootFromParent_Done,
42055 /* 117752 */ // Label 2608: @117752
42056 /* 117752 */ GIM_Try, /*On fail goto*//*Label 2609*/ GIMT_Encode4(117789), // Rule ID 703 //
42057 /* 117757 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42058 /* 117760 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42059 /* 117764 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42060 /* 117768 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42061 /* 117772 */ // MIs[1] Operand 1
42062 /* 117772 */ // No operand predicates
42063 /* 117772 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42064 /* 117774 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
42065 /* 117774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32ri),
42066 /* 117777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42067 /* 117779 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42068 /* 117781 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42069 /* 117784 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42070 /* 117787 */ GIR_RootConstrainSelectedInstOperands,
42071 /* 117788 */ // GIR_Coverage, 703,
42072 /* 117788 */ GIR_EraseRootFromParent_Done,
42073 /* 117789 */ // Label 2609: @117789
42074 /* 117789 */ GIM_Try, /*On fail goto*//*Label 2610*/ GIMT_Encode4(117826), // Rule ID 707 //
42075 /* 117794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42076 /* 117797 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42077 /* 117801 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42078 /* 117805 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42079 /* 117809 */ // MIs[1] Operand 1
42080 /* 117809 */ // No operand predicates
42081 /* 117809 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42082 /* 117811 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
42083 /* 117811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32ri_ND),
42084 /* 117814 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42085 /* 117816 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42086 /* 117818 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42087 /* 117821 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42088 /* 117824 */ GIR_RootConstrainSelectedInstOperands,
42089 /* 117825 */ // GIR_Coverage, 707,
42090 /* 117825 */ GIR_EraseRootFromParent_Done,
42091 /* 117826 */ // Label 2610: @117826
42092 /* 117826 */ GIM_Try, /*On fail goto*//*Label 2611*/ GIMT_Encode4(117905), // Rule ID 17618 //
42093 /* 117831 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
42094 /* 117834 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42095 /* 117838 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42096 /* 117842 */ // (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] }))
42097 /* 117842 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
42098 /* 117845 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42099 /* 117849 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42100 /* 117854 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42101 /* 117856 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
42102 /* 117859 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42103 /* 117863 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42104 /* 117868 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42105 /* 117871 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42106 /* 117875 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42107 /* 117878 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42108 /* 117883 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42109 /* 117888 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42110 /* 117893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rr),
42111 /* 117896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42112 /* 117898 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42113 /* 117900 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42114 /* 117903 */ GIR_RootConstrainSelectedInstOperands,
42115 /* 117904 */ // GIR_Coverage, 17618,
42116 /* 117904 */ GIR_EraseRootFromParent_Done,
42117 /* 117905 */ // Label 2611: @117905
42118 /* 117905 */ GIM_Try, /*On fail goto*//*Label 2612*/ GIMT_Encode4(117984), // Rule ID 17650 //
42119 /* 117910 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
42120 /* 117913 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42121 /* 117917 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42122 /* 117921 */ // (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] }))
42123 /* 117921 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s32,
42124 /* 117924 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42125 /* 117928 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42126 /* 117933 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42127 /* 117935 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
42128 /* 117938 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42129 /* 117942 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42130 /* 117947 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42131 /* 117950 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42132 /* 117954 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42133 /* 117957 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42134 /* 117962 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::LOW32_ADDR_ACCESS_RBP_with_sub_8bitRegClassID),
42135 /* 117967 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42136 /* 117972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX32rr_EVEX),
42137 /* 117975 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42138 /* 117977 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42139 /* 117979 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42140 /* 117982 */ GIR_RootConstrainSelectedInstOperands,
42141 /* 117983 */ // GIR_Coverage, 17650,
42142 /* 117983 */ GIR_EraseRootFromParent_Done,
42143 /* 117984 */ // Label 2612: @117984
42144 /* 117984 */ GIM_Try, /*On fail goto*//*Label 2613*/ GIMT_Encode4(118026), // Rule ID 719 //
42145 /* 117989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42146 /* 117992 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42147 /* 117996 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42148 /* 118000 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SAR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
42149 /* 118000 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42150 /* 118004 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42151 /* 118010 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42152 /* 118014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32rCL),
42153 /* 118017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42154 /* 118019 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42155 /* 118021 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42156 /* 118024 */ GIR_RootConstrainSelectedInstOperands,
42157 /* 118025 */ // GIR_Coverage, 719,
42158 /* 118025 */ GIR_EraseRootFromParent_Done,
42159 /* 118026 */ // Label 2613: @118026
42160 /* 118026 */ GIM_Try, /*On fail goto*//*Label 2614*/ GIMT_Encode4(118068), // Rule ID 723 //
42161 /* 118031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42162 /* 118034 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42163 /* 118038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42164 /* 118042 */ // (sra:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SAR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
42165 /* 118042 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42166 /* 118046 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42167 /* 118052 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42168 /* 118056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR32rCL_ND),
42169 /* 118059 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42170 /* 118061 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42171 /* 118063 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42172 /* 118066 */ GIR_RootConstrainSelectedInstOperands,
42173 /* 118067 */ // GIR_Coverage, 723,
42174 /* 118067 */ GIR_EraseRootFromParent_Done,
42175 /* 118068 */ // Label 2614: @118068
42176 /* 118068 */ GIM_Reject,
42177 /* 118069 */ // Label 2606: @118069
42178 /* 118069 */ GIM_Reject,
42179 /* 118070 */ // Label 2594: @118070
42180 /* 118070 */ GIM_Try, /*On fail goto*//*Label 2615*/ GIMT_Encode4(118622),
42181 /* 118075 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
42182 /* 118078 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
42183 /* 118081 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42184 /* 118085 */ GIM_Try, /*On fail goto*//*Label 2616*/ GIMT_Encode4(118195), // Rule ID 17623 //
42185 /* 118090 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
42186 /* 118093 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42187 /* 118097 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42188 /* 118101 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42189 /* 118104 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42190 /* 118108 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42191 /* 118112 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42192 /* 118116 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42193 /* 118118 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42194 /* 118125 */ // (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] }))
42195 /* 118125 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42196 /* 118128 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42197 /* 118132 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42198 /* 118137 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42199 /* 118139 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42200 /* 118142 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42201 /* 118146 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42202 /* 118151 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42203 /* 118154 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42204 /* 118158 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42205 /* 118161 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42206 /* 118166 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42207 /* 118171 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42208 /* 118176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rm),
42209 /* 118179 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42210 /* 118181 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42211 /* 118185 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42212 /* 118188 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42213 /* 118193 */ GIR_RootConstrainSelectedInstOperands,
42214 /* 118194 */ // GIR_Coverage, 17623,
42215 /* 118194 */ GIR_EraseRootFromParent_Done,
42216 /* 118195 */ // Label 2616: @118195
42217 /* 118195 */ GIM_Try, /*On fail goto*//*Label 2617*/ GIMT_Encode4(118305), // Rule ID 17655 //
42218 /* 118200 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
42219 /* 118203 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
42220 /* 118207 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42221 /* 118211 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42222 /* 118214 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42223 /* 118218 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42224 /* 118222 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42225 /* 118226 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42226 /* 118228 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42227 /* 118235 */ // (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] }))
42228 /* 118235 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42229 /* 118238 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42230 /* 118242 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42231 /* 118247 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42232 /* 118249 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42233 /* 118252 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42234 /* 118256 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42235 /* 118261 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42236 /* 118264 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42237 /* 118268 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42238 /* 118271 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42239 /* 118276 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42240 /* 118281 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42241 /* 118286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rm_EVEX),
42242 /* 118289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42243 /* 118291 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
42244 /* 118295 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42245 /* 118298 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42246 /* 118303 */ GIR_RootConstrainSelectedInstOperands,
42247 /* 118304 */ // GIR_Coverage, 17655,
42248 /* 118304 */ GIR_EraseRootFromParent_Done,
42249 /* 118305 */ // Label 2617: @118305
42250 /* 118305 */ GIM_Try, /*On fail goto*//*Label 2618*/ GIMT_Encode4(118342), // Rule ID 704 //
42251 /* 118310 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42252 /* 118313 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42253 /* 118317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42254 /* 118321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42255 /* 118325 */ // MIs[1] Operand 1
42256 /* 118325 */ // No operand predicates
42257 /* 118325 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42258 /* 118327 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
42259 /* 118327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64ri),
42260 /* 118330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42261 /* 118332 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42262 /* 118334 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42263 /* 118337 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42264 /* 118340 */ GIR_RootConstrainSelectedInstOperands,
42265 /* 118341 */ // GIR_Coverage, 704,
42266 /* 118341 */ GIR_EraseRootFromParent_Done,
42267 /* 118342 */ // Label 2618: @118342
42268 /* 118342 */ GIM_Try, /*On fail goto*//*Label 2619*/ GIMT_Encode4(118379), // Rule ID 708 //
42269 /* 118347 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42270 /* 118350 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42271 /* 118354 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
42272 /* 118358 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42273 /* 118362 */ // MIs[1] Operand 1
42274 /* 118362 */ // No operand predicates
42275 /* 118362 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42276 /* 118364 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (SAR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
42277 /* 118364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64ri_ND),
42278 /* 118367 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42279 /* 118369 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42280 /* 118371 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
42281 /* 118374 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42282 /* 118377 */ GIR_RootConstrainSelectedInstOperands,
42283 /* 118378 */ // GIR_Coverage, 708,
42284 /* 118378 */ GIR_EraseRootFromParent_Done,
42285 /* 118379 */ // Label 2619: @118379
42286 /* 118379 */ GIM_Try, /*On fail goto*//*Label 2620*/ GIMT_Encode4(118458), // Rule ID 17619 //
42287 /* 118384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
42288 /* 118387 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42289 /* 118391 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42290 /* 118395 */ // (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] }))
42291 /* 118395 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42292 /* 118398 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42293 /* 118402 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42294 /* 118407 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42295 /* 118409 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42296 /* 118412 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42297 /* 118416 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42298 /* 118421 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42299 /* 118424 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42300 /* 118428 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42301 /* 118431 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42302 /* 118436 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42303 /* 118441 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42304 /* 118446 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rr),
42305 /* 118449 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42306 /* 118451 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42307 /* 118453 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42308 /* 118456 */ GIR_RootConstrainSelectedInstOperands,
42309 /* 118457 */ // GIR_Coverage, 17619,
42310 /* 118457 */ GIR_EraseRootFromParent_Done,
42311 /* 118458 */ // Label 2620: @118458
42312 /* 118458 */ GIM_Try, /*On fail goto*//*Label 2621*/ GIMT_Encode4(118537), // Rule ID 17651 //
42313 /* 118463 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
42314 /* 118466 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42315 /* 118470 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
42316 /* 118474 */ // (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] }))
42317 /* 118474 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_s64,
42318 /* 118477 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42319 /* 118481 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42320 /* 118486 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
42321 /* 118488 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
42322 /* 118491 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42323 /* 118495 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42324 /* 118500 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42325 /* 118503 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // src2
42326 /* 118507 */ GIR_AddImm8, /*InsnID*/1, /*Imm*/1,
42327 /* 118510 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42328 /* 118515 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::GR64_with_sub_8bitRegClassID),
42329 /* 118520 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/2, GIMT_Encode2(X86::GR8RegClassID),
42330 /* 118525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SARX64rr_EVEX),
42331 /* 118528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42332 /* 118530 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42333 /* 118532 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
42334 /* 118535 */ GIR_RootConstrainSelectedInstOperands,
42335 /* 118536 */ // GIR_Coverage, 17651,
42336 /* 118536 */ GIR_EraseRootFromParent_Done,
42337 /* 118537 */ // Label 2621: @118537
42338 /* 118537 */ GIM_Try, /*On fail goto*//*Label 2622*/ GIMT_Encode4(118579), // Rule ID 720 //
42339 /* 118542 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42340 /* 118545 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42341 /* 118549 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42342 /* 118553 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SAR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
42343 /* 118553 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42344 /* 118557 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42345 /* 118563 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42346 /* 118567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64rCL),
42347 /* 118570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42348 /* 118572 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42349 /* 118574 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42350 /* 118577 */ GIR_RootConstrainSelectedInstOperands,
42351 /* 118578 */ // GIR_Coverage, 720,
42352 /* 118578 */ GIR_EraseRootFromParent_Done,
42353 /* 118579 */ // Label 2622: @118579
42354 /* 118579 */ GIM_Try, /*On fail goto*//*Label 2623*/ GIMT_Encode4(118621), // Rule ID 724 //
42355 /* 118584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42356 /* 118587 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42357 /* 118591 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42358 /* 118595 */ // (sra:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SAR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
42359 /* 118595 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42360 /* 118599 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42361 /* 118605 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
42362 /* 118609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SAR64rCL_ND),
42363 /* 118612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42364 /* 118614 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42365 /* 118616 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42366 /* 118619 */ GIR_RootConstrainSelectedInstOperands,
42367 /* 118620 */ // GIR_Coverage, 724,
42368 /* 118620 */ GIR_EraseRootFromParent_Done,
42369 /* 118621 */ // Label 2623: @118621
42370 /* 118621 */ GIM_Reject,
42371 /* 118622 */ // Label 2615: @118622
42372 /* 118622 */ GIM_Reject,
42373 /* 118623 */ // Label 2595: @118623
42374 /* 118623 */ GIM_Reject,
42375 /* 118624 */ // Label 30: @118624
42376 /* 118624 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(25), /*)*//*default:*//*Label 2635*/ GIMT_Encode4(121344),
42377 /* 118635 */ /*GILLT_s32*//*Label 2624*/ GIMT_Encode4(118723),
42378 /* 118639 */ /*GILLT_s64*//*Label 2625*/ GIMT_Encode4(118901), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
42379 /* 118687 */ /*GILLT_v8s16*//*Label 2626*/ GIMT_Encode4(119079),
42380 /* 118691 */ /*GILLT_v16s16*//*Label 2627*/ GIMT_Encode4(119417),
42381 /* 118695 */ /*GILLT_v32s16*//*Label 2628*/ GIMT_Encode4(119731),
42382 /* 118699 */ /*GILLT_v4s32*//*Label 2629*/ GIMT_Encode4(119834),
42383 /* 118703 */ /*GILLT_v8s32*//*Label 2630*/ GIMT_Encode4(120172),
42384 /* 118707 */ /*GILLT_v16s32*//*Label 2631*/ GIMT_Encode4(120486),
42385 /* 118711 */ /*GILLT_v2s64*//*Label 2632*/ GIMT_Encode4(120589),
42386 /* 118715 */ /*GILLT_v4s64*//*Label 2633*/ GIMT_Encode4(120927),
42387 /* 118719 */ /*GILLT_v8s64*//*Label 2634*/ GIMT_Encode4(121241),
42388 /* 118723 */ // Label 2624: @118723
42389 /* 118723 */ GIM_Try, /*On fail goto*//*Label 2636*/ GIMT_Encode4(118900),
42390 /* 118728 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
42391 /* 118731 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
42392 /* 118734 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
42393 /* 118737 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42394 /* 118741 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42395 /* 118745 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
42396 /* 118749 */ GIM_Try, /*On fail goto*//*Label 2637*/ GIMT_Encode4(118784), // Rule ID 798 //
42397 /* 118754 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42398 /* 118757 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42399 /* 118761 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42400 /* 118765 */ // MIs[1] Operand 1
42401 /* 118765 */ // No operand predicates
42402 /* 118765 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42403 /* 118767 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD32rri8:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
42404 /* 118767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rri8),
42405 /* 118770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42406 /* 118772 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42407 /* 118774 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42408 /* 118776 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
42409 /* 118779 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42410 /* 118782 */ GIR_RootConstrainSelectedInstOperands,
42411 /* 118783 */ // GIR_Coverage, 798,
42412 /* 118783 */ GIR_EraseRootFromParent_Done,
42413 /* 118784 */ // Label 2637: @118784
42414 /* 118784 */ GIM_Try, /*On fail goto*//*Label 2638*/ GIMT_Encode4(118819), // Rule ID 804 //
42415 /* 118789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42416 /* 118792 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42417 /* 118796 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42418 /* 118800 */ // MIs[1] Operand 1
42419 /* 118800 */ // No operand predicates
42420 /* 118800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42421 /* 118802 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD32rri8_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
42422 /* 118802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rri8_ND),
42423 /* 118805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42424 /* 118807 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42425 /* 118809 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42426 /* 118811 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
42427 /* 118814 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42428 /* 118817 */ GIR_RootConstrainSelectedInstOperands,
42429 /* 118818 */ // GIR_Coverage, 804,
42430 /* 118818 */ GIR_EraseRootFromParent_Done,
42431 /* 118819 */ // Label 2638: @118819
42432 /* 118819 */ GIM_Try, /*On fail goto*//*Label 2639*/ GIMT_Encode4(118859), // Rule ID 801 //
42433 /* 118824 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42434 /* 118827 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42435 /* 118831 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, CL:{ *:[i8] }) => (SHLD32rrCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
42436 /* 118831 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42437 /* 118835 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42438 /* 118841 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
42439 /* 118845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rrCL),
42440 /* 118848 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42441 /* 118850 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42442 /* 118852 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42443 /* 118854 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42444 /* 118857 */ GIR_RootConstrainSelectedInstOperands,
42445 /* 118858 */ // GIR_Coverage, 801,
42446 /* 118858 */ GIR_EraseRootFromParent_Done,
42447 /* 118859 */ // Label 2639: @118859
42448 /* 118859 */ GIM_Try, /*On fail goto*//*Label 2640*/ GIMT_Encode4(118899), // Rule ID 807 //
42449 /* 118864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42450 /* 118867 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42451 /* 118871 */ // (fshl:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, CL:{ *:[i8] }) => (SHLD32rrCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
42452 /* 118871 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42453 /* 118875 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42454 /* 118881 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
42455 /* 118885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD32rrCL_ND),
42456 /* 118888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42457 /* 118890 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42458 /* 118892 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42459 /* 118894 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42460 /* 118897 */ GIR_RootConstrainSelectedInstOperands,
42461 /* 118898 */ // GIR_Coverage, 807,
42462 /* 118898 */ GIR_EraseRootFromParent_Done,
42463 /* 118899 */ // Label 2640: @118899
42464 /* 118899 */ GIM_Reject,
42465 /* 118900 */ // Label 2636: @118900
42466 /* 118900 */ GIM_Reject,
42467 /* 118901 */ // Label 2625: @118901
42468 /* 118901 */ GIM_Try, /*On fail goto*//*Label 2641*/ GIMT_Encode4(119078),
42469 /* 118906 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
42470 /* 118909 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
42471 /* 118912 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
42472 /* 118915 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42473 /* 118919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42474 /* 118923 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
42475 /* 118927 */ GIM_Try, /*On fail goto*//*Label 2642*/ GIMT_Encode4(118962), // Rule ID 799 //
42476 /* 118932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42477 /* 118935 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42478 /* 118939 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42479 /* 118943 */ // MIs[1] Operand 1
42480 /* 118943 */ // No operand predicates
42481 /* 118943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42482 /* 118945 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD64rri8:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
42483 /* 118945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rri8),
42484 /* 118948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42485 /* 118950 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42486 /* 118952 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42487 /* 118954 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
42488 /* 118957 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42489 /* 118960 */ GIR_RootConstrainSelectedInstOperands,
42490 /* 118961 */ // GIR_Coverage, 799,
42491 /* 118961 */ GIR_EraseRootFromParent_Done,
42492 /* 118962 */ // Label 2642: @118962
42493 /* 118962 */ GIM_Try, /*On fail goto*//*Label 2643*/ GIMT_Encode4(118997), // Rule ID 805 //
42494 /* 118967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42495 /* 118970 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42496 /* 118974 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
42497 /* 118978 */ // MIs[1] Operand 1
42498 /* 118978 */ // No operand predicates
42499 /* 118978 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42500 /* 118980 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3) => (SHLD64rri8_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
42501 /* 118980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rri8_ND),
42502 /* 118983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42503 /* 118985 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42504 /* 118987 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42505 /* 118989 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
42506 /* 118992 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42507 /* 118995 */ GIR_RootConstrainSelectedInstOperands,
42508 /* 118996 */ // GIR_Coverage, 805,
42509 /* 118996 */ GIR_EraseRootFromParent_Done,
42510 /* 118997 */ // Label 2643: @118997
42511 /* 118997 */ GIM_Try, /*On fail goto*//*Label 2644*/ GIMT_Encode4(119037), // Rule ID 802 //
42512 /* 119002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
42513 /* 119005 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42514 /* 119009 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, CL:{ *:[i8] }) => (SHLD64rrCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
42515 /* 119009 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42516 /* 119013 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42517 /* 119019 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
42518 /* 119023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rrCL),
42519 /* 119026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42520 /* 119028 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42521 /* 119030 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42522 /* 119032 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42523 /* 119035 */ GIR_RootConstrainSelectedInstOperands,
42524 /* 119036 */ // GIR_Coverage, 802,
42525 /* 119036 */ GIR_EraseRootFromParent_Done,
42526 /* 119037 */ // Label 2644: @119037
42527 /* 119037 */ GIM_Try, /*On fail goto*//*Label 2645*/ GIMT_Encode4(119077), // Rule ID 808 //
42528 /* 119042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
42529 /* 119045 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
42530 /* 119049 */ // (fshl:{ *:[i64] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, CL:{ *:[i8] }) => (SHLD64rrCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
42531 /* 119049 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42532 /* 119053 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42533 /* 119059 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
42534 /* 119063 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLD64rrCL_ND),
42535 /* 119066 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42536 /* 119068 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42537 /* 119070 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42538 /* 119072 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
42539 /* 119075 */ GIR_RootConstrainSelectedInstOperands,
42540 /* 119076 */ // GIR_Coverage, 808,
42541 /* 119076 */ GIR_EraseRootFromParent_Done,
42542 /* 119077 */ // Label 2645: @119077
42543 /* 119077 */ GIM_Reject,
42544 /* 119078 */ // Label 2641: @119078
42545 /* 119078 */ GIM_Reject,
42546 /* 119079 */ // Label 2626: @119079
42547 /* 119079 */ GIM_Try, /*On fail goto*//*Label 2646*/ GIMT_Encode4(119416),
42548 /* 119084 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
42549 /* 119087 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
42550 /* 119090 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
42551 /* 119093 */ GIM_Try, /*On fail goto*//*Label 2647*/ GIMT_Encode4(119161), // Rule ID 14085 //
42552 /* 119098 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42553 /* 119101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42554 /* 119105 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42555 /* 119109 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42556 /* 119113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42557 /* 119117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42558 /* 119121 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42559 /* 119124 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42560 /* 119128 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42561 /* 119132 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42562 /* 119134 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42563 /* 119141 */ // (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)
42564 /* 119141 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ128m),
42565 /* 119144 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42566 /* 119146 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42567 /* 119148 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42568 /* 119150 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42569 /* 119154 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42570 /* 119159 */ GIR_RootConstrainSelectedInstOperands,
42571 /* 119160 */ // GIR_Coverage, 14085,
42572 /* 119160 */ GIR_EraseRootFromParent_Done,
42573 /* 119161 */ // Label 2647: @119161
42574 /* 119161 */ GIM_Try, /*On fail goto*//*Label 2648*/ GIMT_Encode4(119192), // Rule ID 14082 //
42575 /* 119166 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42576 /* 119169 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42577 /* 119173 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42578 /* 119177 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42579 /* 119181 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42580 /* 119185 */ // (fshl:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src3) => (VPSHLDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src3)
42581 /* 119185 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ128r),
42582 /* 119190 */ GIR_RootConstrainSelectedInstOperands,
42583 /* 119191 */ // GIR_Coverage, 14082,
42584 /* 119191 */ GIR_Done,
42585 /* 119192 */ // Label 2648: @119192
42586 /* 119192 */ GIM_Try, /*On fail goto*//*Label 2649*/ GIMT_Encode4(119415), // Rule ID 22144 //
42587 /* 119197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
42588 /* 119200 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
42589 /* 119204 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42590 /* 119208 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42591 /* 119212 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42592 /* 119216 */ // (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] })
42593 /* 119216 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
42594 /* 119219 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42595 /* 119223 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42596 /* 119228 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42597 /* 119230 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
42598 /* 119233 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42599 /* 119237 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42600 /* 119242 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42601 /* 119245 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42602 /* 119249 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
42603 /* 119252 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42604 /* 119257 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42605 /* 119262 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42606 /* 119267 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
42607 /* 119270 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42608 /* 119274 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42609 /* 119279 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42610 /* 119281 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
42611 /* 119284 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42612 /* 119288 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42613 /* 119293 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42614 /* 119296 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
42615 /* 119300 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
42616 /* 119303 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42617 /* 119308 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42618 /* 119313 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42619 /* 119318 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
42620 /* 119321 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42621 /* 119325 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42622 /* 119330 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42623 /* 119332 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
42624 /* 119335 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42625 /* 119339 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42626 /* 119344 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42627 /* 119347 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
42628 /* 119351 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
42629 /* 119354 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42630 /* 119359 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42631 /* 119364 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42632 /* 119369 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42633 /* 119372 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
42634 /* 119376 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42635 /* 119381 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42636 /* 119384 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42637 /* 119387 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42638 /* 119390 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42639 /* 119392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42640 /* 119395 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42641 /* 119397 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
42642 /* 119404 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
42643 /* 119409 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42644 /* 119414 */ // GIR_Coverage, 22144,
42645 /* 119414 */ GIR_EraseRootFromParent_Done,
42646 /* 119415 */ // Label 2649: @119415
42647 /* 119415 */ GIM_Reject,
42648 /* 119416 */ // Label 2646: @119416
42649 /* 119416 */ GIM_Reject,
42650 /* 119417 */ // Label 2627: @119417
42651 /* 119417 */ GIM_Try, /*On fail goto*//*Label 2650*/ GIMT_Encode4(119730),
42652 /* 119422 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
42653 /* 119425 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
42654 /* 119428 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
42655 /* 119431 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42656 /* 119435 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42657 /* 119439 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42658 /* 119443 */ GIM_Try, /*On fail goto*//*Label 2651*/ GIMT_Encode4(119499), // Rule ID 14079 //
42659 /* 119448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42660 /* 119451 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42661 /* 119455 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42662 /* 119459 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42663 /* 119462 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42664 /* 119466 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42665 /* 119470 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42666 /* 119472 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42667 /* 119479 */ // (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)
42668 /* 119479 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ256m),
42669 /* 119482 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42670 /* 119484 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42671 /* 119486 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42672 /* 119488 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42673 /* 119492 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42674 /* 119497 */ GIR_RootConstrainSelectedInstOperands,
42675 /* 119498 */ // GIR_Coverage, 14079,
42676 /* 119498 */ GIR_EraseRootFromParent_Done,
42677 /* 119499 */ // Label 2651: @119499
42678 /* 119499 */ GIM_Try, /*On fail goto*//*Label 2652*/ GIMT_Encode4(119518), // Rule ID 14076 //
42679 /* 119504 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42680 /* 119507 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42681 /* 119511 */ // (fshl:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src3) => (VPSHLDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src3)
42682 /* 119511 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ256r),
42683 /* 119516 */ GIR_RootConstrainSelectedInstOperands,
42684 /* 119517 */ // GIR_Coverage, 14076,
42685 /* 119517 */ GIR_Done,
42686 /* 119518 */ // Label 2652: @119518
42687 /* 119518 */ GIM_Try, /*On fail goto*//*Label 2653*/ GIMT_Encode4(119729), // Rule ID 22140 //
42688 /* 119523 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
42689 /* 119526 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42690 /* 119530 */ // (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] })
42691 /* 119530 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
42692 /* 119533 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42693 /* 119537 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42694 /* 119542 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42695 /* 119544 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
42696 /* 119547 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42697 /* 119551 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42698 /* 119556 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42699 /* 119559 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42700 /* 119563 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
42701 /* 119566 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42702 /* 119571 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42703 /* 119576 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42704 /* 119581 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
42705 /* 119584 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42706 /* 119588 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42707 /* 119593 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42708 /* 119595 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
42709 /* 119598 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42710 /* 119602 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42711 /* 119607 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42712 /* 119610 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
42713 /* 119614 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
42714 /* 119617 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42715 /* 119622 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42716 /* 119627 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42717 /* 119632 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
42718 /* 119635 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42719 /* 119639 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42720 /* 119644 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42721 /* 119646 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
42722 /* 119649 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42723 /* 119653 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42724 /* 119658 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42725 /* 119661 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
42726 /* 119665 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
42727 /* 119668 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42728 /* 119673 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42729 /* 119678 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42730 /* 119683 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42731 /* 119686 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
42732 /* 119690 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42733 /* 119695 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42734 /* 119698 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42735 /* 119701 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42736 /* 119704 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42737 /* 119706 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42738 /* 119709 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42739 /* 119711 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
42740 /* 119718 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
42741 /* 119723 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42742 /* 119728 */ // GIR_Coverage, 22140,
42743 /* 119728 */ GIR_EraseRootFromParent_Done,
42744 /* 119729 */ // Label 2653: @119729
42745 /* 119729 */ GIM_Reject,
42746 /* 119730 */ // Label 2650: @119730
42747 /* 119730 */ GIM_Reject,
42748 /* 119731 */ // Label 2628: @119731
42749 /* 119731 */ GIM_Try, /*On fail goto*//*Label 2654*/ GIMT_Encode4(119833),
42750 /* 119736 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
42751 /* 119739 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
42752 /* 119742 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
42753 /* 119745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42754 /* 119749 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42755 /* 119753 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42756 /* 119757 */ GIM_Try, /*On fail goto*//*Label 2655*/ GIMT_Encode4(119813), // Rule ID 14073 //
42757 /* 119762 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
42758 /* 119765 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42759 /* 119769 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42760 /* 119773 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42761 /* 119776 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42762 /* 119780 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42763 /* 119784 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42764 /* 119786 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42765 /* 119793 */ // (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)
42766 /* 119793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZm),
42767 /* 119796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42768 /* 119798 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42769 /* 119800 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42770 /* 119802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42771 /* 119806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42772 /* 119811 */ GIR_RootConstrainSelectedInstOperands,
42773 /* 119812 */ // GIR_Coverage, 14073,
42774 /* 119812 */ GIR_EraseRootFromParent_Done,
42775 /* 119813 */ // Label 2655: @119813
42776 /* 119813 */ GIM_Try, /*On fail goto*//*Label 2656*/ GIMT_Encode4(119832), // Rule ID 14070 //
42777 /* 119818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
42778 /* 119821 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42779 /* 119825 */ // (fshl:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src3) => (VPSHLDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src3)
42780 /* 119825 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
42781 /* 119830 */ GIR_RootConstrainSelectedInstOperands,
42782 /* 119831 */ // GIR_Coverage, 14070,
42783 /* 119831 */ GIR_Done,
42784 /* 119832 */ // Label 2656: @119832
42785 /* 119832 */ GIM_Reject,
42786 /* 119833 */ // Label 2654: @119833
42787 /* 119833 */ GIM_Reject,
42788 /* 119834 */ // Label 2629: @119834
42789 /* 119834 */ GIM_Try, /*On fail goto*//*Label 2657*/ GIMT_Encode4(120171),
42790 /* 119839 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
42791 /* 119842 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
42792 /* 119845 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
42793 /* 119848 */ GIM_Try, /*On fail goto*//*Label 2658*/ GIMT_Encode4(119916), // Rule ID 14109 //
42794 /* 119853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42795 /* 119856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42796 /* 119860 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42797 /* 119864 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42798 /* 119868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42799 /* 119872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42800 /* 119876 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42801 /* 119879 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42802 /* 119883 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42803 /* 119887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42804 /* 119889 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42805 /* 119896 */ // (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)
42806 /* 119896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ128m),
42807 /* 119899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42808 /* 119901 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42809 /* 119903 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42810 /* 119905 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42811 /* 119909 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42812 /* 119914 */ GIR_RootConstrainSelectedInstOperands,
42813 /* 119915 */ // GIR_Coverage, 14109,
42814 /* 119915 */ GIR_EraseRootFromParent_Done,
42815 /* 119916 */ // Label 2658: @119916
42816 /* 119916 */ GIM_Try, /*On fail goto*//*Label 2659*/ GIMT_Encode4(119947), // Rule ID 14106 //
42817 /* 119921 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42818 /* 119924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42819 /* 119928 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42820 /* 119932 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42821 /* 119936 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42822 /* 119940 */ // (fshl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src3) => (VPSHLDVDZ128r:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src3)
42823 /* 119940 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ128r),
42824 /* 119945 */ GIR_RootConstrainSelectedInstOperands,
42825 /* 119946 */ // GIR_Coverage, 14106,
42826 /* 119946 */ GIR_Done,
42827 /* 119947 */ // Label 2659: @119947
42828 /* 119947 */ GIM_Try, /*On fail goto*//*Label 2660*/ GIMT_Encode4(120170), // Rule ID 22136 //
42829 /* 119952 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
42830 /* 119955 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
42831 /* 119959 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42832 /* 119963 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42833 /* 119967 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
42834 /* 119971 */ // (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] })
42835 /* 119971 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v16s32,
42836 /* 119974 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42837 /* 119978 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42838 /* 119983 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42839 /* 119985 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
42840 /* 119988 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42841 /* 119992 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42842 /* 119997 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42843 /* 120000 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42844 /* 120004 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
42845 /* 120007 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42846 /* 120012 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42847 /* 120017 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42848 /* 120022 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
42849 /* 120025 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42850 /* 120029 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42851 /* 120034 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42852 /* 120036 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
42853 /* 120039 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42854 /* 120043 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42855 /* 120048 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42856 /* 120051 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
42857 /* 120055 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
42858 /* 120058 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42859 /* 120063 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42860 /* 120068 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42861 /* 120073 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
42862 /* 120076 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42863 /* 120080 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42864 /* 120085 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42865 /* 120087 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
42866 /* 120090 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42867 /* 120094 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42868 /* 120099 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42869 /* 120102 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
42870 /* 120106 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
42871 /* 120109 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42872 /* 120114 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42873 /* 120119 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
42874 /* 120124 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42875 /* 120127 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZr),
42876 /* 120131 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42877 /* 120136 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42878 /* 120139 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42879 /* 120142 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42880 /* 120145 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42881 /* 120147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42882 /* 120150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42883 /* 120152 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
42884 /* 120159 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
42885 /* 120164 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42886 /* 120169 */ // GIR_Coverage, 22136,
42887 /* 120169 */ GIR_EraseRootFromParent_Done,
42888 /* 120170 */ // Label 2660: @120170
42889 /* 120170 */ GIM_Reject,
42890 /* 120171 */ // Label 2657: @120171
42891 /* 120171 */ GIM_Reject,
42892 /* 120172 */ // Label 2630: @120172
42893 /* 120172 */ GIM_Try, /*On fail goto*//*Label 2661*/ GIMT_Encode4(120485),
42894 /* 120177 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
42895 /* 120180 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
42896 /* 120183 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
42897 /* 120186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42898 /* 120190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42899 /* 120194 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42900 /* 120198 */ GIM_Try, /*On fail goto*//*Label 2662*/ GIMT_Encode4(120254), // Rule ID 14100 //
42901 /* 120203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42902 /* 120206 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
42903 /* 120210 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
42904 /* 120214 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
42905 /* 120217 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
42906 /* 120221 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
42907 /* 120225 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
42908 /* 120227 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
42909 /* 120234 */ // (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)
42910 /* 120234 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ256m),
42911 /* 120237 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42912 /* 120239 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
42913 /* 120241 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
42914 /* 120243 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
42915 /* 120247 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
42916 /* 120252 */ GIR_RootConstrainSelectedInstOperands,
42917 /* 120253 */ // GIR_Coverage, 14100,
42918 /* 120253 */ GIR_EraseRootFromParent_Done,
42919 /* 120254 */ // Label 2662: @120254
42920 /* 120254 */ GIM_Try, /*On fail goto*//*Label 2663*/ GIMT_Encode4(120273), // Rule ID 14097 //
42921 /* 120259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
42922 /* 120262 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42923 /* 120266 */ // (fshl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src3) => (VPSHLDVDZ256r:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src3)
42924 /* 120266 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZ256r),
42925 /* 120271 */ GIR_RootConstrainSelectedInstOperands,
42926 /* 120272 */ // GIR_Coverage, 14097,
42927 /* 120272 */ GIR_Done,
42928 /* 120273 */ // Label 2663: @120273
42929 /* 120273 */ GIM_Try, /*On fail goto*//*Label 2664*/ GIMT_Encode4(120484), // Rule ID 22132 //
42930 /* 120278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
42931 /* 120281 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
42932 /* 120285 */ // (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] })
42933 /* 120285 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v16s32,
42934 /* 120288 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42935 /* 120292 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42936 /* 120297 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
42937 /* 120299 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
42938 /* 120302 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42939 /* 120306 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42940 /* 120311 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
42941 /* 120314 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
42942 /* 120318 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
42943 /* 120321 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42944 /* 120326 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42945 /* 120331 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42946 /* 120336 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
42947 /* 120339 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42948 /* 120343 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42949 /* 120348 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
42950 /* 120350 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
42951 /* 120353 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42952 /* 120357 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42953 /* 120362 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
42954 /* 120365 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
42955 /* 120369 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
42956 /* 120372 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42957 /* 120377 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42958 /* 120382 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42959 /* 120387 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
42960 /* 120390 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
42961 /* 120394 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42962 /* 120399 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
42963 /* 120401 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
42964 /* 120404 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
42965 /* 120408 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42966 /* 120413 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
42967 /* 120416 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
42968 /* 120420 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
42969 /* 120423 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
42970 /* 120428 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42971 /* 120433 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
42972 /* 120438 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
42973 /* 120441 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZr),
42974 /* 120445 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
42975 /* 120450 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
42976 /* 120453 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
42977 /* 120456 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
42978 /* 120459 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
42979 /* 120461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
42980 /* 120464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
42981 /* 120466 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
42982 /* 120473 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
42983 /* 120478 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
42984 /* 120483 */ // GIR_Coverage, 22132,
42985 /* 120483 */ GIR_EraseRootFromParent_Done,
42986 /* 120484 */ // Label 2664: @120484
42987 /* 120484 */ GIM_Reject,
42988 /* 120485 */ // Label 2661: @120485
42989 /* 120485 */ GIM_Reject,
42990 /* 120486 */ // Label 2631: @120486
42991 /* 120486 */ GIM_Try, /*On fail goto*//*Label 2665*/ GIMT_Encode4(120588),
42992 /* 120491 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
42993 /* 120494 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
42994 /* 120497 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
42995 /* 120500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42996 /* 120504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42997 /* 120508 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
42998 /* 120512 */ GIM_Try, /*On fail goto*//*Label 2666*/ GIMT_Encode4(120568), // Rule ID 14091 //
42999 /* 120517 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
43000 /* 120520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43001 /* 120524 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43002 /* 120528 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43003 /* 120531 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43004 /* 120535 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43005 /* 120539 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43006 /* 120541 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43007 /* 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)
43008 /* 120548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZm),
43009 /* 120551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43010 /* 120553 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43011 /* 120555 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43012 /* 120557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43013 /* 120561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43014 /* 120566 */ GIR_RootConstrainSelectedInstOperands,
43015 /* 120567 */ // GIR_Coverage, 14091,
43016 /* 120567 */ GIR_EraseRootFromParent_Done,
43017 /* 120568 */ // Label 2666: @120568
43018 /* 120568 */ GIM_Try, /*On fail goto*//*Label 2667*/ GIMT_Encode4(120587), // Rule ID 14088 //
43019 /* 120573 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
43020 /* 120576 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43021 /* 120580 */ // (fshl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src3) => (VPSHLDVDZr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src3)
43022 /* 120580 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVDZr),
43023 /* 120585 */ GIR_RootConstrainSelectedInstOperands,
43024 /* 120586 */ // GIR_Coverage, 14088,
43025 /* 120586 */ GIR_Done,
43026 /* 120587 */ // Label 2667: @120587
43027 /* 120587 */ GIM_Reject,
43028 /* 120588 */ // Label 2665: @120588
43029 /* 120588 */ GIM_Reject,
43030 /* 120589 */ // Label 2632: @120589
43031 /* 120589 */ GIM_Try, /*On fail goto*//*Label 2668*/ GIMT_Encode4(120926),
43032 /* 120594 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
43033 /* 120597 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
43034 /* 120600 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
43035 /* 120603 */ GIM_Try, /*On fail goto*//*Label 2669*/ GIMT_Encode4(120671), // Rule ID 14136 //
43036 /* 120608 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43037 /* 120611 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43038 /* 120615 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43039 /* 120619 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43040 /* 120623 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43041 /* 120627 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43042 /* 120631 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43043 /* 120634 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43044 /* 120638 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43045 /* 120642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43046 /* 120644 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43047 /* 120651 */ // (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)
43048 /* 120651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ128m),
43049 /* 120654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43050 /* 120656 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43051 /* 120658 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43052 /* 120660 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43053 /* 120664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43054 /* 120669 */ GIR_RootConstrainSelectedInstOperands,
43055 /* 120670 */ // GIR_Coverage, 14136,
43056 /* 120670 */ GIR_EraseRootFromParent_Done,
43057 /* 120671 */ // Label 2669: @120671
43058 /* 120671 */ GIM_Try, /*On fail goto*//*Label 2670*/ GIMT_Encode4(120702), // Rule ID 14133 //
43059 /* 120676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43060 /* 120679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43061 /* 120683 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43062 /* 120687 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43063 /* 120691 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43064 /* 120695 */ // (fshl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src3) => (VPSHLDVQZ128r:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src3)
43065 /* 120695 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ128r),
43066 /* 120700 */ GIR_RootConstrainSelectedInstOperands,
43067 /* 120701 */ // GIR_Coverage, 14133,
43068 /* 120701 */ GIR_Done,
43069 /* 120702 */ // Label 2670: @120702
43070 /* 120702 */ GIM_Try, /*On fail goto*//*Label 2671*/ GIMT_Encode4(120925), // Rule ID 22128 //
43071 /* 120707 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
43072 /* 120710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
43073 /* 120714 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43074 /* 120718 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43075 /* 120722 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43076 /* 120726 */ // (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] })
43077 /* 120726 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
43078 /* 120729 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43079 /* 120733 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43080 /* 120738 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43081 /* 120740 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
43082 /* 120743 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43083 /* 120747 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43084 /* 120752 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43085 /* 120755 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
43086 /* 120759 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
43087 /* 120762 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43088 /* 120767 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43089 /* 120772 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43090 /* 120777 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
43091 /* 120780 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43092 /* 120784 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43093 /* 120789 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43094 /* 120791 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
43095 /* 120794 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43096 /* 120798 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43097 /* 120803 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43098 /* 120806 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
43099 /* 120810 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
43100 /* 120813 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43101 /* 120818 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43102 /* 120823 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43103 /* 120828 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
43104 /* 120831 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43105 /* 120835 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43106 /* 120840 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43107 /* 120842 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
43108 /* 120845 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43109 /* 120849 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43110 /* 120854 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43111 /* 120857 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
43112 /* 120861 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
43113 /* 120864 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43114 /* 120869 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43115 /* 120874 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43116 /* 120879 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43117 /* 120882 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZr),
43118 /* 120886 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43119 /* 120891 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43120 /* 120894 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43121 /* 120897 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43122 /* 120900 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43123 /* 120902 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43124 /* 120905 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43125 /* 120907 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
43126 /* 120914 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
43127 /* 120919 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43128 /* 120924 */ // GIR_Coverage, 22128,
43129 /* 120924 */ GIR_EraseRootFromParent_Done,
43130 /* 120925 */ // Label 2671: @120925
43131 /* 120925 */ GIM_Reject,
43132 /* 120926 */ // Label 2668: @120926
43133 /* 120926 */ GIM_Reject,
43134 /* 120927 */ // Label 2633: @120927
43135 /* 120927 */ GIM_Try, /*On fail goto*//*Label 2672*/ GIMT_Encode4(121240),
43136 /* 120932 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
43137 /* 120935 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
43138 /* 120938 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
43139 /* 120941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43140 /* 120945 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43141 /* 120949 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43142 /* 120953 */ GIM_Try, /*On fail goto*//*Label 2673*/ GIMT_Encode4(121009), // Rule ID 14127 //
43143 /* 120958 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43144 /* 120961 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43145 /* 120965 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43146 /* 120969 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43147 /* 120972 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43148 /* 120976 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43149 /* 120980 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43150 /* 120982 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43151 /* 120989 */ // (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)
43152 /* 120989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ256m),
43153 /* 120992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43154 /* 120994 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43155 /* 120996 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43156 /* 120998 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43157 /* 121002 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43158 /* 121007 */ GIR_RootConstrainSelectedInstOperands,
43159 /* 121008 */ // GIR_Coverage, 14127,
43160 /* 121008 */ GIR_EraseRootFromParent_Done,
43161 /* 121009 */ // Label 2673: @121009
43162 /* 121009 */ GIM_Try, /*On fail goto*//*Label 2674*/ GIMT_Encode4(121028), // Rule ID 14124 //
43163 /* 121014 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43164 /* 121017 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43165 /* 121021 */ // (fshl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src3) => (VPSHLDVQZ256r:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src3)
43166 /* 121021 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZ256r),
43167 /* 121026 */ GIR_RootConstrainSelectedInstOperands,
43168 /* 121027 */ // GIR_Coverage, 14124,
43169 /* 121027 */ GIR_Done,
43170 /* 121028 */ // Label 2674: @121028
43171 /* 121028 */ GIM_Try, /*On fail goto*//*Label 2675*/ GIMT_Encode4(121239), // Rule ID 22124 //
43172 /* 121033 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
43173 /* 121036 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43174 /* 121040 */ // (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] })
43175 /* 121040 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
43176 /* 121043 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43177 /* 121047 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43178 /* 121052 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43179 /* 121054 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
43180 /* 121057 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43181 /* 121061 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43182 /* 121066 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43183 /* 121069 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
43184 /* 121073 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
43185 /* 121076 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43186 /* 121081 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43187 /* 121086 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43188 /* 121091 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
43189 /* 121094 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43190 /* 121098 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43191 /* 121103 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43192 /* 121105 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
43193 /* 121108 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43194 /* 121112 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43195 /* 121117 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43196 /* 121120 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
43197 /* 121124 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
43198 /* 121127 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43199 /* 121132 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43200 /* 121137 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43201 /* 121142 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
43202 /* 121145 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43203 /* 121149 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43204 /* 121154 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43205 /* 121156 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
43206 /* 121159 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43207 /* 121163 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43208 /* 121168 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43209 /* 121171 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
43210 /* 121175 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
43211 /* 121178 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43212 /* 121183 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43213 /* 121188 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43214 /* 121193 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43215 /* 121196 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZr),
43216 /* 121200 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43217 /* 121205 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43218 /* 121208 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43219 /* 121211 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43220 /* 121214 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43221 /* 121216 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43222 /* 121219 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43223 /* 121221 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
43224 /* 121228 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
43225 /* 121233 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43226 /* 121238 */ // GIR_Coverage, 22124,
43227 /* 121238 */ GIR_EraseRootFromParent_Done,
43228 /* 121239 */ // Label 2675: @121239
43229 /* 121239 */ GIM_Reject,
43230 /* 121240 */ // Label 2672: @121240
43231 /* 121240 */ GIM_Reject,
43232 /* 121241 */ // Label 2634: @121241
43233 /* 121241 */ GIM_Try, /*On fail goto*//*Label 2676*/ GIMT_Encode4(121343),
43234 /* 121246 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
43235 /* 121249 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
43236 /* 121252 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
43237 /* 121255 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43238 /* 121259 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43239 /* 121263 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43240 /* 121267 */ GIM_Try, /*On fail goto*//*Label 2677*/ GIMT_Encode4(121323), // Rule ID 14118 //
43241 /* 121272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
43242 /* 121275 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43243 /* 121279 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43244 /* 121283 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43245 /* 121286 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43246 /* 121290 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43247 /* 121294 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43248 /* 121296 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43249 /* 121303 */ // (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)
43250 /* 121303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZm),
43251 /* 121306 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43252 /* 121308 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
43253 /* 121310 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
43254 /* 121312 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43255 /* 121316 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43256 /* 121321 */ GIR_RootConstrainSelectedInstOperands,
43257 /* 121322 */ // GIR_Coverage, 14118,
43258 /* 121322 */ GIR_EraseRootFromParent_Done,
43259 /* 121323 */ // Label 2677: @121323
43260 /* 121323 */ GIM_Try, /*On fail goto*//*Label 2678*/ GIMT_Encode4(121342), // Rule ID 14115 //
43261 /* 121328 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
43262 /* 121331 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43263 /* 121335 */ // (fshl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src3) => (VPSHLDVQZr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src3)
43264 /* 121335 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSHLDVQZr),
43265 /* 121340 */ GIR_RootConstrainSelectedInstOperands,
43266 /* 121341 */ // GIR_Coverage, 14115,
43267 /* 121341 */ GIR_Done,
43268 /* 121342 */ // Label 2678: @121342
43269 /* 121342 */ GIM_Reject,
43270 /* 121343 */ // Label 2676: @121343
43271 /* 121343 */ GIM_Reject,
43272 /* 121344 */ // Label 2635: @121344
43273 /* 121344 */ GIM_Reject,
43274 /* 121345 */ // Label 31: @121345
43275 /* 121345 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(25), /*)*//*default:*//*Label 2690*/ GIMT_Encode4(124119),
43276 /* 121356 */ /*GILLT_s32*//*Label 2679*/ GIMT_Encode4(121444),
43277 /* 121360 */ /*GILLT_s64*//*Label 2680*/ GIMT_Encode4(121622), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
43278 /* 121408 */ /*GILLT_v8s16*//*Label 2681*/ GIMT_Encode4(121800),
43279 /* 121412 */ /*GILLT_v16s16*//*Label 2682*/ GIMT_Encode4(122144),
43280 /* 121416 */ /*GILLT_v32s16*//*Label 2683*/ GIMT_Encode4(122464),
43281 /* 121420 */ /*GILLT_v4s32*//*Label 2684*/ GIMT_Encode4(122573),
43282 /* 121424 */ /*GILLT_v8s32*//*Label 2685*/ GIMT_Encode4(122917),
43283 /* 121428 */ /*GILLT_v16s32*//*Label 2686*/ GIMT_Encode4(123237),
43284 /* 121432 */ /*GILLT_v2s64*//*Label 2687*/ GIMT_Encode4(123346),
43285 /* 121436 */ /*GILLT_v4s64*//*Label 2688*/ GIMT_Encode4(123690),
43286 /* 121440 */ /*GILLT_v8s64*//*Label 2689*/ GIMT_Encode4(124010),
43287 /* 121444 */ // Label 2679: @121444
43288 /* 121444 */ GIM_Try, /*On fail goto*//*Label 2691*/ GIMT_Encode4(121621),
43289 /* 121449 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
43290 /* 121452 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
43291 /* 121455 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
43292 /* 121458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43293 /* 121462 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43294 /* 121466 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
43295 /* 121470 */ GIM_Try, /*On fail goto*//*Label 2692*/ GIMT_Encode4(121505), // Rule ID 822 //
43296 /* 121475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43297 /* 121478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43298 /* 121482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43299 /* 121486 */ // MIs[1] Operand 1
43300 /* 121486 */ // No operand predicates
43301 /* 121486 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43302 /* 121488 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD32rri8:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
43303 /* 121488 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rri8),
43304 /* 121491 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43305 /* 121493 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43306 /* 121495 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43307 /* 121497 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
43308 /* 121500 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43309 /* 121503 */ GIR_RootConstrainSelectedInstOperands,
43310 /* 121504 */ // GIR_Coverage, 822,
43311 /* 121504 */ GIR_EraseRootFromParent_Done,
43312 /* 121505 */ // Label 2692: @121505
43313 /* 121505 */ GIM_Try, /*On fail goto*//*Label 2693*/ GIMT_Encode4(121540), // Rule ID 828 //
43314 /* 121510 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43315 /* 121513 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43316 /* 121517 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43317 /* 121521 */ // MIs[1] Operand 1
43318 /* 121521 */ // No operand predicates
43319 /* 121521 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43320 /* 121523 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD32rri8_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
43321 /* 121523 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rri8_ND),
43322 /* 121526 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43323 /* 121528 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43324 /* 121530 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43325 /* 121532 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
43326 /* 121535 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43327 /* 121538 */ GIR_RootConstrainSelectedInstOperands,
43328 /* 121539 */ // GIR_Coverage, 828,
43329 /* 121539 */ GIR_EraseRootFromParent_Done,
43330 /* 121540 */ // Label 2693: @121540
43331 /* 121540 */ GIM_Try, /*On fail goto*//*Label 2694*/ GIMT_Encode4(121580), // Rule ID 825 //
43332 /* 121545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43333 /* 121548 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43334 /* 121552 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHRD32rrCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
43335 /* 121552 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43336 /* 121556 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43337 /* 121562 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43338 /* 121566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rrCL),
43339 /* 121569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43340 /* 121571 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43341 /* 121573 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43342 /* 121575 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43343 /* 121578 */ GIR_RootConstrainSelectedInstOperands,
43344 /* 121579 */ // GIR_Coverage, 825,
43345 /* 121579 */ GIR_EraseRootFromParent_Done,
43346 /* 121580 */ // Label 2694: @121580
43347 /* 121580 */ GIM_Try, /*On fail goto*//*Label 2695*/ GIMT_Encode4(121620), // Rule ID 831 //
43348 /* 121585 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43349 /* 121588 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43350 /* 121592 */ // (fshr:{ *:[i32] } GR32:{ *:[i32] }:$src2, GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (SHRD32rrCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, GR32:{ *:[i32] }:$src2)
43351 /* 121592 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43352 /* 121596 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43353 /* 121602 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43354 /* 121606 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD32rrCL_ND),
43355 /* 121609 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43356 /* 121611 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43357 /* 121613 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43358 /* 121615 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43359 /* 121618 */ GIR_RootConstrainSelectedInstOperands,
43360 /* 121619 */ // GIR_Coverage, 831,
43361 /* 121619 */ GIR_EraseRootFromParent_Done,
43362 /* 121620 */ // Label 2695: @121620
43363 /* 121620 */ GIM_Reject,
43364 /* 121621 */ // Label 2691: @121621
43365 /* 121621 */ GIM_Reject,
43366 /* 121622 */ // Label 2680: @121622
43367 /* 121622 */ GIM_Try, /*On fail goto*//*Label 2696*/ GIMT_Encode4(121799),
43368 /* 121627 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
43369 /* 121630 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
43370 /* 121633 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s8,
43371 /* 121636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43372 /* 121640 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43373 /* 121644 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
43374 /* 121648 */ GIM_Try, /*On fail goto*//*Label 2697*/ GIMT_Encode4(121683), // Rule ID 823 //
43375 /* 121653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43376 /* 121656 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43377 /* 121660 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43378 /* 121664 */ // MIs[1] Operand 1
43379 /* 121664 */ // No operand predicates
43380 /* 121664 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43381 /* 121666 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD64rri8:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
43382 /* 121666 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rri8),
43383 /* 121669 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43384 /* 121671 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43385 /* 121673 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43386 /* 121675 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
43387 /* 121678 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43388 /* 121681 */ GIR_RootConstrainSelectedInstOperands,
43389 /* 121682 */ // GIR_Coverage, 823,
43390 /* 121682 */ GIR_EraseRootFromParent_Done,
43391 /* 121683 */ // Label 2697: @121683
43392 /* 121683 */ GIM_Try, /*On fail goto*//*Label 2698*/ GIMT_Encode4(121718), // Rule ID 829 //
43393 /* 121688 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43394 /* 121691 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43395 /* 121695 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
43396 /* 121699 */ // MIs[1] Operand 1
43397 /* 121699 */ // No operand predicates
43398 /* 121699 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43399 /* 121701 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src3) => (SHRD64rri8_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
43400 /* 121701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rri8_ND),
43401 /* 121704 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43402 /* 121706 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43403 /* 121708 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43404 /* 121710 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src3
43405 /* 121713 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43406 /* 121716 */ GIR_RootConstrainSelectedInstOperands,
43407 /* 121717 */ // GIR_Coverage, 829,
43408 /* 121717 */ GIR_EraseRootFromParent_Done,
43409 /* 121718 */ // Label 2698: @121718
43410 /* 121718 */ GIM_Try, /*On fail goto*//*Label 2699*/ GIMT_Encode4(121758), // Rule ID 826 //
43411 /* 121723 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
43412 /* 121726 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43413 /* 121730 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHRD64rrCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
43414 /* 121730 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43415 /* 121734 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43416 /* 121740 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43417 /* 121744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rrCL),
43418 /* 121747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43419 /* 121749 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43420 /* 121751 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43421 /* 121753 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43422 /* 121756 */ GIR_RootConstrainSelectedInstOperands,
43423 /* 121757 */ // GIR_Coverage, 826,
43424 /* 121757 */ GIR_EraseRootFromParent_Done,
43425 /* 121758 */ // Label 2699: @121758
43426 /* 121758 */ GIM_Try, /*On fail goto*//*Label 2700*/ GIMT_Encode4(121798), // Rule ID 832 //
43427 /* 121763 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
43428 /* 121766 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
43429 /* 121770 */ // (fshr:{ *:[i64] } GR64:{ *:[i64] }:$src2, GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (SHRD64rrCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, GR64:{ *:[i64] }:$src2)
43430 /* 121770 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43431 /* 121774 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43432 /* 121780 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/3, // CL
43433 /* 121784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRD64rrCL_ND),
43434 /* 121787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43435 /* 121789 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43436 /* 121791 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43437 /* 121793 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
43438 /* 121796 */ GIR_RootConstrainSelectedInstOperands,
43439 /* 121797 */ // GIR_Coverage, 832,
43440 /* 121797 */ GIR_EraseRootFromParent_Done,
43441 /* 121798 */ // Label 2700: @121798
43442 /* 121798 */ GIM_Reject,
43443 /* 121799 */ // Label 2696: @121799
43444 /* 121799 */ GIM_Reject,
43445 /* 121800 */ // Label 2681: @121800
43446 /* 121800 */ GIM_Try, /*On fail goto*//*Label 2701*/ GIMT_Encode4(122143),
43447 /* 121805 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
43448 /* 121808 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
43449 /* 121811 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
43450 /* 121814 */ GIM_Try, /*On fail goto*//*Label 2702*/ GIMT_Encode4(121882), // Rule ID 14157 //
43451 /* 121819 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43452 /* 121822 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43453 /* 121826 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43454 /* 121830 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43455 /* 121834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43456 /* 121838 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43457 /* 121842 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43458 /* 121845 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43459 /* 121849 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43460 /* 121853 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43461 /* 121855 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43462 /* 121862 */ // (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)
43463 /* 121862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ128m),
43464 /* 121865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43465 /* 121867 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43466 /* 121869 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43467 /* 121871 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43468 /* 121875 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43469 /* 121880 */ GIR_RootConstrainSelectedInstOperands,
43470 /* 121881 */ // GIR_Coverage, 14157,
43471 /* 121881 */ GIR_EraseRootFromParent_Done,
43472 /* 121882 */ // Label 2702: @121882
43473 /* 121882 */ GIM_Try, /*On fail goto*//*Label 2703*/ GIMT_Encode4(121919), // Rule ID 14154 //
43474 /* 121887 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43475 /* 121890 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43476 /* 121894 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43477 /* 121898 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43478 /* 121902 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43479 /* 121906 */ // (fshr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src3) => (VPSHRDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2, VR128X:{ *:[v8i16] }:$src3)
43480 /* 121906 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ128r),
43481 /* 121909 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43482 /* 121911 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43483 /* 121913 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43484 /* 121915 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43485 /* 121917 */ GIR_RootConstrainSelectedInstOperands,
43486 /* 121918 */ // GIR_Coverage, 14154,
43487 /* 121918 */ GIR_EraseRootFromParent_Done,
43488 /* 121919 */ // Label 2703: @121919
43489 /* 121919 */ GIM_Try, /*On fail goto*//*Label 2704*/ GIMT_Encode4(122142), // Rule ID 22146 //
43490 /* 121924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
43491 /* 121927 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
43492 /* 121931 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43493 /* 121935 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43494 /* 121939 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43495 /* 121943 */ // (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] })
43496 /* 121943 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
43497 /* 121946 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43498 /* 121950 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43499 /* 121955 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43500 /* 121957 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
43501 /* 121960 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43502 /* 121964 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43503 /* 121969 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43504 /* 121972 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
43505 /* 121976 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
43506 /* 121979 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43507 /* 121984 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43508 /* 121989 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43509 /* 121994 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
43510 /* 121997 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43511 /* 122001 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43512 /* 122006 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43513 /* 122008 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
43514 /* 122011 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43515 /* 122015 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43516 /* 122020 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43517 /* 122023 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
43518 /* 122027 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
43519 /* 122030 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43520 /* 122035 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43521 /* 122040 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43522 /* 122045 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
43523 /* 122048 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43524 /* 122052 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43525 /* 122057 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43526 /* 122059 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
43527 /* 122062 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43528 /* 122066 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43529 /* 122071 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43530 /* 122074 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
43531 /* 122078 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
43532 /* 122081 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43533 /* 122086 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43534 /* 122091 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43535 /* 122096 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43536 /* 122099 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
43537 /* 122103 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43538 /* 122108 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43539 /* 122111 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43540 /* 122114 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43541 /* 122117 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43542 /* 122119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43543 /* 122122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43544 /* 122124 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
43545 /* 122131 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
43546 /* 122136 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43547 /* 122141 */ // GIR_Coverage, 22146,
43548 /* 122141 */ GIR_EraseRootFromParent_Done,
43549 /* 122142 */ // Label 2704: @122142
43550 /* 122142 */ GIM_Reject,
43551 /* 122143 */ // Label 2701: @122143
43552 /* 122143 */ GIM_Reject,
43553 /* 122144 */ // Label 2682: @122144
43554 /* 122144 */ GIM_Try, /*On fail goto*//*Label 2705*/ GIMT_Encode4(122463),
43555 /* 122149 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
43556 /* 122152 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
43557 /* 122155 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
43558 /* 122158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43559 /* 122162 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43560 /* 122166 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43561 /* 122170 */ GIM_Try, /*On fail goto*//*Label 2706*/ GIMT_Encode4(122226), // Rule ID 14151 //
43562 /* 122175 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43563 /* 122178 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43564 /* 122182 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43565 /* 122186 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43566 /* 122189 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43567 /* 122193 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43568 /* 122197 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43569 /* 122199 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43570 /* 122206 */ // (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)
43571 /* 122206 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ256m),
43572 /* 122209 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43573 /* 122211 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43574 /* 122213 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43575 /* 122215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43576 /* 122219 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43577 /* 122224 */ GIR_RootConstrainSelectedInstOperands,
43578 /* 122225 */ // GIR_Coverage, 14151,
43579 /* 122225 */ GIR_EraseRootFromParent_Done,
43580 /* 122226 */ // Label 2706: @122226
43581 /* 122226 */ GIM_Try, /*On fail goto*//*Label 2707*/ GIMT_Encode4(122251), // Rule ID 14148 //
43582 /* 122231 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43583 /* 122234 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43584 /* 122238 */ // (fshr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src3) => (VPSHRDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2, VR256X:{ *:[v16i16] }:$src3)
43585 /* 122238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ256r),
43586 /* 122241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43587 /* 122243 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43588 /* 122245 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43589 /* 122247 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43590 /* 122249 */ GIR_RootConstrainSelectedInstOperands,
43591 /* 122250 */ // GIR_Coverage, 14148,
43592 /* 122250 */ GIR_EraseRootFromParent_Done,
43593 /* 122251 */ // Label 2707: @122251
43594 /* 122251 */ GIM_Try, /*On fail goto*//*Label 2708*/ GIMT_Encode4(122462), // Rule ID 22142 //
43595 /* 122256 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
43596 /* 122259 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43597 /* 122263 */ // (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] })
43598 /* 122263 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
43599 /* 122266 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43600 /* 122270 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43601 /* 122275 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43602 /* 122277 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
43603 /* 122280 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43604 /* 122284 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43605 /* 122289 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43606 /* 122292 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
43607 /* 122296 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
43608 /* 122299 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43609 /* 122304 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43610 /* 122309 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43611 /* 122314 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
43612 /* 122317 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43613 /* 122321 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43614 /* 122326 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43615 /* 122328 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
43616 /* 122331 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43617 /* 122335 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43618 /* 122340 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43619 /* 122343 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
43620 /* 122347 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
43621 /* 122350 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43622 /* 122355 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43623 /* 122360 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43624 /* 122365 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
43625 /* 122368 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43626 /* 122372 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43627 /* 122377 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43628 /* 122379 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
43629 /* 122382 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43630 /* 122386 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43631 /* 122391 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43632 /* 122394 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
43633 /* 122398 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
43634 /* 122401 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43635 /* 122406 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43636 /* 122411 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43637 /* 122416 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43638 /* 122419 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
43639 /* 122423 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43640 /* 122428 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43641 /* 122431 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43642 /* 122434 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43643 /* 122437 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43644 /* 122439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43645 /* 122442 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43646 /* 122444 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
43647 /* 122451 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
43648 /* 122456 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43649 /* 122461 */ // GIR_Coverage, 22142,
43650 /* 122461 */ GIR_EraseRootFromParent_Done,
43651 /* 122462 */ // Label 2708: @122462
43652 /* 122462 */ GIM_Reject,
43653 /* 122463 */ // Label 2705: @122463
43654 /* 122463 */ GIM_Reject,
43655 /* 122464 */ // Label 2683: @122464
43656 /* 122464 */ GIM_Try, /*On fail goto*//*Label 2709*/ GIMT_Encode4(122572),
43657 /* 122469 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
43658 /* 122472 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
43659 /* 122475 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
43660 /* 122478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43661 /* 122482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43662 /* 122486 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43663 /* 122490 */ GIM_Try, /*On fail goto*//*Label 2710*/ GIMT_Encode4(122546), // Rule ID 14145 //
43664 /* 122495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
43665 /* 122498 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43666 /* 122502 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43667 /* 122506 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43668 /* 122509 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43669 /* 122513 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43670 /* 122517 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43671 /* 122519 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43672 /* 122526 */ // (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)
43673 /* 122526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZm),
43674 /* 122529 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43675 /* 122531 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43676 /* 122533 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43677 /* 122535 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43678 /* 122539 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43679 /* 122544 */ GIR_RootConstrainSelectedInstOperands,
43680 /* 122545 */ // GIR_Coverage, 14145,
43681 /* 122545 */ GIR_EraseRootFromParent_Done,
43682 /* 122546 */ // Label 2710: @122546
43683 /* 122546 */ GIM_Try, /*On fail goto*//*Label 2711*/ GIMT_Encode4(122571), // Rule ID 14142 //
43684 /* 122551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
43685 /* 122554 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43686 /* 122558 */ // (fshr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src3) => (VPSHRDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2, VR512:{ *:[v32i16] }:$src3)
43687 /* 122558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
43688 /* 122561 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43689 /* 122563 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43690 /* 122565 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43691 /* 122567 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43692 /* 122569 */ GIR_RootConstrainSelectedInstOperands,
43693 /* 122570 */ // GIR_Coverage, 14142,
43694 /* 122570 */ GIR_EraseRootFromParent_Done,
43695 /* 122571 */ // Label 2711: @122571
43696 /* 122571 */ GIM_Reject,
43697 /* 122572 */ // Label 2709: @122572
43698 /* 122572 */ GIM_Reject,
43699 /* 122573 */ // Label 2684: @122573
43700 /* 122573 */ GIM_Try, /*On fail goto*//*Label 2712*/ GIMT_Encode4(122916),
43701 /* 122578 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
43702 /* 122581 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
43703 /* 122584 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
43704 /* 122587 */ GIM_Try, /*On fail goto*//*Label 2713*/ GIMT_Encode4(122655), // Rule ID 14181 //
43705 /* 122592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43706 /* 122595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43707 /* 122599 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43708 /* 122603 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43709 /* 122607 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43710 /* 122611 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43711 /* 122615 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43712 /* 122618 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43713 /* 122622 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43714 /* 122626 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43715 /* 122628 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43716 /* 122635 */ // (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)
43717 /* 122635 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ128m),
43718 /* 122638 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43719 /* 122640 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43720 /* 122642 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43721 /* 122644 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43722 /* 122648 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43723 /* 122653 */ GIR_RootConstrainSelectedInstOperands,
43724 /* 122654 */ // GIR_Coverage, 14181,
43725 /* 122654 */ GIR_EraseRootFromParent_Done,
43726 /* 122655 */ // Label 2713: @122655
43727 /* 122655 */ GIM_Try, /*On fail goto*//*Label 2714*/ GIMT_Encode4(122692), // Rule ID 14178 //
43728 /* 122660 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43729 /* 122663 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43730 /* 122667 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43731 /* 122671 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43732 /* 122675 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43733 /* 122679 */ // (fshr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src3) => (VPSHRDVDZ128r:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2, VR128X:{ *:[v4i32] }:$src3)
43734 /* 122679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ128r),
43735 /* 122682 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43736 /* 122684 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43737 /* 122686 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43738 /* 122688 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43739 /* 122690 */ GIR_RootConstrainSelectedInstOperands,
43740 /* 122691 */ // GIR_Coverage, 14178,
43741 /* 122691 */ GIR_EraseRootFromParent_Done,
43742 /* 122692 */ // Label 2714: @122692
43743 /* 122692 */ GIM_Try, /*On fail goto*//*Label 2715*/ GIMT_Encode4(122915), // Rule ID 22138 //
43744 /* 122697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
43745 /* 122700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
43746 /* 122704 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43747 /* 122708 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43748 /* 122712 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43749 /* 122716 */ // (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] })
43750 /* 122716 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v16s32,
43751 /* 122719 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43752 /* 122723 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43753 /* 122728 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43754 /* 122730 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
43755 /* 122733 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43756 /* 122737 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43757 /* 122742 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43758 /* 122745 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
43759 /* 122749 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
43760 /* 122752 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43761 /* 122757 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43762 /* 122762 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43763 /* 122767 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
43764 /* 122770 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43765 /* 122774 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43766 /* 122779 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43767 /* 122781 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
43768 /* 122784 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43769 /* 122788 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43770 /* 122793 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43771 /* 122796 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
43772 /* 122800 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
43773 /* 122803 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43774 /* 122808 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43775 /* 122813 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43776 /* 122818 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
43777 /* 122821 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43778 /* 122825 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43779 /* 122830 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43780 /* 122832 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
43781 /* 122835 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43782 /* 122839 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43783 /* 122844 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43784 /* 122847 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
43785 /* 122851 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
43786 /* 122854 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43787 /* 122859 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43788 /* 122864 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
43789 /* 122869 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43790 /* 122872 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZr),
43791 /* 122876 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43792 /* 122881 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43793 /* 122884 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43794 /* 122887 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43795 /* 122890 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43796 /* 122892 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43797 /* 122895 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43798 /* 122897 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
43799 /* 122904 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
43800 /* 122909 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43801 /* 122914 */ // GIR_Coverage, 22138,
43802 /* 122914 */ GIR_EraseRootFromParent_Done,
43803 /* 122915 */ // Label 2715: @122915
43804 /* 122915 */ GIM_Reject,
43805 /* 122916 */ // Label 2712: @122916
43806 /* 122916 */ GIM_Reject,
43807 /* 122917 */ // Label 2685: @122917
43808 /* 122917 */ GIM_Try, /*On fail goto*//*Label 2716*/ GIMT_Encode4(123236),
43809 /* 122922 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
43810 /* 122925 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
43811 /* 122928 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
43812 /* 122931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43813 /* 122935 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43814 /* 122939 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43815 /* 122943 */ GIM_Try, /*On fail goto*//*Label 2717*/ GIMT_Encode4(122999), // Rule ID 14172 //
43816 /* 122948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43817 /* 122951 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43818 /* 122955 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43819 /* 122959 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43820 /* 122962 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43821 /* 122966 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43822 /* 122970 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43823 /* 122972 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43824 /* 122979 */ // (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)
43825 /* 122979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ256m),
43826 /* 122982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43827 /* 122984 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43828 /* 122986 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43829 /* 122988 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43830 /* 122992 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43831 /* 122997 */ GIR_RootConstrainSelectedInstOperands,
43832 /* 122998 */ // GIR_Coverage, 14172,
43833 /* 122998 */ GIR_EraseRootFromParent_Done,
43834 /* 122999 */ // Label 2717: @122999
43835 /* 122999 */ GIM_Try, /*On fail goto*//*Label 2718*/ GIMT_Encode4(123024), // Rule ID 14169 //
43836 /* 123004 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43837 /* 123007 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43838 /* 123011 */ // (fshr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src3) => (VPSHRDVDZ256r:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2, VR256X:{ *:[v8i32] }:$src3)
43839 /* 123011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZ256r),
43840 /* 123014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43841 /* 123016 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43842 /* 123018 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43843 /* 123020 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43844 /* 123022 */ GIR_RootConstrainSelectedInstOperands,
43845 /* 123023 */ // GIR_Coverage, 14169,
43846 /* 123023 */ GIR_EraseRootFromParent_Done,
43847 /* 123024 */ // Label 2718: @123024
43848 /* 123024 */ GIM_Try, /*On fail goto*//*Label 2719*/ GIMT_Encode4(123235), // Rule ID 22134 //
43849 /* 123029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
43850 /* 123032 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
43851 /* 123036 */ // (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] })
43852 /* 123036 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v16s32,
43853 /* 123039 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43854 /* 123043 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43855 /* 123048 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
43856 /* 123050 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
43857 /* 123053 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43858 /* 123057 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43859 /* 123062 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
43860 /* 123065 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
43861 /* 123069 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
43862 /* 123072 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43863 /* 123077 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43864 /* 123082 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43865 /* 123087 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
43866 /* 123090 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43867 /* 123094 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43868 /* 123099 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
43869 /* 123101 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
43870 /* 123104 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43871 /* 123108 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43872 /* 123113 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
43873 /* 123116 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
43874 /* 123120 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
43875 /* 123123 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43876 /* 123128 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43877 /* 123133 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43878 /* 123138 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
43879 /* 123141 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
43880 /* 123145 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43881 /* 123150 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
43882 /* 123152 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
43883 /* 123155 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
43884 /* 123159 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43885 /* 123164 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
43886 /* 123167 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
43887 /* 123171 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
43888 /* 123174 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
43889 /* 123179 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43890 /* 123184 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
43891 /* 123189 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
43892 /* 123192 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZr),
43893 /* 123196 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
43894 /* 123201 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
43895 /* 123204 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
43896 /* 123207 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
43897 /* 123210 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
43898 /* 123212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
43899 /* 123215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43900 /* 123217 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
43901 /* 123224 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
43902 /* 123229 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
43903 /* 123234 */ // GIR_Coverage, 22134,
43904 /* 123234 */ GIR_EraseRootFromParent_Done,
43905 /* 123235 */ // Label 2719: @123235
43906 /* 123235 */ GIM_Reject,
43907 /* 123236 */ // Label 2716: @123236
43908 /* 123236 */ GIM_Reject,
43909 /* 123237 */ // Label 2686: @123237
43910 /* 123237 */ GIM_Try, /*On fail goto*//*Label 2720*/ GIMT_Encode4(123345),
43911 /* 123242 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
43912 /* 123245 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
43913 /* 123248 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
43914 /* 123251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43915 /* 123255 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43916 /* 123259 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43917 /* 123263 */ GIM_Try, /*On fail goto*//*Label 2721*/ GIMT_Encode4(123319), // Rule ID 14163 //
43918 /* 123268 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
43919 /* 123271 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43920 /* 123275 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43921 /* 123279 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43922 /* 123282 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43923 /* 123286 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43924 /* 123290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43925 /* 123292 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43926 /* 123299 */ // (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)
43927 /* 123299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZm),
43928 /* 123302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43929 /* 123304 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43930 /* 123306 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43931 /* 123308 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43932 /* 123312 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43933 /* 123317 */ GIR_RootConstrainSelectedInstOperands,
43934 /* 123318 */ // GIR_Coverage, 14163,
43935 /* 123318 */ GIR_EraseRootFromParent_Done,
43936 /* 123319 */ // Label 2721: @123319
43937 /* 123319 */ GIM_Try, /*On fail goto*//*Label 2722*/ GIMT_Encode4(123344), // Rule ID 14160 //
43938 /* 123324 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
43939 /* 123327 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
43940 /* 123331 */ // (fshr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src3) => (VPSHRDVDZr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2, VR512:{ *:[v16i32] }:$src3)
43941 /* 123331 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVDZr),
43942 /* 123334 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43943 /* 123336 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43944 /* 123338 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43945 /* 123340 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43946 /* 123342 */ GIR_RootConstrainSelectedInstOperands,
43947 /* 123343 */ // GIR_Coverage, 14160,
43948 /* 123343 */ GIR_EraseRootFromParent_Done,
43949 /* 123344 */ // Label 2722: @123344
43950 /* 123344 */ GIM_Reject,
43951 /* 123345 */ // Label 2720: @123345
43952 /* 123345 */ GIM_Reject,
43953 /* 123346 */ // Label 2687: @123346
43954 /* 123346 */ GIM_Try, /*On fail goto*//*Label 2723*/ GIMT_Encode4(123689),
43955 /* 123351 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
43956 /* 123354 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
43957 /* 123357 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
43958 /* 123360 */ GIM_Try, /*On fail goto*//*Label 2724*/ GIMT_Encode4(123428), // Rule ID 14208 //
43959 /* 123365 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43960 /* 123368 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43961 /* 123372 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43962 /* 123376 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43963 /* 123380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
43964 /* 123384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
43965 /* 123388 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
43966 /* 123391 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
43967 /* 123395 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
43968 /* 123399 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
43969 /* 123401 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
43970 /* 123408 */ // (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)
43971 /* 123408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ128m),
43972 /* 123411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43973 /* 123413 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43974 /* 123415 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43975 /* 123417 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
43976 /* 123421 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
43977 /* 123426 */ GIR_RootConstrainSelectedInstOperands,
43978 /* 123427 */ // GIR_Coverage, 14208,
43979 /* 123427 */ GIR_EraseRootFromParent_Done,
43980 /* 123428 */ // Label 2724: @123428
43981 /* 123428 */ GIM_Try, /*On fail goto*//*Label 2725*/ GIMT_Encode4(123465), // Rule ID 14205 //
43982 /* 123433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
43983 /* 123436 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43984 /* 123440 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43985 /* 123444 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43986 /* 123448 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
43987 /* 123452 */ // (fshr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src3) => (VPSHRDVQZ128r:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2, VR128X:{ *:[v2i64] }:$src3)
43988 /* 123452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ128r),
43989 /* 123455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
43990 /* 123457 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
43991 /* 123459 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
43992 /* 123461 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
43993 /* 123463 */ GIR_RootConstrainSelectedInstOperands,
43994 /* 123464 */ // GIR_Coverage, 14205,
43995 /* 123464 */ GIR_EraseRootFromParent_Done,
43996 /* 123465 */ // Label 2725: @123465
43997 /* 123465 */ GIM_Try, /*On fail goto*//*Label 2726*/ GIMT_Encode4(123688), // Rule ID 22130 //
43998 /* 123470 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
43999 /* 123473 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
44000 /* 123477 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44001 /* 123481 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44002 /* 123485 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44003 /* 123489 */ // (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] })
44004 /* 123489 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
44005 /* 123492 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44006 /* 123496 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44007 /* 123501 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
44008 /* 123503 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
44009 /* 123506 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44010 /* 123510 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44011 /* 123515 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
44012 /* 123518 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
44013 /* 123522 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
44014 /* 123525 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44015 /* 123530 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44016 /* 123535 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44017 /* 123540 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
44018 /* 123543 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44019 /* 123547 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44020 /* 123552 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44021 /* 123554 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
44022 /* 123557 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44023 /* 123561 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44024 /* 123566 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44025 /* 123569 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
44026 /* 123573 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
44027 /* 123576 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44028 /* 123581 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44029 /* 123586 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44030 /* 123591 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
44031 /* 123594 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44032 /* 123598 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44033 /* 123603 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44034 /* 123605 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
44035 /* 123608 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44036 /* 123612 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44037 /* 123617 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44038 /* 123620 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
44039 /* 123624 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
44040 /* 123627 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44041 /* 123632 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44042 /* 123637 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44043 /* 123642 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
44044 /* 123645 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZr),
44045 /* 123649 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44046 /* 123654 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44047 /* 123657 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44048 /* 123660 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
44049 /* 123663 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44050 /* 123665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44051 /* 123668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44052 /* 123670 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
44053 /* 123677 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
44054 /* 123682 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44055 /* 123687 */ // GIR_Coverage, 22130,
44056 /* 123687 */ GIR_EraseRootFromParent_Done,
44057 /* 123688 */ // Label 2726: @123688
44058 /* 123688 */ GIM_Reject,
44059 /* 123689 */ // Label 2723: @123689
44060 /* 123689 */ GIM_Reject,
44061 /* 123690 */ // Label 2688: @123690
44062 /* 123690 */ GIM_Try, /*On fail goto*//*Label 2727*/ GIMT_Encode4(124009),
44063 /* 123695 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
44064 /* 123698 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
44065 /* 123701 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
44066 /* 123704 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44067 /* 123708 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44068 /* 123712 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44069 /* 123716 */ GIM_Try, /*On fail goto*//*Label 2728*/ GIMT_Encode4(123772), // Rule ID 14199 //
44070 /* 123721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44071 /* 123724 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44072 /* 123728 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44073 /* 123732 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44074 /* 123735 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44075 /* 123739 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44076 /* 123743 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44077 /* 123745 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44078 /* 123752 */ // (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)
44079 /* 123752 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ256m),
44080 /* 123755 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44081 /* 123757 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44082 /* 123759 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44083 /* 123761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44084 /* 123765 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44085 /* 123770 */ GIR_RootConstrainSelectedInstOperands,
44086 /* 123771 */ // GIR_Coverage, 14199,
44087 /* 123771 */ GIR_EraseRootFromParent_Done,
44088 /* 123772 */ // Label 2728: @123772
44089 /* 123772 */ GIM_Try, /*On fail goto*//*Label 2729*/ GIMT_Encode4(123797), // Rule ID 14196 //
44090 /* 123777 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44091 /* 123780 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44092 /* 123784 */ // (fshr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src3) => (VPSHRDVQZ256r:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2, VR256X:{ *:[v4i64] }:$src3)
44093 /* 123784 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZ256r),
44094 /* 123787 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44095 /* 123789 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44096 /* 123791 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44097 /* 123793 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
44098 /* 123795 */ GIR_RootConstrainSelectedInstOperands,
44099 /* 123796 */ // GIR_Coverage, 14196,
44100 /* 123796 */ GIR_EraseRootFromParent_Done,
44101 /* 123797 */ // Label 2729: @123797
44102 /* 123797 */ GIM_Try, /*On fail goto*//*Label 2730*/ GIMT_Encode4(124008), // Rule ID 22126 //
44103 /* 123802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
44104 /* 123805 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44105 /* 123809 */ // (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] })
44106 /* 123809 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v8s64,
44107 /* 123812 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44108 /* 123816 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44109 /* 123821 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
44110 /* 123823 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
44111 /* 123826 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44112 /* 123830 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44113 /* 123835 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
44114 /* 123838 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/3, // src3
44115 /* 123842 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
44116 /* 123845 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44117 /* 123850 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44118 /* 123855 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44119 /* 123860 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
44120 /* 123863 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44121 /* 123867 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44122 /* 123872 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44123 /* 123874 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
44124 /* 123877 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44125 /* 123881 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44126 /* 123886 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44127 /* 123889 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
44128 /* 123893 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
44129 /* 123896 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44130 /* 123901 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44131 /* 123906 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44132 /* 123911 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
44133 /* 123914 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44134 /* 123918 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44135 /* 123923 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44136 /* 123925 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
44137 /* 123928 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44138 /* 123932 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44139 /* 123937 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44140 /* 123940 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/2, // src2
44141 /* 123944 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
44142 /* 123947 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44143 /* 123952 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44144 /* 123957 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44145 /* 123962 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
44146 /* 123965 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZr),
44147 /* 123969 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44148 /* 123974 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44149 /* 123977 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44150 /* 123980 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
44151 /* 123983 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44152 /* 123985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44153 /* 123988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44154 /* 123990 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
44155 /* 123997 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
44156 /* 124002 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44157 /* 124007 */ // GIR_Coverage, 22126,
44158 /* 124007 */ GIR_EraseRootFromParent_Done,
44159 /* 124008 */ // Label 2730: @124008
44160 /* 124008 */ GIM_Reject,
44161 /* 124009 */ // Label 2727: @124009
44162 /* 124009 */ GIM_Reject,
44163 /* 124010 */ // Label 2689: @124010
44164 /* 124010 */ GIM_Try, /*On fail goto*//*Label 2731*/ GIMT_Encode4(124118),
44165 /* 124015 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
44166 /* 124018 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
44167 /* 124021 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
44168 /* 124024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44169 /* 124028 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44170 /* 124032 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44171 /* 124036 */ GIM_Try, /*On fail goto*//*Label 2732*/ GIMT_Encode4(124092), // Rule ID 14190 //
44172 /* 124041 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
44173 /* 124044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
44174 /* 124048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44175 /* 124052 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44176 /* 124055 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44177 /* 124059 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44178 /* 124063 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44179 /* 124065 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44180 /* 124072 */ // (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)
44181 /* 124072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZm),
44182 /* 124075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44183 /* 124077 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44184 /* 124079 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44185 /* 124081 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
44186 /* 124085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
44187 /* 124090 */ GIR_RootConstrainSelectedInstOperands,
44188 /* 124091 */ // GIR_Coverage, 14190,
44189 /* 124091 */ GIR_EraseRootFromParent_Done,
44190 /* 124092 */ // Label 2732: @124092
44191 /* 124092 */ GIM_Try, /*On fail goto*//*Label 2733*/ GIMT_Encode4(124117), // Rule ID 14187 //
44192 /* 124097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
44193 /* 124100 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44194 /* 124104 */ // (fshr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src3) => (VPSHRDVQZr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2, VR512:{ *:[v8i64] }:$src3)
44195 /* 124104 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVQZr),
44196 /* 124107 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44197 /* 124109 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
44198 /* 124111 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
44199 /* 124113 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
44200 /* 124115 */ GIR_RootConstrainSelectedInstOperands,
44201 /* 124116 */ // GIR_Coverage, 14187,
44202 /* 124116 */ GIR_EraseRootFromParent_Done,
44203 /* 124117 */ // Label 2733: @124117
44204 /* 124117 */ GIM_Reject,
44205 /* 124118 */ // Label 2731: @124118
44206 /* 124118 */ GIM_Reject,
44207 /* 124119 */ // Label 2690: @124119
44208 /* 124119 */ GIM_Reject,
44209 /* 124120 */ // Label 32: @124120
44210 /* 124120 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 2747*/ GIMT_Encode4(127359),
44211 /* 124131 */ /*GILLT_s8*//*Label 2734*/ GIMT_Encode4(124227),
44212 /* 124135 */ /*GILLT_s16*//*Label 2735*/ GIMT_Encode4(124438),
44213 /* 124139 */ /*GILLT_s32*//*Label 2736*/ GIMT_Encode4(124649),
44214 /* 124143 */ /*GILLT_s64*//*Label 2737*/ GIMT_Encode4(125113), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
44215 /* 124191 */ /*GILLT_v8s16*//*Label 2738*/ GIMT_Encode4(125577),
44216 /* 124195 */ /*GILLT_v16s16*//*Label 2739*/ GIMT_Encode4(125842),
44217 /* 124199 */ /*GILLT_v32s16*//*Label 2740*/ GIMT_Encode4(126095),
44218 /* 124203 */ /*GILLT_v4s32*//*Label 2741*/ GIMT_Encode4(126135),
44219 /* 124207 */ /*GILLT_v8s32*//*Label 2742*/ GIMT_Encode4(126402),
44220 /* 124211 */ /*GILLT_v16s32*//*Label 2743*/ GIMT_Encode4(126653),
44221 /* 124215 */ /*GILLT_v2s64*//*Label 2744*/ GIMT_Encode4(126747),
44222 /* 124219 */ /*GILLT_v4s64*//*Label 2745*/ GIMT_Encode4(127014),
44223 /* 124223 */ /*GILLT_v8s64*//*Label 2746*/ GIMT_Encode4(127265),
44224 /* 124227 */ // Label 2734: @124227
44225 /* 124227 */ GIM_Try, /*On fail goto*//*Label 2748*/ GIMT_Encode4(124437),
44226 /* 124232 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
44227 /* 124235 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44228 /* 124238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
44229 /* 124242 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
44230 /* 124246 */ GIM_Try, /*On fail goto*//*Label 2749*/ GIMT_Encode4(124270), // Rule ID 17566 //
44231 /* 124251 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44232 /* 124254 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
44233 /* 124258 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROL8r1:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44234 /* 124258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8r1),
44235 /* 124261 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44236 /* 124263 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44237 /* 124265 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44238 /* 124268 */ GIR_RootConstrainSelectedInstOperands,
44239 /* 124269 */ // GIR_Coverage, 17566,
44240 /* 124269 */ GIR_EraseRootFromParent_Done,
44241 /* 124270 */ // Label 2749: @124270
44242 /* 124270 */ GIM_Try, /*On fail goto*//*Label 2750*/ GIMT_Encode4(124294), // Rule ID 17574 //
44243 /* 124275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
44244 /* 124278 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
44245 /* 124282 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROL8r1_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44246 /* 124282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8r1_ND),
44247 /* 124285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44248 /* 124287 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44249 /* 124289 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44250 /* 124292 */ GIR_RootConstrainSelectedInstOperands,
44251 /* 124293 */ // GIR_Coverage, 17574,
44252 /* 124293 */ GIR_EraseRootFromParent_Done,
44253 /* 124294 */ // Label 2750: @124294
44254 /* 124294 */ GIM_Try, /*On fail goto*//*Label 2751*/ GIMT_Encode4(124327), // Rule ID 765 //
44255 /* 124299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44256 /* 124302 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44257 /* 124306 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44258 /* 124310 */ // MIs[1] Operand 1
44259 /* 124310 */ // No operand predicates
44260 /* 124310 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44261 /* 124312 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
44262 /* 124312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8ri),
44263 /* 124315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44264 /* 124317 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44265 /* 124319 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44266 /* 124322 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44267 /* 124325 */ GIR_RootConstrainSelectedInstOperands,
44268 /* 124326 */ // GIR_Coverage, 765,
44269 /* 124326 */ GIR_EraseRootFromParent_Done,
44270 /* 124327 */ // Label 2751: @124327
44271 /* 124327 */ GIM_Try, /*On fail goto*//*Label 2752*/ GIMT_Encode4(124360), // Rule ID 769 //
44272 /* 124332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44273 /* 124335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44274 /* 124339 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44275 /* 124343 */ // MIs[1] Operand 1
44276 /* 124343 */ // No operand predicates
44277 /* 124343 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44278 /* 124345 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
44279 /* 124345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8ri_ND),
44280 /* 124348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44281 /* 124350 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44282 /* 124352 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44283 /* 124355 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44284 /* 124358 */ GIR_RootConstrainSelectedInstOperands,
44285 /* 124359 */ // GIR_Coverage, 769,
44286 /* 124359 */ GIR_EraseRootFromParent_Done,
44287 /* 124360 */ // Label 2752: @124360
44288 /* 124360 */ GIM_Try, /*On fail goto*//*Label 2753*/ GIMT_Encode4(124398), // Rule ID 781 //
44289 /* 124365 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44290 /* 124368 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44291 /* 124372 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROR8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44292 /* 124372 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44293 /* 124376 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44294 /* 124382 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44295 /* 124386 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8rCL),
44296 /* 124389 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44297 /* 124391 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44298 /* 124393 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44299 /* 124396 */ GIR_RootConstrainSelectedInstOperands,
44300 /* 124397 */ // GIR_Coverage, 781,
44301 /* 124397 */ GIR_EraseRootFromParent_Done,
44302 /* 124398 */ // Label 2753: @124398
44303 /* 124398 */ GIM_Try, /*On fail goto*//*Label 2754*/ GIMT_Encode4(124436), // Rule ID 785 //
44304 /* 124403 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44305 /* 124406 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44306 /* 124410 */ // (rotr:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROR8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
44307 /* 124410 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44308 /* 124414 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44309 /* 124420 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44310 /* 124424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8rCL_ND),
44311 /* 124427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44312 /* 124429 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44313 /* 124431 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44314 /* 124434 */ GIR_RootConstrainSelectedInstOperands,
44315 /* 124435 */ // GIR_Coverage, 785,
44316 /* 124435 */ GIR_EraseRootFromParent_Done,
44317 /* 124436 */ // Label 2754: @124436
44318 /* 124436 */ GIM_Reject,
44319 /* 124437 */ // Label 2748: @124437
44320 /* 124437 */ GIM_Reject,
44321 /* 124438 */ // Label 2735: @124438
44322 /* 124438 */ GIM_Try, /*On fail goto*//*Label 2755*/ GIMT_Encode4(124648),
44323 /* 124443 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
44324 /* 124446 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44325 /* 124449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
44326 /* 124453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
44327 /* 124457 */ GIM_Try, /*On fail goto*//*Label 2756*/ GIMT_Encode4(124481), // Rule ID 17567 //
44328 /* 124462 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44329 /* 124465 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
44330 /* 124469 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROL16r1:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44331 /* 124469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16r1),
44332 /* 124472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44333 /* 124474 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44334 /* 124476 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44335 /* 124479 */ GIR_RootConstrainSelectedInstOperands,
44336 /* 124480 */ // GIR_Coverage, 17567,
44337 /* 124480 */ GIR_EraseRootFromParent_Done,
44338 /* 124481 */ // Label 2756: @124481
44339 /* 124481 */ GIM_Try, /*On fail goto*//*Label 2757*/ GIMT_Encode4(124505), // Rule ID 17575 //
44340 /* 124486 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
44341 /* 124489 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
44342 /* 124493 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROL16r1_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44343 /* 124493 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16r1_ND),
44344 /* 124496 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44345 /* 124498 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44346 /* 124500 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44347 /* 124503 */ GIR_RootConstrainSelectedInstOperands,
44348 /* 124504 */ // GIR_Coverage, 17575,
44349 /* 124504 */ GIR_EraseRootFromParent_Done,
44350 /* 124505 */ // Label 2757: @124505
44351 /* 124505 */ GIM_Try, /*On fail goto*//*Label 2758*/ GIMT_Encode4(124538), // Rule ID 766 //
44352 /* 124510 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44353 /* 124513 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44354 /* 124517 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44355 /* 124521 */ // MIs[1] Operand 1
44356 /* 124521 */ // No operand predicates
44357 /* 124521 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44358 /* 124523 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
44359 /* 124523 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16ri),
44360 /* 124526 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44361 /* 124528 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44362 /* 124530 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44363 /* 124533 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44364 /* 124536 */ GIR_RootConstrainSelectedInstOperands,
44365 /* 124537 */ // GIR_Coverage, 766,
44366 /* 124537 */ GIR_EraseRootFromParent_Done,
44367 /* 124538 */ // Label 2758: @124538
44368 /* 124538 */ GIM_Try, /*On fail goto*//*Label 2759*/ GIMT_Encode4(124571), // Rule ID 770 //
44369 /* 124543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44370 /* 124546 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44371 /* 124550 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44372 /* 124554 */ // MIs[1] Operand 1
44373 /* 124554 */ // No operand predicates
44374 /* 124554 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44375 /* 124556 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
44376 /* 124556 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16ri_ND),
44377 /* 124559 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44378 /* 124561 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44379 /* 124563 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44380 /* 124566 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44381 /* 124569 */ GIR_RootConstrainSelectedInstOperands,
44382 /* 124570 */ // GIR_Coverage, 770,
44383 /* 124570 */ GIR_EraseRootFromParent_Done,
44384 /* 124571 */ // Label 2759: @124571
44385 /* 124571 */ GIM_Try, /*On fail goto*//*Label 2760*/ GIMT_Encode4(124609), // Rule ID 782 //
44386 /* 124576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44387 /* 124579 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44388 /* 124583 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROR16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44389 /* 124583 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44390 /* 124587 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44391 /* 124593 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44392 /* 124597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16rCL),
44393 /* 124600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44394 /* 124602 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44395 /* 124604 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44396 /* 124607 */ GIR_RootConstrainSelectedInstOperands,
44397 /* 124608 */ // GIR_Coverage, 782,
44398 /* 124608 */ GIR_EraseRootFromParent_Done,
44399 /* 124609 */ // Label 2760: @124609
44400 /* 124609 */ GIM_Try, /*On fail goto*//*Label 2761*/ GIMT_Encode4(124647), // Rule ID 786 //
44401 /* 124614 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44402 /* 124617 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44403 /* 124621 */ // (rotr:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROR16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
44404 /* 124621 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44405 /* 124625 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44406 /* 124631 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44407 /* 124635 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16rCL_ND),
44408 /* 124638 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44409 /* 124640 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44410 /* 124642 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44411 /* 124645 */ GIR_RootConstrainSelectedInstOperands,
44412 /* 124646 */ // GIR_Coverage, 786,
44413 /* 124646 */ GIR_EraseRootFromParent_Done,
44414 /* 124647 */ // Label 2761: @124647
44415 /* 124647 */ GIM_Reject,
44416 /* 124648 */ // Label 2755: @124648
44417 /* 124648 */ GIM_Reject,
44418 /* 124649 */ // Label 2736: @124649
44419 /* 124649 */ GIM_Try, /*On fail goto*//*Label 2762*/ GIMT_Encode4(125112),
44420 /* 124654 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
44421 /* 124657 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44422 /* 124660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44423 /* 124664 */ GIM_Try, /*On fail goto*//*Label 2763*/ GIMT_Encode4(124728), // Rule ID 17614 //
44424 /* 124669 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
44425 /* 124672 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44426 /* 124676 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44427 /* 124680 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44428 /* 124683 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44429 /* 124687 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
44430 /* 124691 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
44431 /* 124695 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44432 /* 124699 */ // MIs[2] Operand 1
44433 /* 124699 */ // No operand predicates
44434 /* 124699 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44435 /* 124701 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44436 /* 124708 */ // (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$shamt) => (RORX32mi:{ *:[i32] } addr:{ *:[iPTR] }:$src, (imm:{ *:[i8] }):$shamt)
44437 /* 124708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32mi),
44438 /* 124711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44439 /* 124713 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
44440 /* 124717 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
44441 /* 124720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44442 /* 124726 */ GIR_RootConstrainSelectedInstOperands,
44443 /* 124727 */ // GIR_Coverage, 17614,
44444 /* 124727 */ GIR_EraseRootFromParent_Done,
44445 /* 124728 */ // Label 2763: @124728
44446 /* 124728 */ GIM_Try, /*On fail goto*//*Label 2764*/ GIMT_Encode4(124792), // Rule ID 17646 //
44447 /* 124733 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
44448 /* 124736 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44449 /* 124740 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44450 /* 124744 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44451 /* 124747 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44452 /* 124751 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
44453 /* 124755 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
44454 /* 124759 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44455 /* 124763 */ // MIs[2] Operand 1
44456 /* 124763 */ // No operand predicates
44457 /* 124763 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44458 /* 124765 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44459 /* 124772 */ // (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)
44460 /* 124772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32mi_EVEX),
44461 /* 124775 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44462 /* 124777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
44463 /* 124781 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
44464 /* 124784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44465 /* 124790 */ GIR_RootConstrainSelectedInstOperands,
44466 /* 124791 */ // GIR_Coverage, 17646,
44467 /* 124791 */ GIR_EraseRootFromParent_Done,
44468 /* 124792 */ // Label 2764: @124792
44469 /* 124792 */ GIM_Try, /*On fail goto*//*Label 2765*/ GIMT_Encode4(124826), // Rule ID 17610 //
44470 /* 124797 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
44471 /* 124800 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44472 /* 124804 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44473 /* 124808 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44474 /* 124812 */ // MIs[1] Operand 1
44475 /* 124812 */ // No operand predicates
44476 /* 124812 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44477 /* 124814 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX32ri:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt)
44478 /* 124814 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32ri),
44479 /* 124817 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44480 /* 124819 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
44481 /* 124821 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44482 /* 124824 */ GIR_RootConstrainSelectedInstOperands,
44483 /* 124825 */ // GIR_Coverage, 17610,
44484 /* 124825 */ GIR_EraseRootFromParent_Done,
44485 /* 124826 */ // Label 2765: @124826
44486 /* 124826 */ GIM_Try, /*On fail goto*//*Label 2766*/ GIMT_Encode4(124860), // Rule ID 17642 //
44487 /* 124831 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
44488 /* 124834 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44489 /* 124838 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44490 /* 124842 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44491 /* 124846 */ // MIs[1] Operand 1
44492 /* 124846 */ // No operand predicates
44493 /* 124846 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44494 /* 124848 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX32ri_EVEX:{ *:[i32] } GR32:{ *:[i32] }:$src, (imm:{ *:[i8] }):$shamt)
44495 /* 124848 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX32ri_EVEX),
44496 /* 124851 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44497 /* 124853 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
44498 /* 124855 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44499 /* 124858 */ GIR_RootConstrainSelectedInstOperands,
44500 /* 124859 */ // GIR_Coverage, 17642,
44501 /* 124859 */ GIR_EraseRootFromParent_Done,
44502 /* 124860 */ // Label 2766: @124860
44503 /* 124860 */ GIM_Try, /*On fail goto*//*Label 2767*/ GIMT_Encode4(124897), // Rule ID 847 //
44504 /* 124865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFastSHLDRotate),
44505 /* 124868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44506 /* 124872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44507 /* 124876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44508 /* 124880 */ // MIs[1] Operand 1
44509 /* 124880 */ // No operand predicates
44510 /* 124880 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44511 /* 124882 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHRDROT32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt)
44512 /* 124882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRDROT32ri),
44513 /* 124885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44514 /* 124887 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44515 /* 124889 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44516 /* 124892 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44517 /* 124895 */ GIR_RootConstrainSelectedInstOperands,
44518 /* 124896 */ // GIR_Coverage, 847,
44519 /* 124896 */ GIR_EraseRootFromParent_Done,
44520 /* 124897 */ // Label 2767: @124897
44521 /* 124897 */ GIM_Try, /*On fail goto*//*Label 2768*/ GIMT_Encode4(124925), // Rule ID 17568 //
44522 /* 124902 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44523 /* 124905 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44524 /* 124909 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
44525 /* 124913 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROL32r1:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44526 /* 124913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32r1),
44527 /* 124916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44528 /* 124918 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44529 /* 124920 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44530 /* 124923 */ GIR_RootConstrainSelectedInstOperands,
44531 /* 124924 */ // GIR_Coverage, 17568,
44532 /* 124924 */ GIR_EraseRootFromParent_Done,
44533 /* 124925 */ // Label 2768: @124925
44534 /* 124925 */ GIM_Try, /*On fail goto*//*Label 2769*/ GIMT_Encode4(124953), // Rule ID 17576 //
44535 /* 124930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
44536 /* 124933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44537 /* 124937 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
44538 /* 124941 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROL32r1_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44539 /* 124941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32r1_ND),
44540 /* 124944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44541 /* 124946 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44542 /* 124948 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44543 /* 124951 */ GIR_RootConstrainSelectedInstOperands,
44544 /* 124952 */ // GIR_Coverage, 17576,
44545 /* 124952 */ GIR_EraseRootFromParent_Done,
44546 /* 124953 */ // Label 2769: @124953
44547 /* 124953 */ GIM_Try, /*On fail goto*//*Label 2770*/ GIMT_Encode4(124990), // Rule ID 767 //
44548 /* 124958 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44549 /* 124961 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44550 /* 124965 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44551 /* 124969 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44552 /* 124973 */ // MIs[1] Operand 1
44553 /* 124973 */ // No operand predicates
44554 /* 124973 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44555 /* 124975 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
44556 /* 124975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32ri),
44557 /* 124978 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44558 /* 124980 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44559 /* 124982 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44560 /* 124985 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44561 /* 124988 */ GIR_RootConstrainSelectedInstOperands,
44562 /* 124989 */ // GIR_Coverage, 767,
44563 /* 124989 */ GIR_EraseRootFromParent_Done,
44564 /* 124990 */ // Label 2770: @124990
44565 /* 124990 */ GIM_Try, /*On fail goto*//*Label 2771*/ GIMT_Encode4(125027), // Rule ID 771 //
44566 /* 124995 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44567 /* 124998 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44568 /* 125002 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44569 /* 125006 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44570 /* 125010 */ // MIs[1] Operand 1
44571 /* 125010 */ // No operand predicates
44572 /* 125010 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44573 /* 125012 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
44574 /* 125012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32ri_ND),
44575 /* 125015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44576 /* 125017 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44577 /* 125019 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44578 /* 125022 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44579 /* 125025 */ GIR_RootConstrainSelectedInstOperands,
44580 /* 125026 */ // GIR_Coverage, 771,
44581 /* 125026 */ GIR_EraseRootFromParent_Done,
44582 /* 125027 */ // Label 2771: @125027
44583 /* 125027 */ GIM_Try, /*On fail goto*//*Label 2772*/ GIMT_Encode4(125069), // Rule ID 783 //
44584 /* 125032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44585 /* 125035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44586 /* 125039 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44587 /* 125043 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROR32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44588 /* 125043 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44589 /* 125047 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44590 /* 125053 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44591 /* 125057 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32rCL),
44592 /* 125060 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44593 /* 125062 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44594 /* 125064 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44595 /* 125067 */ GIR_RootConstrainSelectedInstOperands,
44596 /* 125068 */ // GIR_Coverage, 783,
44597 /* 125068 */ GIR_EraseRootFromParent_Done,
44598 /* 125069 */ // Label 2772: @125069
44599 /* 125069 */ GIM_Try, /*On fail goto*//*Label 2773*/ GIMT_Encode4(125111), // Rule ID 787 //
44600 /* 125074 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44601 /* 125077 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
44602 /* 125081 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44603 /* 125085 */ // (rotr:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROR32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
44604 /* 125085 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44605 /* 125089 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44606 /* 125095 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44607 /* 125099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32rCL_ND),
44608 /* 125102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44609 /* 125104 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44610 /* 125106 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44611 /* 125109 */ GIR_RootConstrainSelectedInstOperands,
44612 /* 125110 */ // GIR_Coverage, 787,
44613 /* 125110 */ GIR_EraseRootFromParent_Done,
44614 /* 125111 */ // Label 2773: @125111
44615 /* 125111 */ GIM_Reject,
44616 /* 125112 */ // Label 2762: @125112
44617 /* 125112 */ GIM_Reject,
44618 /* 125113 */ // Label 2737: @125113
44619 /* 125113 */ GIM_Try, /*On fail goto*//*Label 2774*/ GIMT_Encode4(125576),
44620 /* 125118 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
44621 /* 125121 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
44622 /* 125124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44623 /* 125128 */ GIM_Try, /*On fail goto*//*Label 2775*/ GIMT_Encode4(125192), // Rule ID 17615 //
44624 /* 125133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
44625 /* 125136 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44626 /* 125140 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44627 /* 125144 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44628 /* 125147 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44629 /* 125151 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44630 /* 125155 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
44631 /* 125159 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44632 /* 125163 */ // MIs[2] Operand 1
44633 /* 125163 */ // No operand predicates
44634 /* 125163 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44635 /* 125165 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44636 /* 125172 */ // (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$shamt) => (RORX64mi:{ *:[i64] } addr:{ *:[iPTR] }:$src, (imm:{ *:[i8] }):$shamt)
44637 /* 125172 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64mi),
44638 /* 125175 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44639 /* 125177 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
44640 /* 125181 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
44641 /* 125184 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44642 /* 125190 */ GIR_RootConstrainSelectedInstOperands,
44643 /* 125191 */ // GIR_Coverage, 17615,
44644 /* 125191 */ GIR_EraseRootFromParent_Done,
44645 /* 125192 */ // Label 2775: @125192
44646 /* 125192 */ GIM_Try, /*On fail goto*//*Label 2776*/ GIMT_Encode4(125256), // Rule ID 17647 //
44647 /* 125197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
44648 /* 125200 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
44649 /* 125204 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
44650 /* 125208 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
44651 /* 125211 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
44652 /* 125215 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
44653 /* 125219 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/2, // MIs[2]
44654 /* 125223 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44655 /* 125227 */ // MIs[2] Operand 1
44656 /* 125227 */ // No operand predicates
44657 /* 125227 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
44658 /* 125229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
44659 /* 125236 */ // (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)
44660 /* 125236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64mi_EVEX),
44661 /* 125239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44662 /* 125241 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
44663 /* 125245 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/2, // shamt
44664 /* 125248 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
44665 /* 125254 */ GIR_RootConstrainSelectedInstOperands,
44666 /* 125255 */ // GIR_Coverage, 17647,
44667 /* 125255 */ GIR_EraseRootFromParent_Done,
44668 /* 125256 */ // Label 2776: @125256
44669 /* 125256 */ GIM_Try, /*On fail goto*//*Label 2777*/ GIMT_Encode4(125290), // Rule ID 17611 //
44670 /* 125261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_NoEGPR),
44671 /* 125264 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44672 /* 125268 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44673 /* 125272 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44674 /* 125276 */ // MIs[1] Operand 1
44675 /* 125276 */ // No operand predicates
44676 /* 125276 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44677 /* 125278 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX64ri:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt)
44678 /* 125278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64ri),
44679 /* 125281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44680 /* 125283 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
44681 /* 125285 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44682 /* 125288 */ GIR_RootConstrainSelectedInstOperands,
44683 /* 125289 */ // GIR_Coverage, 17611,
44684 /* 125289 */ GIR_EraseRootFromParent_Done,
44685 /* 125290 */ // Label 2777: @125290
44686 /* 125290 */ GIM_Try, /*On fail goto*//*Label 2778*/ GIMT_Encode4(125324), // Rule ID 17643 //
44687 /* 125295 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI2_HasEGPR),
44688 /* 125298 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44689 /* 125302 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44690 /* 125306 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44691 /* 125310 */ // MIs[1] Operand 1
44692 /* 125310 */ // No operand predicates
44693 /* 125310 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44694 /* 125312 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt) => (RORX64ri_EVEX:{ *:[i64] } GR64:{ *:[i64] }:$src, (imm:{ *:[i8] }):$shamt)
44695 /* 125312 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::RORX64ri_EVEX),
44696 /* 125315 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44697 /* 125317 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
44698 /* 125319 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44699 /* 125322 */ GIR_RootConstrainSelectedInstOperands,
44700 /* 125323 */ // GIR_Coverage, 17643,
44701 /* 125323 */ GIR_EraseRootFromParent_Done,
44702 /* 125324 */ // Label 2778: @125324
44703 /* 125324 */ GIM_Try, /*On fail goto*//*Label 2779*/ GIMT_Encode4(125361), // Rule ID 848 //
44704 /* 125329 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFastSHLDRotate),
44705 /* 125332 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44706 /* 125336 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44707 /* 125340 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44708 /* 125344 */ // MIs[1] Operand 1
44709 /* 125344 */ // No operand predicates
44710 /* 125344 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44711 /* 125346 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHRDROT64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt)
44712 /* 125346 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHRDROT64ri),
44713 /* 125349 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44714 /* 125351 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44715 /* 125353 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
44716 /* 125356 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44717 /* 125359 */ GIR_RootConstrainSelectedInstOperands,
44718 /* 125360 */ // GIR_Coverage, 848,
44719 /* 125360 */ GIR_EraseRootFromParent_Done,
44720 /* 125361 */ // Label 2779: @125361
44721 /* 125361 */ GIM_Try, /*On fail goto*//*Label 2780*/ GIMT_Encode4(125389), // Rule ID 17569 //
44722 /* 125366 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44723 /* 125369 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44724 /* 125373 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
44725 /* 125377 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROL64r1:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
44726 /* 125377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64r1),
44727 /* 125380 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44728 /* 125382 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44729 /* 125384 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44730 /* 125387 */ GIR_RootConstrainSelectedInstOperands,
44731 /* 125388 */ // GIR_Coverage, 17569,
44732 /* 125388 */ GIR_EraseRootFromParent_Done,
44733 /* 125389 */ // Label 2780: @125389
44734 /* 125389 */ GIM_Try, /*On fail goto*//*Label 2781*/ GIMT_Encode4(125417), // Rule ID 17577 //
44735 /* 125394 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
44736 /* 125397 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44737 /* 125401 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
44738 /* 125405 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROL64r1_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
44739 /* 125405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64r1_ND),
44740 /* 125408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44741 /* 125410 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44742 /* 125412 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44743 /* 125415 */ GIR_RootConstrainSelectedInstOperands,
44744 /* 125416 */ // GIR_Coverage, 17577,
44745 /* 125416 */ GIR_EraseRootFromParent_Done,
44746 /* 125417 */ // Label 2781: @125417
44747 /* 125417 */ GIM_Try, /*On fail goto*//*Label 2782*/ GIMT_Encode4(125454), // Rule ID 768 //
44748 /* 125422 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44749 /* 125425 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44750 /* 125429 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44751 /* 125433 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44752 /* 125437 */ // MIs[1] Operand 1
44753 /* 125437 */ // No operand predicates
44754 /* 125437 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44755 /* 125439 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
44756 /* 125439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64ri),
44757 /* 125442 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44758 /* 125444 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44759 /* 125446 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44760 /* 125449 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44761 /* 125452 */ GIR_RootConstrainSelectedInstOperands,
44762 /* 125453 */ // GIR_Coverage, 768,
44763 /* 125453 */ GIR_EraseRootFromParent_Done,
44764 /* 125454 */ // Label 2782: @125454
44765 /* 125454 */ GIM_Try, /*On fail goto*//*Label 2783*/ GIMT_Encode4(125491), // Rule ID 772 //
44766 /* 125459 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44767 /* 125462 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44768 /* 125466 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
44769 /* 125470 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
44770 /* 125474 */ // MIs[1] Operand 1
44771 /* 125474 */ // No operand predicates
44772 /* 125474 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
44773 /* 125476 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROR64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
44774 /* 125476 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64ri_ND),
44775 /* 125479 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44776 /* 125481 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44777 /* 125483 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
44778 /* 125486 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44779 /* 125489 */ GIR_RootConstrainSelectedInstOperands,
44780 /* 125490 */ // GIR_Coverage, 772,
44781 /* 125490 */ GIR_EraseRootFromParent_Done,
44782 /* 125491 */ // Label 2783: @125491
44783 /* 125491 */ GIM_Try, /*On fail goto*//*Label 2784*/ GIMT_Encode4(125533), // Rule ID 784 //
44784 /* 125496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
44785 /* 125499 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44786 /* 125503 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44787 /* 125507 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROR64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
44788 /* 125507 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44789 /* 125511 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44790 /* 125517 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44791 /* 125521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64rCL),
44792 /* 125524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44793 /* 125526 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44794 /* 125528 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44795 /* 125531 */ GIR_RootConstrainSelectedInstOperands,
44796 /* 125532 */ // GIR_Coverage, 784,
44797 /* 125532 */ GIR_EraseRootFromParent_Done,
44798 /* 125533 */ // Label 2784: @125533
44799 /* 125533 */ GIM_Try, /*On fail goto*//*Label 2785*/ GIMT_Encode4(125575), // Rule ID 788 //
44800 /* 125538 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
44801 /* 125541 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
44802 /* 125545 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
44803 /* 125549 */ // (rotr:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROR64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
44804 /* 125549 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44805 /* 125553 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44806 /* 125559 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
44807 /* 125563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64rCL_ND),
44808 /* 125566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44809 /* 125568 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44810 /* 125570 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
44811 /* 125573 */ GIR_RootConstrainSelectedInstOperands,
44812 /* 125574 */ // GIR_Coverage, 788,
44813 /* 125574 */ GIR_EraseRootFromParent_Done,
44814 /* 125575 */ // Label 2785: @125575
44815 /* 125575 */ GIM_Reject,
44816 /* 125576 */ // Label 2774: @125576
44817 /* 125576 */ GIM_Reject,
44818 /* 125577 */ // Label 2738: @125577
44819 /* 125577 */ GIM_Try, /*On fail goto*//*Label 2786*/ GIMT_Encode4(125841),
44820 /* 125582 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
44821 /* 125585 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
44822 /* 125588 */ GIM_Try, /*On fail goto*//*Label 2787*/ GIMT_Encode4(125621), // Rule ID 22158 //
44823 /* 125593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44824 /* 125596 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44825 /* 125600 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44826 /* 125604 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44827 /* 125608 */ // (rotr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSHRDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
44828 /* 125608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ128r),
44829 /* 125611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44830 /* 125613 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44831 /* 125615 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44832 /* 125617 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44833 /* 125619 */ GIR_RootConstrainSelectedInstOperands,
44834 /* 125620 */ // GIR_Coverage, 22158,
44835 /* 125620 */ GIR_EraseRootFromParent_Done,
44836 /* 125621 */ // Label 2787: @125621
44837 /* 125621 */ GIM_Try, /*On fail goto*//*Label 2788*/ GIMT_Encode4(125840), // Rule ID 22166 //
44838 /* 125626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
44839 /* 125629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
44840 /* 125633 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44841 /* 125637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
44842 /* 125641 */ // (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] })
44843 /* 125641 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
44844 /* 125644 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44845 /* 125648 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44846 /* 125653 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
44847 /* 125655 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
44848 /* 125658 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44849 /* 125662 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44850 /* 125667 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
44851 /* 125670 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/2, // src2
44852 /* 125674 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
44853 /* 125677 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44854 /* 125682 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44855 /* 125687 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44856 /* 125692 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
44857 /* 125695 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44858 /* 125699 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44859 /* 125704 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44860 /* 125706 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
44861 /* 125709 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44862 /* 125713 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44863 /* 125718 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44864 /* 125721 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
44865 /* 125725 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
44866 /* 125728 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44867 /* 125733 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44868 /* 125738 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44869 /* 125743 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
44870 /* 125746 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44871 /* 125750 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44872 /* 125755 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44873 /* 125757 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
44874 /* 125760 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44875 /* 125764 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44876 /* 125769 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44877 /* 125772 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
44878 /* 125776 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
44879 /* 125779 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44880 /* 125784 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44881 /* 125789 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
44882 /* 125794 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
44883 /* 125797 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
44884 /* 125801 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44885 /* 125806 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44886 /* 125809 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44887 /* 125812 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
44888 /* 125815 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44889 /* 125817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44890 /* 125820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44891 /* 125822 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
44892 /* 125829 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
44893 /* 125834 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44894 /* 125839 */ // GIR_Coverage, 22166,
44895 /* 125839 */ GIR_EraseRootFromParent_Done,
44896 /* 125840 */ // Label 2788: @125840
44897 /* 125840 */ GIM_Reject,
44898 /* 125841 */ // Label 2786: @125841
44899 /* 125841 */ GIM_Reject,
44900 /* 125842 */ // Label 2739: @125842
44901 /* 125842 */ GIM_Try, /*On fail goto*//*Label 2789*/ GIMT_Encode4(126094),
44902 /* 125847 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
44903 /* 125850 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
44904 /* 125853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44905 /* 125857 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44906 /* 125861 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
44907 /* 125865 */ GIM_Try, /*On fail goto*//*Label 2790*/ GIMT_Encode4(125886), // Rule ID 22154 //
44908 /* 125870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
44909 /* 125873 */ // (rotr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSHRDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
44910 /* 125873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZ256r),
44911 /* 125876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44912 /* 125878 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44913 /* 125880 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44914 /* 125882 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44915 /* 125884 */ GIR_RootConstrainSelectedInstOperands,
44916 /* 125885 */ // GIR_Coverage, 22154,
44917 /* 125885 */ GIR_EraseRootFromParent_Done,
44918 /* 125886 */ // Label 2790: @125886
44919 /* 125886 */ GIM_Try, /*On fail goto*//*Label 2791*/ GIMT_Encode4(126093), // Rule ID 22162 //
44920 /* 125891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
44921 /* 125894 */ // (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] })
44922 /* 125894 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
44923 /* 125897 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44924 /* 125901 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44925 /* 125906 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
44926 /* 125908 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
44927 /* 125911 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44928 /* 125915 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44929 /* 125920 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
44930 /* 125923 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/2, // src2
44931 /* 125927 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
44932 /* 125930 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44933 /* 125935 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44934 /* 125940 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44935 /* 125945 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
44936 /* 125948 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44937 /* 125952 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44938 /* 125957 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
44939 /* 125959 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
44940 /* 125962 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44941 /* 125966 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44942 /* 125971 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
44943 /* 125974 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
44944 /* 125978 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
44945 /* 125981 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44946 /* 125986 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44947 /* 125991 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44948 /* 125996 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
44949 /* 125999 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
44950 /* 126003 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44951 /* 126008 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
44952 /* 126010 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
44953 /* 126013 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
44954 /* 126017 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44955 /* 126022 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
44956 /* 126025 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
44957 /* 126029 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
44958 /* 126032 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
44959 /* 126037 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44960 /* 126042 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
44961 /* 126047 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
44962 /* 126050 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
44963 /* 126054 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
44964 /* 126059 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
44965 /* 126062 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
44966 /* 126065 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
44967 /* 126068 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
44968 /* 126070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
44969 /* 126073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44970 /* 126075 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
44971 /* 126082 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
44972 /* 126087 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
44973 /* 126092 */ // GIR_Coverage, 22162,
44974 /* 126092 */ GIR_EraseRootFromParent_Done,
44975 /* 126093 */ // Label 2791: @126093
44976 /* 126093 */ GIM_Reject,
44977 /* 126094 */ // Label 2789: @126094
44978 /* 126094 */ GIM_Reject,
44979 /* 126095 */ // Label 2740: @126095
44980 /* 126095 */ GIM_Try, /*On fail goto*//*Label 2792*/ GIMT_Encode4(126134), // Rule ID 22150 //
44981 /* 126100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
44982 /* 126103 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
44983 /* 126106 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
44984 /* 126109 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44985 /* 126113 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44986 /* 126117 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
44987 /* 126121 */ // (rotr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSHRDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
44988 /* 126121 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHRDVWZr),
44989 /* 126124 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
44990 /* 126126 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44991 /* 126128 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
44992 /* 126130 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
44993 /* 126132 */ GIR_RootConstrainSelectedInstOperands,
44994 /* 126133 */ // GIR_Coverage, 22150,
44995 /* 126133 */ GIR_EraseRootFromParent_Done,
44996 /* 126134 */ // Label 2792: @126134
44997 /* 126134 */ GIM_Reject,
44998 /* 126135 */ // Label 2741: @126135
44999 /* 126135 */ GIM_Try, /*On fail goto*//*Label 2793*/ GIMT_Encode4(126401),
45000 /* 126140 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
45001 /* 126143 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
45002 /* 126146 */ GIM_Try, /*On fail goto*//*Label 2794*/ GIMT_Encode4(126208), // Rule ID 7958 //
45003 /* 126151 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45004 /* 126154 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45005 /* 126158 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45006 /* 126162 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45007 /* 126166 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45008 /* 126170 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45009 /* 126173 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45010 /* 126177 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45011 /* 126181 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45012 /* 126183 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45013 /* 126190 */ // (rotr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
45014 /* 126190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ128rm),
45015 /* 126193 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45016 /* 126195 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45017 /* 126197 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45018 /* 126201 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45019 /* 126206 */ GIR_RootConstrainSelectedInstOperands,
45020 /* 126207 */ // GIR_Coverage, 7958,
45021 /* 126207 */ GIR_EraseRootFromParent_Done,
45022 /* 126208 */ // Label 2794: @126208
45023 /* 126208 */ GIM_Try, /*On fail goto*//*Label 2795*/ GIMT_Encode4(126235), // Rule ID 7955 //
45024 /* 126213 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45025 /* 126216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45026 /* 126220 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45027 /* 126224 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45028 /* 126228 */ // (rotr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPRORVDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
45029 /* 126228 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ128rr),
45030 /* 126233 */ GIR_RootConstrainSelectedInstOperands,
45031 /* 126234 */ // GIR_Coverage, 7955,
45032 /* 126234 */ GIR_Done,
45033 /* 126235 */ // Label 2795: @126235
45034 /* 126235 */ GIM_Try, /*On fail goto*//*Label 2796*/ GIMT_Encode4(126400), // Rule ID 20798 //
45035 /* 126240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
45036 /* 126243 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
45037 /* 126247 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45038 /* 126251 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45039 /* 126255 */ // (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] })
45040 /* 126255 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
45041 /* 126258 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45042 /* 126262 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45043 /* 126267 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45044 /* 126269 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
45045 /* 126272 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45046 /* 126276 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45047 /* 126281 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45048 /* 126284 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45049 /* 126288 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
45050 /* 126291 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45051 /* 126296 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45052 /* 126301 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45053 /* 126306 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
45054 /* 126309 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45055 /* 126313 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45056 /* 126318 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45057 /* 126320 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
45058 /* 126323 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45059 /* 126327 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45060 /* 126332 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45061 /* 126335 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45062 /* 126339 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
45063 /* 126342 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45064 /* 126347 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45065 /* 126352 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45066 /* 126357 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
45067 /* 126360 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
45068 /* 126364 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45069 /* 126369 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45070 /* 126372 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45071 /* 126375 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45072 /* 126377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45073 /* 126380 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45074 /* 126382 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
45075 /* 126389 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
45076 /* 126394 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45077 /* 126399 */ // GIR_Coverage, 20798,
45078 /* 126399 */ GIR_EraseRootFromParent_Done,
45079 /* 126400 */ // Label 2796: @126400
45080 /* 126400 */ GIM_Reject,
45081 /* 126401 */ // Label 2793: @126401
45082 /* 126401 */ GIM_Reject,
45083 /* 126402 */ // Label 2742: @126402
45084 /* 126402 */ GIM_Try, /*On fail goto*//*Label 2797*/ GIMT_Encode4(126652),
45085 /* 126407 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
45086 /* 126410 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
45087 /* 126413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45088 /* 126417 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45089 /* 126421 */ GIM_Try, /*On fail goto*//*Label 2798*/ GIMT_Encode4(126475), // Rule ID 7949 //
45090 /* 126426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45091 /* 126429 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45092 /* 126433 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45093 /* 126437 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45094 /* 126440 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45095 /* 126444 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45096 /* 126448 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45097 /* 126450 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45098 /* 126457 */ // (rotr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
45099 /* 126457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ256rm),
45100 /* 126460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45101 /* 126462 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45102 /* 126464 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45103 /* 126468 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45104 /* 126473 */ GIR_RootConstrainSelectedInstOperands,
45105 /* 126474 */ // GIR_Coverage, 7949,
45106 /* 126474 */ GIR_EraseRootFromParent_Done,
45107 /* 126475 */ // Label 2798: @126475
45108 /* 126475 */ GIM_Try, /*On fail goto*//*Label 2799*/ GIMT_Encode4(126494), // Rule ID 7946 //
45109 /* 126480 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45110 /* 126483 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45111 /* 126487 */ // (rotr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPRORVDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
45112 /* 126487 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZ256rr),
45113 /* 126492 */ GIR_RootConstrainSelectedInstOperands,
45114 /* 126493 */ // GIR_Coverage, 7946,
45115 /* 126493 */ GIR_Done,
45116 /* 126494 */ // Label 2799: @126494
45117 /* 126494 */ GIM_Try, /*On fail goto*//*Label 2800*/ GIMT_Encode4(126651), // Rule ID 20794 //
45118 /* 126499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
45119 /* 126502 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45120 /* 126506 */ // (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] })
45121 /* 126506 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
45122 /* 126509 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45123 /* 126513 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45124 /* 126518 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45125 /* 126520 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
45126 /* 126523 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45127 /* 126527 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45128 /* 126532 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45129 /* 126535 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45130 /* 126539 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
45131 /* 126542 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45132 /* 126547 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45133 /* 126552 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45134 /* 126557 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
45135 /* 126560 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45136 /* 126564 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45137 /* 126569 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45138 /* 126571 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
45139 /* 126574 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45140 /* 126578 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45141 /* 126583 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45142 /* 126586 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45143 /* 126590 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
45144 /* 126593 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45145 /* 126598 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45146 /* 126603 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45147 /* 126608 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
45148 /* 126611 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
45149 /* 126615 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45150 /* 126620 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45151 /* 126623 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45152 /* 126626 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45153 /* 126628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45154 /* 126631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45155 /* 126633 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
45156 /* 126640 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
45157 /* 126645 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45158 /* 126650 */ // GIR_Coverage, 20794,
45159 /* 126650 */ GIR_EraseRootFromParent_Done,
45160 /* 126651 */ // Label 2800: @126651
45161 /* 126651 */ GIM_Reject,
45162 /* 126652 */ // Label 2797: @126652
45163 /* 126652 */ GIM_Reject,
45164 /* 126653 */ // Label 2743: @126653
45165 /* 126653 */ GIM_Try, /*On fail goto*//*Label 2801*/ GIMT_Encode4(126746),
45166 /* 126658 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
45167 /* 126661 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
45168 /* 126664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45169 /* 126668 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45170 /* 126672 */ GIM_Try, /*On fail goto*//*Label 2802*/ GIMT_Encode4(126726), // Rule ID 7940 //
45171 /* 126677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
45172 /* 126680 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45173 /* 126684 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45174 /* 126688 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45175 /* 126691 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45176 /* 126695 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45177 /* 126699 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45178 /* 126701 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45179 /* 126708 */ // (rotr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
45180 /* 126708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrm),
45181 /* 126711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45182 /* 126713 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45183 /* 126715 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45184 /* 126719 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45185 /* 126724 */ GIR_RootConstrainSelectedInstOperands,
45186 /* 126725 */ // GIR_Coverage, 7940,
45187 /* 126725 */ GIR_EraseRootFromParent_Done,
45188 /* 126726 */ // Label 2802: @126726
45189 /* 126726 */ GIM_Try, /*On fail goto*//*Label 2803*/ GIMT_Encode4(126745), // Rule ID 7937 //
45190 /* 126731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
45191 /* 126734 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45192 /* 126738 */ // (rotr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPRORVDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
45193 /* 126738 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVDZrr),
45194 /* 126743 */ GIR_RootConstrainSelectedInstOperands,
45195 /* 126744 */ // GIR_Coverage, 7937,
45196 /* 126744 */ GIR_Done,
45197 /* 126745 */ // Label 2803: @126745
45198 /* 126745 */ GIM_Reject,
45199 /* 126746 */ // Label 2801: @126746
45200 /* 126746 */ GIM_Reject,
45201 /* 126747 */ // Label 2744: @126747
45202 /* 126747 */ GIM_Try, /*On fail goto*//*Label 2804*/ GIMT_Encode4(127013),
45203 /* 126752 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
45204 /* 126755 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
45205 /* 126758 */ GIM_Try, /*On fail goto*//*Label 2805*/ GIMT_Encode4(126820), // Rule ID 7985 //
45206 /* 126763 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45207 /* 126766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45208 /* 126770 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45209 /* 126774 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45210 /* 126778 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45211 /* 126782 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45212 /* 126785 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45213 /* 126789 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45214 /* 126793 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45215 /* 126795 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45216 /* 126802 */ // (rotr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45217 /* 126802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ128rm),
45218 /* 126805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45219 /* 126807 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45220 /* 126809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45221 /* 126813 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45222 /* 126818 */ GIR_RootConstrainSelectedInstOperands,
45223 /* 126819 */ // GIR_Coverage, 7985,
45224 /* 126819 */ GIR_EraseRootFromParent_Done,
45225 /* 126820 */ // Label 2805: @126820
45226 /* 126820 */ GIM_Try, /*On fail goto*//*Label 2806*/ GIMT_Encode4(126847), // Rule ID 7982 //
45227 /* 126825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45228 /* 126828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45229 /* 126832 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45230 /* 126836 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45231 /* 126840 */ // (rotr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPRORVQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
45232 /* 126840 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ128rr),
45233 /* 126845 */ GIR_RootConstrainSelectedInstOperands,
45234 /* 126846 */ // GIR_Coverage, 7982,
45235 /* 126846 */ GIR_Done,
45236 /* 126847 */ // Label 2806: @126847
45237 /* 126847 */ GIM_Try, /*On fail goto*//*Label 2807*/ GIMT_Encode4(127012), // Rule ID 20790 //
45238 /* 126852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
45239 /* 126855 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
45240 /* 126859 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45241 /* 126863 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45242 /* 126867 */ // (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] })
45243 /* 126867 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
45244 /* 126870 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45245 /* 126874 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45246 /* 126879 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45247 /* 126881 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
45248 /* 126884 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45249 /* 126888 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45250 /* 126893 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45251 /* 126896 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45252 /* 126900 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
45253 /* 126903 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45254 /* 126908 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45255 /* 126913 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45256 /* 126918 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
45257 /* 126921 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45258 /* 126925 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45259 /* 126930 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45260 /* 126932 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
45261 /* 126935 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45262 /* 126939 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45263 /* 126944 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45264 /* 126947 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45265 /* 126951 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
45266 /* 126954 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45267 /* 126959 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45268 /* 126964 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45269 /* 126969 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
45270 /* 126972 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
45271 /* 126976 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45272 /* 126981 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45273 /* 126984 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45274 /* 126987 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45275 /* 126989 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45276 /* 126992 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45277 /* 126994 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
45278 /* 127001 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
45279 /* 127006 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45280 /* 127011 */ // GIR_Coverage, 20790,
45281 /* 127011 */ GIR_EraseRootFromParent_Done,
45282 /* 127012 */ // Label 2807: @127012
45283 /* 127012 */ GIM_Reject,
45284 /* 127013 */ // Label 2804: @127013
45285 /* 127013 */ GIM_Reject,
45286 /* 127014 */ // Label 2745: @127014
45287 /* 127014 */ GIM_Try, /*On fail goto*//*Label 2808*/ GIMT_Encode4(127264),
45288 /* 127019 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
45289 /* 127022 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
45290 /* 127025 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45291 /* 127029 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45292 /* 127033 */ GIM_Try, /*On fail goto*//*Label 2809*/ GIMT_Encode4(127087), // Rule ID 7976 //
45293 /* 127038 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45294 /* 127041 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45295 /* 127045 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45296 /* 127049 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45297 /* 127052 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45298 /* 127056 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45299 /* 127060 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45300 /* 127062 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45301 /* 127069 */ // (rotr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45302 /* 127069 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ256rm),
45303 /* 127072 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45304 /* 127074 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45305 /* 127076 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45306 /* 127080 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45307 /* 127085 */ GIR_RootConstrainSelectedInstOperands,
45308 /* 127086 */ // GIR_Coverage, 7976,
45309 /* 127086 */ GIR_EraseRootFromParent_Done,
45310 /* 127087 */ // Label 2809: @127087
45311 /* 127087 */ GIM_Try, /*On fail goto*//*Label 2810*/ GIMT_Encode4(127106), // Rule ID 7973 //
45312 /* 127092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
45313 /* 127095 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45314 /* 127099 */ // (rotr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPRORVQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
45315 /* 127099 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZ256rr),
45316 /* 127104 */ GIR_RootConstrainSelectedInstOperands,
45317 /* 127105 */ // GIR_Coverage, 7973,
45318 /* 127105 */ GIR_Done,
45319 /* 127106 */ // Label 2810: @127106
45320 /* 127106 */ GIM_Try, /*On fail goto*//*Label 2811*/ GIMT_Encode4(127263), // Rule ID 20786 //
45321 /* 127111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
45322 /* 127114 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
45323 /* 127118 */ // (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] })
45324 /* 127118 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
45325 /* 127121 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45326 /* 127125 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45327 /* 127130 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45328 /* 127132 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
45329 /* 127135 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45330 /* 127139 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45331 /* 127144 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
45332 /* 127147 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
45333 /* 127151 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
45334 /* 127154 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45335 /* 127159 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45336 /* 127164 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45337 /* 127169 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
45338 /* 127172 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45339 /* 127176 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45340 /* 127181 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
45341 /* 127183 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
45342 /* 127186 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45343 /* 127190 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45344 /* 127195 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
45345 /* 127198 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
45346 /* 127202 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
45347 /* 127205 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45348 /* 127210 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45349 /* 127215 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
45350 /* 127220 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
45351 /* 127223 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
45352 /* 127227 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45353 /* 127232 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
45354 /* 127235 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
45355 /* 127238 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
45356 /* 127240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45357 /* 127243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45358 /* 127245 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
45359 /* 127252 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
45360 /* 127257 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45361 /* 127262 */ // GIR_Coverage, 20786,
45362 /* 127262 */ GIR_EraseRootFromParent_Done,
45363 /* 127263 */ // Label 2811: @127263
45364 /* 127263 */ GIM_Reject,
45365 /* 127264 */ // Label 2808: @127264
45366 /* 127264 */ GIM_Reject,
45367 /* 127265 */ // Label 2746: @127265
45368 /* 127265 */ GIM_Try, /*On fail goto*//*Label 2812*/ GIMT_Encode4(127358),
45369 /* 127270 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
45370 /* 127273 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
45371 /* 127276 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45372 /* 127280 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45373 /* 127284 */ GIM_Try, /*On fail goto*//*Label 2813*/ GIMT_Encode4(127338), // Rule ID 7967 //
45374 /* 127289 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
45375 /* 127292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45376 /* 127296 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45377 /* 127300 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45378 /* 127303 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45379 /* 127307 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45380 /* 127311 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45381 /* 127313 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45382 /* 127320 */ // (rotr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPRORVQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
45383 /* 127320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrm),
45384 /* 127323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45385 /* 127325 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45386 /* 127327 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45387 /* 127331 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45388 /* 127336 */ GIR_RootConstrainSelectedInstOperands,
45389 /* 127337 */ // GIR_Coverage, 7967,
45390 /* 127337 */ GIR_EraseRootFromParent_Done,
45391 /* 127338 */ // Label 2813: @127338
45392 /* 127338 */ GIM_Try, /*On fail goto*//*Label 2814*/ GIMT_Encode4(127357), // Rule ID 7964 //
45393 /* 127343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
45394 /* 127346 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
45395 /* 127350 */ // (rotr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPRORVQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
45396 /* 127350 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPRORVQZrr),
45397 /* 127355 */ GIR_RootConstrainSelectedInstOperands,
45398 /* 127356 */ // GIR_Coverage, 7964,
45399 /* 127356 */ GIR_Done,
45400 /* 127357 */ // Label 2814: @127357
45401 /* 127357 */ GIM_Reject,
45402 /* 127358 */ // Label 2812: @127358
45403 /* 127358 */ GIM_Reject,
45404 /* 127359 */ // Label 2747: @127359
45405 /* 127359 */ GIM_Reject,
45406 /* 127360 */ // Label 33: @127360
45407 /* 127360 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(1), GIMT_Encode2(25), /*)*//*default:*//*Label 2829*/ GIMT_Encode4(130768),
45408 /* 127371 */ /*GILLT_s8*//*Label 2815*/ GIMT_Encode4(127467),
45409 /* 127375 */ /*GILLT_s16*//*Label 2816*/ GIMT_Encode4(127678),
45410 /* 127379 */ /*GILLT_s32*//*Label 2817*/ GIMT_Encode4(127889),
45411 /* 127383 */ /*GILLT_s64*//*Label 2818*/ GIMT_Encode4(128133), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
45412 /* 127419 */ /*GILLT_v16s8*//*Label 2819*/ GIMT_Encode4(128377), GIMT_Encode4(0), GIMT_Encode4(0),
45413 /* 127431 */ /*GILLT_v8s16*//*Label 2820*/ GIMT_Encode4(128533),
45414 /* 127435 */ /*GILLT_v16s16*//*Label 2821*/ GIMT_Encode4(128949),
45415 /* 127439 */ /*GILLT_v32s16*//*Label 2822*/ GIMT_Encode4(129202),
45416 /* 127443 */ /*GILLT_v4s32*//*Label 2823*/ GIMT_Encode4(129242),
45417 /* 127447 */ /*GILLT_v8s32*//*Label 2824*/ GIMT_Encode4(129660),
45418 /* 127451 */ /*GILLT_v16s32*//*Label 2825*/ GIMT_Encode4(129911),
45419 /* 127455 */ /*GILLT_v2s64*//*Label 2826*/ GIMT_Encode4(130005),
45420 /* 127459 */ /*GILLT_v4s64*//*Label 2827*/ GIMT_Encode4(130423),
45421 /* 127463 */ /*GILLT_v8s64*//*Label 2828*/ GIMT_Encode4(130674),
45422 /* 127467 */ // Label 2815: @127467
45423 /* 127467 */ GIM_Try, /*On fail goto*//*Label 2830*/ GIMT_Encode4(127677),
45424 /* 127472 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s8,
45425 /* 127475 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
45426 /* 127478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45427 /* 127482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR8RegClassID),
45428 /* 127486 */ GIM_Try, /*On fail goto*//*Label 2831*/ GIMT_Encode4(127510), // Rule ID 17562 //
45429 /* 127491 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45430 /* 127494 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
45431 /* 127498 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROR8r1:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
45432 /* 127498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8r1),
45433 /* 127501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45434 /* 127503 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45435 /* 127505 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45436 /* 127508 */ GIR_RootConstrainSelectedInstOperands,
45437 /* 127509 */ // GIR_Coverage, 17562,
45438 /* 127509 */ GIR_EraseRootFromParent_Done,
45439 /* 127510 */ // Label 2831: @127510
45440 /* 127510 */ GIM_Try, /*On fail goto*//*Label 2832*/ GIMT_Encode4(127534), // Rule ID 17570 //
45441 /* 127515 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45442 /* 127518 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 7,
45443 /* 127522 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, 7:{ *:[i8] }) => (ROR8r1_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
45444 /* 127522 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR8r1_ND),
45445 /* 127525 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45446 /* 127527 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45447 /* 127529 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45448 /* 127532 */ GIR_RootConstrainSelectedInstOperands,
45449 /* 127533 */ // GIR_Coverage, 17570,
45450 /* 127533 */ GIR_EraseRootFromParent_Done,
45451 /* 127534 */ // Label 2832: @127534
45452 /* 127534 */ GIM_Try, /*On fail goto*//*Label 2833*/ GIMT_Encode4(127567), // Rule ID 733 //
45453 /* 127539 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45454 /* 127542 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45455 /* 127546 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45456 /* 127550 */ // MIs[1] Operand 1
45457 /* 127550 */ // No operand predicates
45458 /* 127550 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45459 /* 127552 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL8ri:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
45460 /* 127552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8ri),
45461 /* 127555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45462 /* 127557 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45463 /* 127559 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45464 /* 127562 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45465 /* 127565 */ GIR_RootConstrainSelectedInstOperands,
45466 /* 127566 */ // GIR_Coverage, 733,
45467 /* 127566 */ GIR_EraseRootFromParent_Done,
45468 /* 127567 */ // Label 2833: @127567
45469 /* 127567 */ GIM_Try, /*On fail goto*//*Label 2834*/ GIMT_Encode4(127600), // Rule ID 737 //
45470 /* 127572 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45471 /* 127575 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45472 /* 127579 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45473 /* 127583 */ // MIs[1] Operand 1
45474 /* 127583 */ // No operand predicates
45475 /* 127583 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45476 /* 127585 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL8ri_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1, (imm:{ *:[i8] }):$src2)
45477 /* 127585 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8ri_ND),
45478 /* 127588 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45479 /* 127590 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45480 /* 127592 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45481 /* 127595 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45482 /* 127598 */ GIR_RootConstrainSelectedInstOperands,
45483 /* 127599 */ // GIR_Coverage, 737,
45484 /* 127599 */ GIR_EraseRootFromParent_Done,
45485 /* 127600 */ // Label 2834: @127600
45486 /* 127600 */ GIM_Try, /*On fail goto*//*Label 2835*/ GIMT_Encode4(127638), // Rule ID 749 //
45487 /* 127605 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45488 /* 127608 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45489 /* 127612 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROL8rCL:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
45490 /* 127612 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45491 /* 127616 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45492 /* 127622 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45493 /* 127626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8rCL),
45494 /* 127629 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45495 /* 127631 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45496 /* 127633 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45497 /* 127636 */ GIR_RootConstrainSelectedInstOperands,
45498 /* 127637 */ // GIR_Coverage, 749,
45499 /* 127637 */ GIR_EraseRootFromParent_Done,
45500 /* 127638 */ // Label 2835: @127638
45501 /* 127638 */ GIM_Try, /*On fail goto*//*Label 2836*/ GIMT_Encode4(127676), // Rule ID 753 //
45502 /* 127643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45503 /* 127646 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45504 /* 127650 */ // (rotl:{ *:[i8] } GR8:{ *:[i8] }:$src1, CL:{ *:[i8] }) => (ROL8rCL_ND:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src1)
45505 /* 127650 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45506 /* 127654 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45507 /* 127660 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45508 /* 127664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL8rCL_ND),
45509 /* 127667 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45510 /* 127669 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45511 /* 127671 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45512 /* 127674 */ GIR_RootConstrainSelectedInstOperands,
45513 /* 127675 */ // GIR_Coverage, 753,
45514 /* 127675 */ GIR_EraseRootFromParent_Done,
45515 /* 127676 */ // Label 2836: @127676
45516 /* 127676 */ GIM_Reject,
45517 /* 127677 */ // Label 2830: @127677
45518 /* 127677 */ GIM_Reject,
45519 /* 127678 */ // Label 2816: @127678
45520 /* 127678 */ GIM_Try, /*On fail goto*//*Label 2837*/ GIMT_Encode4(127888),
45521 /* 127683 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
45522 /* 127686 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
45523 /* 127689 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45524 /* 127693 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
45525 /* 127697 */ GIM_Try, /*On fail goto*//*Label 2838*/ GIMT_Encode4(127721), // Rule ID 17563 //
45526 /* 127702 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45527 /* 127705 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
45528 /* 127709 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROR16r1:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
45529 /* 127709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16r1),
45530 /* 127712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45531 /* 127714 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45532 /* 127716 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45533 /* 127719 */ GIR_RootConstrainSelectedInstOperands,
45534 /* 127720 */ // GIR_Coverage, 17563,
45535 /* 127720 */ GIR_EraseRootFromParent_Done,
45536 /* 127721 */ // Label 2838: @127721
45537 /* 127721 */ GIM_Try, /*On fail goto*//*Label 2839*/ GIMT_Encode4(127745), // Rule ID 17571 //
45538 /* 127726 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45539 /* 127729 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 15,
45540 /* 127733 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, 15:{ *:[i8] }) => (ROR16r1_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
45541 /* 127733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR16r1_ND),
45542 /* 127736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45543 /* 127738 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45544 /* 127740 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45545 /* 127743 */ GIR_RootConstrainSelectedInstOperands,
45546 /* 127744 */ // GIR_Coverage, 17571,
45547 /* 127744 */ GIR_EraseRootFromParent_Done,
45548 /* 127745 */ // Label 2839: @127745
45549 /* 127745 */ GIM_Try, /*On fail goto*//*Label 2840*/ GIMT_Encode4(127778), // Rule ID 734 //
45550 /* 127750 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45551 /* 127753 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45552 /* 127757 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45553 /* 127761 */ // MIs[1] Operand 1
45554 /* 127761 */ // No operand predicates
45555 /* 127761 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45556 /* 127763 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
45557 /* 127763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri),
45558 /* 127766 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45559 /* 127768 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45560 /* 127770 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45561 /* 127773 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45562 /* 127776 */ GIR_RootConstrainSelectedInstOperands,
45563 /* 127777 */ // GIR_Coverage, 734,
45564 /* 127777 */ GIR_EraseRootFromParent_Done,
45565 /* 127778 */ // Label 2840: @127778
45566 /* 127778 */ GIM_Try, /*On fail goto*//*Label 2841*/ GIMT_Encode4(127811), // Rule ID 738 //
45567 /* 127783 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45568 /* 127786 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45569 /* 127790 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45570 /* 127794 */ // MIs[1] Operand 1
45571 /* 127794 */ // No operand predicates
45572 /* 127794 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45573 /* 127796 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL16ri_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1, (imm:{ *:[i8] }):$src2)
45574 /* 127796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri_ND),
45575 /* 127799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45576 /* 127801 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45577 /* 127803 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45578 /* 127806 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45579 /* 127809 */ GIR_RootConstrainSelectedInstOperands,
45580 /* 127810 */ // GIR_Coverage, 738,
45581 /* 127810 */ GIR_EraseRootFromParent_Done,
45582 /* 127811 */ // Label 2841: @127811
45583 /* 127811 */ GIM_Try, /*On fail goto*//*Label 2842*/ GIMT_Encode4(127849), // Rule ID 750 //
45584 /* 127816 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45585 /* 127819 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45586 /* 127823 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROL16rCL:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
45587 /* 127823 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45588 /* 127827 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45589 /* 127833 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45590 /* 127837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16rCL),
45591 /* 127840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45592 /* 127842 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45593 /* 127844 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45594 /* 127847 */ GIR_RootConstrainSelectedInstOperands,
45595 /* 127848 */ // GIR_Coverage, 750,
45596 /* 127848 */ GIR_EraseRootFromParent_Done,
45597 /* 127849 */ // Label 2842: @127849
45598 /* 127849 */ GIM_Try, /*On fail goto*//*Label 2843*/ GIMT_Encode4(127887), // Rule ID 754 //
45599 /* 127854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45600 /* 127857 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45601 /* 127861 */ // (rotl:{ *:[i16] } GR16:{ *:[i16] }:$src1, CL:{ *:[i8] }) => (ROL16rCL_ND:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
45602 /* 127861 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45603 /* 127865 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45604 /* 127871 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45605 /* 127875 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16rCL_ND),
45606 /* 127878 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45607 /* 127880 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45608 /* 127882 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45609 /* 127885 */ GIR_RootConstrainSelectedInstOperands,
45610 /* 127886 */ // GIR_Coverage, 754,
45611 /* 127886 */ GIR_EraseRootFromParent_Done,
45612 /* 127887 */ // Label 2843: @127887
45613 /* 127887 */ GIM_Reject,
45614 /* 127888 */ // Label 2837: @127888
45615 /* 127888 */ GIM_Reject,
45616 /* 127889 */ // Label 2817: @127889
45617 /* 127889 */ GIM_Try, /*On fail goto*//*Label 2844*/ GIMT_Encode4(128132),
45618 /* 127894 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
45619 /* 127897 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
45620 /* 127900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45621 /* 127904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
45622 /* 127908 */ GIM_Try, /*On fail goto*//*Label 2845*/ GIMT_Encode4(127941), // Rule ID 845 //
45623 /* 127913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFastSHLDRotate),
45624 /* 127916 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45625 /* 127920 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45626 /* 127924 */ // MIs[1] Operand 1
45627 /* 127924 */ // No operand predicates
45628 /* 127924 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45629 /* 127926 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHLDROT32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$shamt)
45630 /* 127926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLDROT32ri),
45631 /* 127929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45632 /* 127931 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45633 /* 127933 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
45634 /* 127936 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45635 /* 127939 */ GIR_RootConstrainSelectedInstOperands,
45636 /* 127940 */ // GIR_Coverage, 845,
45637 /* 127940 */ GIR_EraseRootFromParent_Done,
45638 /* 127941 */ // Label 2845: @127941
45639 /* 127941 */ GIM_Try, /*On fail goto*//*Label 2846*/ GIMT_Encode4(127965), // Rule ID 17564 //
45640 /* 127946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45641 /* 127949 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
45642 /* 127953 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROR32r1:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
45643 /* 127953 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32r1),
45644 /* 127956 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45645 /* 127958 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45646 /* 127960 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45647 /* 127963 */ GIR_RootConstrainSelectedInstOperands,
45648 /* 127964 */ // GIR_Coverage, 17564,
45649 /* 127964 */ GIR_EraseRootFromParent_Done,
45650 /* 127965 */ // Label 2846: @127965
45651 /* 127965 */ GIM_Try, /*On fail goto*//*Label 2847*/ GIMT_Encode4(127989), // Rule ID 17572 //
45652 /* 127970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45653 /* 127973 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 31,
45654 /* 127977 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, 31:{ *:[i8] }) => (ROR32r1_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
45655 /* 127977 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR32r1_ND),
45656 /* 127980 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45657 /* 127982 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45658 /* 127984 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45659 /* 127987 */ GIR_RootConstrainSelectedInstOperands,
45660 /* 127988 */ // GIR_Coverage, 17572,
45661 /* 127988 */ GIR_EraseRootFromParent_Done,
45662 /* 127989 */ // Label 2847: @127989
45663 /* 127989 */ GIM_Try, /*On fail goto*//*Label 2848*/ GIMT_Encode4(128022), // Rule ID 735 //
45664 /* 127994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45665 /* 127997 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45666 /* 128001 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45667 /* 128005 */ // MIs[1] Operand 1
45668 /* 128005 */ // No operand predicates
45669 /* 128005 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45670 /* 128007 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL32ri:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
45671 /* 128007 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32ri),
45672 /* 128010 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45673 /* 128012 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45674 /* 128014 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45675 /* 128017 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45676 /* 128020 */ GIR_RootConstrainSelectedInstOperands,
45677 /* 128021 */ // GIR_Coverage, 735,
45678 /* 128021 */ GIR_EraseRootFromParent_Done,
45679 /* 128022 */ // Label 2848: @128022
45680 /* 128022 */ GIM_Try, /*On fail goto*//*Label 2849*/ GIMT_Encode4(128055), // Rule ID 739 //
45681 /* 128027 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45682 /* 128030 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45683 /* 128034 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45684 /* 128038 */ // MIs[1] Operand 1
45685 /* 128038 */ // No operand predicates
45686 /* 128038 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45687 /* 128040 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL32ri_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1, (imm:{ *:[i8] }):$src2)
45688 /* 128040 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32ri_ND),
45689 /* 128043 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45690 /* 128045 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45691 /* 128047 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45692 /* 128050 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45693 /* 128053 */ GIR_RootConstrainSelectedInstOperands,
45694 /* 128054 */ // GIR_Coverage, 739,
45695 /* 128054 */ GIR_EraseRootFromParent_Done,
45696 /* 128055 */ // Label 2849: @128055
45697 /* 128055 */ GIM_Try, /*On fail goto*//*Label 2850*/ GIMT_Encode4(128093), // Rule ID 751 //
45698 /* 128060 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45699 /* 128063 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45700 /* 128067 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROL32rCL:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
45701 /* 128067 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45702 /* 128071 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45703 /* 128077 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45704 /* 128081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32rCL),
45705 /* 128084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45706 /* 128086 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45707 /* 128088 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45708 /* 128091 */ GIR_RootConstrainSelectedInstOperands,
45709 /* 128092 */ // GIR_Coverage, 751,
45710 /* 128092 */ GIR_EraseRootFromParent_Done,
45711 /* 128093 */ // Label 2850: @128093
45712 /* 128093 */ GIM_Try, /*On fail goto*//*Label 2851*/ GIMT_Encode4(128131), // Rule ID 755 //
45713 /* 128098 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45714 /* 128101 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45715 /* 128105 */ // (rotl:{ *:[i32] } GR32:{ *:[i32] }:$src1, CL:{ *:[i8] }) => (ROL32rCL_ND:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
45716 /* 128105 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45717 /* 128109 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45718 /* 128115 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45719 /* 128119 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL32rCL_ND),
45720 /* 128122 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45721 /* 128124 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45722 /* 128126 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45723 /* 128129 */ GIR_RootConstrainSelectedInstOperands,
45724 /* 128130 */ // GIR_Coverage, 755,
45725 /* 128130 */ GIR_EraseRootFromParent_Done,
45726 /* 128131 */ // Label 2851: @128131
45727 /* 128131 */ GIM_Reject,
45728 /* 128132 */ // Label 2844: @128132
45729 /* 128132 */ GIM_Reject,
45730 /* 128133 */ // Label 2818: @128133
45731 /* 128133 */ GIM_Try, /*On fail goto*//*Label 2852*/ GIMT_Encode4(128376),
45732 /* 128138 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
45733 /* 128141 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s8,
45734 /* 128144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45735 /* 128148 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
45736 /* 128152 */ GIM_Try, /*On fail goto*//*Label 2853*/ GIMT_Encode4(128185), // Rule ID 846 //
45737 /* 128157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFastSHLDRotate),
45738 /* 128160 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45739 /* 128164 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45740 /* 128168 */ // MIs[1] Operand 1
45741 /* 128168 */ // No operand predicates
45742 /* 128168 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45743 /* 128170 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt) => (SHLDROT64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$shamt)
45744 /* 128170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SHLDROT64ri),
45745 /* 128173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45746 /* 128175 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45747 /* 128177 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // shamt
45748 /* 128180 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45749 /* 128183 */ GIR_RootConstrainSelectedInstOperands,
45750 /* 128184 */ // GIR_Coverage, 846,
45751 /* 128184 */ GIR_EraseRootFromParent_Done,
45752 /* 128185 */ // Label 2853: @128185
45753 /* 128185 */ GIM_Try, /*On fail goto*//*Label 2854*/ GIMT_Encode4(128209), // Rule ID 17565 //
45754 /* 128190 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45755 /* 128193 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
45756 /* 128197 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROR64r1:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
45757 /* 128197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64r1),
45758 /* 128200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45759 /* 128202 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45760 /* 128204 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45761 /* 128207 */ GIR_RootConstrainSelectedInstOperands,
45762 /* 128208 */ // GIR_Coverage, 17565,
45763 /* 128208 */ GIR_EraseRootFromParent_Done,
45764 /* 128209 */ // Label 2854: @128209
45765 /* 128209 */ GIM_Try, /*On fail goto*//*Label 2855*/ GIMT_Encode4(128233), // Rule ID 17573 //
45766 /* 128214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD),
45767 /* 128217 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 63,
45768 /* 128221 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, 63:{ *:[i8] }) => (ROR64r1_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
45769 /* 128221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROR64r1_ND),
45770 /* 128224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45771 /* 128226 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45772 /* 128228 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45773 /* 128231 */ GIR_RootConstrainSelectedInstOperands,
45774 /* 128232 */ // GIR_Coverage, 17573,
45775 /* 128232 */ GIR_EraseRootFromParent_Done,
45776 /* 128233 */ // Label 2855: @128233
45777 /* 128233 */ GIM_Try, /*On fail goto*//*Label 2856*/ GIMT_Encode4(128266), // Rule ID 736 //
45778 /* 128238 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45779 /* 128241 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45780 /* 128245 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45781 /* 128249 */ // MIs[1] Operand 1
45782 /* 128249 */ // No operand predicates
45783 /* 128249 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45784 /* 128251 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL64ri:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
45785 /* 128251 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64ri),
45786 /* 128254 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45787 /* 128256 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45788 /* 128258 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45789 /* 128261 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45790 /* 128264 */ GIR_RootConstrainSelectedInstOperands,
45791 /* 128265 */ // GIR_Coverage, 736,
45792 /* 128265 */ GIR_EraseRootFromParent_Done,
45793 /* 128266 */ // Label 2856: @128266
45794 /* 128266 */ GIM_Try, /*On fail goto*//*Label 2857*/ GIMT_Encode4(128299), // Rule ID 740 //
45795 /* 128271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45796 /* 128274 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45797 /* 128278 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
45798 /* 128282 */ // MIs[1] Operand 1
45799 /* 128282 */ // No operand predicates
45800 /* 128282 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45801 /* 128284 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2) => (ROL64ri_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1, (imm:{ *:[i8] }):$src2)
45802 /* 128284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64ri_ND),
45803 /* 128287 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45804 /* 128289 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45805 /* 128291 */ GIR_CopyConstantAsSImm, /*NewInsnID*/0, /*OldInsnID*/1, // src2
45806 /* 128294 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45807 /* 128297 */ GIR_RootConstrainSelectedInstOperands,
45808 /* 128298 */ // GIR_Coverage, 740,
45809 /* 128298 */ GIR_EraseRootFromParent_Done,
45810 /* 128299 */ // Label 2857: @128299
45811 /* 128299 */ GIM_Try, /*On fail goto*//*Label 2858*/ GIMT_Encode4(128337), // Rule ID 752 //
45812 /* 128304 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD),
45813 /* 128307 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45814 /* 128311 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROL64rCL:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
45815 /* 128311 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45816 /* 128315 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45817 /* 128321 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45818 /* 128325 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64rCL),
45819 /* 128328 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45820 /* 128330 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45821 /* 128332 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45822 /* 128335 */ GIR_RootConstrainSelectedInstOperands,
45823 /* 128336 */ // GIR_Coverage, 752,
45824 /* 128336 */ GIR_EraseRootFromParent_Done,
45825 /* 128337 */ // Label 2858: @128337
45826 /* 128337 */ GIM_Try, /*On fail goto*//*Label 2859*/ GIMT_Encode4(128375), // Rule ID 756 //
45827 /* 128342 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasNDD_In64BitMode),
45828 /* 128345 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::GR8_ABCD_LRegClassID),
45829 /* 128349 */ // (rotl:{ *:[i64] } GR64:{ *:[i64] }:$src1, CL:{ *:[i8] }) => (ROL64rCL_ND:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
45830 /* 128349 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
45831 /* 128353 */ GIR_AddRegister, /*InsnID*/1, GIMT_Encode2(X86::CL), /*AddRegisterRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45832 /* 128359 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/2, // CL
45833 /* 128363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL64rCL_ND),
45834 /* 128366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45835 /* 128368 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45836 /* 128370 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
45837 /* 128373 */ GIR_RootConstrainSelectedInstOperands,
45838 /* 128374 */ // GIR_Coverage, 756,
45839 /* 128374 */ GIR_EraseRootFromParent_Done,
45840 /* 128375 */ // Label 2859: @128375
45841 /* 128375 */ GIM_Reject,
45842 /* 128376 */ // Label 2852: @128376
45843 /* 128376 */ GIM_Reject,
45844 /* 128377 */ // Label 2819: @128377
45845 /* 128377 */ GIM_Try, /*On fail goto*//*Label 2860*/ GIMT_Encode4(128532),
45846 /* 128382 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
45847 /* 128385 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
45848 /* 128388 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45849 /* 128392 */ GIM_Try, /*On fail goto*//*Label 2861*/ GIMT_Encode4(128450), // Rule ID 1553 //
45850 /* 128397 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
45851 /* 128400 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45852 /* 128404 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45853 /* 128408 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45854 /* 128411 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45855 /* 128415 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45856 /* 128419 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45857 /* 128423 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45858 /* 128425 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45859 /* 128432 */ // (rotl:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src2) => (VPROTBmr:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v16i8] }:$src2)
45860 /* 128432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTBmr),
45861 /* 128435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45862 /* 128437 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45863 /* 128441 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
45864 /* 128443 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45865 /* 128448 */ GIR_RootConstrainSelectedInstOperands,
45866 /* 128449 */ // GIR_Coverage, 1553,
45867 /* 128449 */ GIR_EraseRootFromParent_Done,
45868 /* 128450 */ // Label 2861: @128450
45869 /* 128450 */ GIM_Try, /*On fail goto*//*Label 2862*/ GIMT_Encode4(128508), // Rule ID 1552 //
45870 /* 128455 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
45871 /* 128458 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45872 /* 128462 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45873 /* 128466 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45874 /* 128470 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45875 /* 128473 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45876 /* 128477 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45877 /* 128481 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45878 /* 128483 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45879 /* 128490 */ // (rotl:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
45880 /* 128490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTBrm),
45881 /* 128493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45882 /* 128495 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45883 /* 128497 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45884 /* 128501 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45885 /* 128506 */ GIR_RootConstrainSelectedInstOperands,
45886 /* 128507 */ // GIR_Coverage, 1552,
45887 /* 128507 */ GIR_EraseRootFromParent_Done,
45888 /* 128508 */ // Label 2862: @128508
45889 /* 128508 */ GIM_Try, /*On fail goto*//*Label 2863*/ GIMT_Encode4(128531), // Rule ID 1551 //
45890 /* 128513 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
45891 /* 128516 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45892 /* 128520 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45893 /* 128524 */ // (rotl:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPROTBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
45894 /* 128524 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTBrr),
45895 /* 128529 */ GIR_RootConstrainSelectedInstOperands,
45896 /* 128530 */ // GIR_Coverage, 1551,
45897 /* 128530 */ GIR_Done,
45898 /* 128531 */ // Label 2863: @128531
45899 /* 128531 */ GIM_Reject,
45900 /* 128532 */ // Label 2860: @128532
45901 /* 128532 */ GIM_Reject,
45902 /* 128533 */ // Label 2820: @128533
45903 /* 128533 */ GIM_Try, /*On fail goto*//*Label 2864*/ GIMT_Encode4(128948),
45904 /* 128538 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
45905 /* 128541 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
45906 /* 128544 */ GIM_Try, /*On fail goto*//*Label 2865*/ GIMT_Encode4(128606), // Rule ID 1562 //
45907 /* 128549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
45908 /* 128552 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45909 /* 128556 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
45910 /* 128560 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45911 /* 128564 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45912 /* 128567 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45913 /* 128571 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45914 /* 128575 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45915 /* 128579 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45916 /* 128581 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45917 /* 128588 */ // (rotl:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src2) => (VPROTWmr:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v8i16] }:$src2)
45918 /* 128588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTWmr),
45919 /* 128591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45920 /* 128593 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
45921 /* 128597 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
45922 /* 128599 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45923 /* 128604 */ GIR_RootConstrainSelectedInstOperands,
45924 /* 128605 */ // GIR_Coverage, 1562,
45925 /* 128605 */ GIR_EraseRootFromParent_Done,
45926 /* 128606 */ // Label 2865: @128606
45927 /* 128606 */ GIM_Try, /*On fail goto*//*Label 2866*/ GIMT_Encode4(128668), // Rule ID 1561 //
45928 /* 128611 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
45929 /* 128614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45930 /* 128618 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45931 /* 128622 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
45932 /* 128626 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
45933 /* 128630 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
45934 /* 128633 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
45935 /* 128637 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
45936 /* 128641 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
45937 /* 128643 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
45938 /* 128650 */ // (rotl:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
45939 /* 128650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTWrm),
45940 /* 128653 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45941 /* 128655 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45942 /* 128657 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
45943 /* 128661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
45944 /* 128666 */ GIR_RootConstrainSelectedInstOperands,
45945 /* 128667 */ // GIR_Coverage, 1561,
45946 /* 128667 */ GIR_EraseRootFromParent_Done,
45947 /* 128668 */ // Label 2866: @128668
45948 /* 128668 */ GIM_Try, /*On fail goto*//*Label 2867*/ GIMT_Encode4(128695), // Rule ID 1560 //
45949 /* 128673 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
45950 /* 128676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45951 /* 128680 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45952 /* 128684 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
45953 /* 128688 */ // (rotl:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPROTWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
45954 /* 128688 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTWrr),
45955 /* 128693 */ GIR_RootConstrainSelectedInstOperands,
45956 /* 128694 */ // GIR_Coverage, 1560,
45957 /* 128694 */ GIR_Done,
45958 /* 128695 */ // Label 2867: @128695
45959 /* 128695 */ GIM_Try, /*On fail goto*//*Label 2868*/ GIMT_Encode4(128728), // Rule ID 22156 //
45960 /* 128700 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
45961 /* 128703 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45962 /* 128707 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45963 /* 128711 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45964 /* 128715 */ // (rotl:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSHLDVWZ128r:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
45965 /* 128715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ128r),
45966 /* 128718 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
45967 /* 128720 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45968 /* 128722 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
45969 /* 128724 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
45970 /* 128726 */ GIR_RootConstrainSelectedInstOperands,
45971 /* 128727 */ // GIR_Coverage, 22156,
45972 /* 128727 */ GIR_EraseRootFromParent_Done,
45973 /* 128728 */ // Label 2868: @128728
45974 /* 128728 */ GIM_Try, /*On fail goto*//*Label 2869*/ GIMT_Encode4(128947), // Rule ID 22164 //
45975 /* 128733 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
45976 /* 128736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
45977 /* 128740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45978 /* 128744 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
45979 /* 128748 */ // (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] })
45980 /* 128748 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
45981 /* 128751 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45982 /* 128755 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45983 /* 128760 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
45984 /* 128762 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
45985 /* 128765 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45986 /* 128769 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45987 /* 128774 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
45988 /* 128777 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/2, // src2
45989 /* 128781 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/9,
45990 /* 128784 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
45991 /* 128789 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
45992 /* 128794 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
45993 /* 128799 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
45994 /* 128802 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
45995 /* 128806 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
45996 /* 128811 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
45997 /* 128813 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
45998 /* 128816 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
45999 /* 128820 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46000 /* 128825 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
46001 /* 128828 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
46002 /* 128832 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
46003 /* 128835 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46004 /* 128840 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46005 /* 128845 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46006 /* 128850 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46007 /* 128853 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46008 /* 128857 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46009 /* 128862 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46010 /* 128864 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
46011 /* 128867 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46012 /* 128871 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46013 /* 128876 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46014 /* 128879 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
46015 /* 128883 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46016 /* 128886 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46017 /* 128891 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46018 /* 128896 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46019 /* 128901 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
46020 /* 128904 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
46021 /* 128908 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46022 /* 128913 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46023 /* 128916 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46024 /* 128919 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
46025 /* 128922 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46026 /* 128924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46027 /* 128927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46028 /* 128929 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46029 /* 128936 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46030 /* 128941 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46031 /* 128946 */ // GIR_Coverage, 22164,
46032 /* 128946 */ GIR_EraseRootFromParent_Done,
46033 /* 128947 */ // Label 2869: @128947
46034 /* 128947 */ GIM_Reject,
46035 /* 128948 */ // Label 2864: @128948
46036 /* 128948 */ GIM_Reject,
46037 /* 128949 */ // Label 2821: @128949
46038 /* 128949 */ GIM_Try, /*On fail goto*//*Label 2870*/ GIMT_Encode4(129201),
46039 /* 128954 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
46040 /* 128957 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
46041 /* 128960 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46042 /* 128964 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46043 /* 128968 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46044 /* 128972 */ GIM_Try, /*On fail goto*//*Label 2871*/ GIMT_Encode4(128993), // Rule ID 22152 //
46045 /* 128977 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
46046 /* 128980 */ // (rotl:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSHLDVWZ256r:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
46047 /* 128980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZ256r),
46048 /* 128983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46049 /* 128985 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46050 /* 128987 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46051 /* 128989 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
46052 /* 128991 */ GIR_RootConstrainSelectedInstOperands,
46053 /* 128992 */ // GIR_Coverage, 22152,
46054 /* 128992 */ GIR_EraseRootFromParent_Done,
46055 /* 128993 */ // Label 2871: @128993
46056 /* 128993 */ GIM_Try, /*On fail goto*//*Label 2872*/ GIMT_Encode4(129200), // Rule ID 22160 //
46057 /* 128998 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_NoVLX),
46058 /* 129001 */ // (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] })
46059 /* 129001 */ GIR_MakeTempReg, /*TempRegID*/6, /*TypeID*/GILLT_v32s16,
46060 /* 129004 */ GIR_BuildMI, /*InsnID*/7, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46061 /* 129008 */ GIR_AddTempRegister, /*InsnID*/7, /*TempRegID*/6, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46062 /* 129013 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/7,
46063 /* 129015 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
46064 /* 129018 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46065 /* 129022 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46066 /* 129027 */ GIR_AddSimpleTempRegister, /*InsnID*/6, /*TempRegID*/6,
46067 /* 129030 */ GIR_Copy, /*NewInsnID*/6, /*OldInsnID*/0, /*OpIdx*/2, // src2
46068 /* 129034 */ GIR_AddImm8, /*InsnID*/6, /*Imm*/10,
46069 /* 129037 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46070 /* 129042 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46071 /* 129047 */ GIR_ConstrainOperandRC, /*InsnID*/6, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46072 /* 129052 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
46073 /* 129055 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46074 /* 129059 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46075 /* 129064 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
46076 /* 129066 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
46077 /* 129069 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46078 /* 129073 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46079 /* 129078 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
46080 /* 129081 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // src1
46081 /* 129085 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
46082 /* 129088 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46083 /* 129093 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46084 /* 129098 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46085 /* 129103 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46086 /* 129106 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46087 /* 129110 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46088 /* 129115 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46089 /* 129117 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
46090 /* 129120 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46091 /* 129124 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46092 /* 129129 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46093 /* 129132 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
46094 /* 129136 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46095 /* 129139 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46096 /* 129144 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46097 /* 129149 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46098 /* 129154 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
46099 /* 129157 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
46100 /* 129161 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46101 /* 129166 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46102 /* 129169 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46103 /* 129172 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/5,
46104 /* 129175 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46105 /* 129177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46106 /* 129180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46107 /* 129182 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
46108 /* 129189 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
46109 /* 129194 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46110 /* 129199 */ // GIR_Coverage, 22160,
46111 /* 129199 */ GIR_EraseRootFromParent_Done,
46112 /* 129200 */ // Label 2872: @129200
46113 /* 129200 */ GIM_Reject,
46114 /* 129201 */ // Label 2870: @129201
46115 /* 129201 */ GIM_Reject,
46116 /* 129202 */ // Label 2822: @129202
46117 /* 129202 */ GIM_Try, /*On fail goto*//*Label 2873*/ GIMT_Encode4(129241), // Rule ID 22148 //
46118 /* 129207 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
46119 /* 129210 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
46120 /* 129213 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
46121 /* 129216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46122 /* 129220 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46123 /* 129224 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46124 /* 129228 */ // (rotl:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSHLDVWZr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
46125 /* 129228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSHLDVWZr),
46126 /* 129231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46127 /* 129233 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46128 /* 129235 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46129 /* 129237 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
46130 /* 129239 */ GIR_RootConstrainSelectedInstOperands,
46131 /* 129240 */ // GIR_Coverage, 22148,
46132 /* 129240 */ GIR_EraseRootFromParent_Done,
46133 /* 129241 */ // Label 2873: @129241
46134 /* 129241 */ GIM_Reject,
46135 /* 129242 */ // Label 2823: @129242
46136 /* 129242 */ GIM_Try, /*On fail goto*//*Label 2874*/ GIMT_Encode4(129659),
46137 /* 129247 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
46138 /* 129250 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
46139 /* 129253 */ GIM_Try, /*On fail goto*//*Label 2875*/ GIMT_Encode4(129315), // Rule ID 1556 //
46140 /* 129258 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46141 /* 129261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46142 /* 129265 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46143 /* 129269 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46144 /* 129273 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46145 /* 129276 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46146 /* 129280 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46147 /* 129284 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46148 /* 129288 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46149 /* 129290 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46150 /* 129297 */ // (rotl:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src2) => (VPROTDmr:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v4i32] }:$src2)
46151 /* 129297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTDmr),
46152 /* 129300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46153 /* 129302 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
46154 /* 129306 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
46155 /* 129308 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46156 /* 129313 */ GIR_RootConstrainSelectedInstOperands,
46157 /* 129314 */ // GIR_Coverage, 1556,
46158 /* 129314 */ GIR_EraseRootFromParent_Done,
46159 /* 129315 */ // Label 2875: @129315
46160 /* 129315 */ GIM_Try, /*On fail goto*//*Label 2876*/ GIMT_Encode4(129377), // Rule ID 1555 //
46161 /* 129320 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46162 /* 129323 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46163 /* 129327 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46164 /* 129331 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46165 /* 129335 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46166 /* 129339 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46167 /* 129342 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46168 /* 129346 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46169 /* 129350 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46170 /* 129352 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46171 /* 129359 */ // (rotl:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
46172 /* 129359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTDrm),
46173 /* 129362 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46174 /* 129364 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46175 /* 129366 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46176 /* 129370 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46177 /* 129375 */ GIR_RootConstrainSelectedInstOperands,
46178 /* 129376 */ // GIR_Coverage, 1555,
46179 /* 129376 */ GIR_EraseRootFromParent_Done,
46180 /* 129377 */ // Label 2876: @129377
46181 /* 129377 */ GIM_Try, /*On fail goto*//*Label 2877*/ GIMT_Encode4(129439), // Rule ID 8012 //
46182 /* 129382 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46183 /* 129385 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46184 /* 129389 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46185 /* 129393 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46186 /* 129397 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46187 /* 129401 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46188 /* 129404 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46189 /* 129408 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46190 /* 129412 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46191 /* 129414 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46192 /* 129421 */ // (rotl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
46193 /* 129421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ128rm),
46194 /* 129424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46195 /* 129426 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46196 /* 129428 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46197 /* 129432 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46198 /* 129437 */ GIR_RootConstrainSelectedInstOperands,
46199 /* 129438 */ // GIR_Coverage, 8012,
46200 /* 129438 */ GIR_EraseRootFromParent_Done,
46201 /* 129439 */ // Label 2877: @129439
46202 /* 129439 */ GIM_Try, /*On fail goto*//*Label 2878*/ GIMT_Encode4(129466), // Rule ID 1554 //
46203 /* 129444 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46204 /* 129447 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46205 /* 129451 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46206 /* 129455 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46207 /* 129459 */ // (rotl:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPROTDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
46208 /* 129459 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTDrr),
46209 /* 129464 */ GIR_RootConstrainSelectedInstOperands,
46210 /* 129465 */ // GIR_Coverage, 1554,
46211 /* 129465 */ GIR_Done,
46212 /* 129466 */ // Label 2878: @129466
46213 /* 129466 */ GIM_Try, /*On fail goto*//*Label 2879*/ GIMT_Encode4(129493), // Rule ID 8009 //
46214 /* 129471 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46215 /* 129474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46216 /* 129478 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46217 /* 129482 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46218 /* 129486 */ // (rotl:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPROLVDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
46219 /* 129486 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ128rr),
46220 /* 129491 */ GIR_RootConstrainSelectedInstOperands,
46221 /* 129492 */ // GIR_Coverage, 8009,
46222 /* 129492 */ GIR_Done,
46223 /* 129493 */ // Label 2879: @129493
46224 /* 129493 */ GIM_Try, /*On fail goto*//*Label 2880*/ GIMT_Encode4(129658), // Rule ID 20796 //
46225 /* 129498 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
46226 /* 129501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
46227 /* 129505 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46228 /* 129509 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46229 /* 129513 */ // (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] })
46230 /* 129513 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
46231 /* 129516 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46232 /* 129520 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46233 /* 129525 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
46234 /* 129527 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
46235 /* 129530 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46236 /* 129534 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46237 /* 129539 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
46238 /* 129542 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
46239 /* 129546 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
46240 /* 129549 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46241 /* 129554 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46242 /* 129559 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46243 /* 129564 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
46244 /* 129567 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46245 /* 129571 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46246 /* 129576 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46247 /* 129578 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
46248 /* 129581 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46249 /* 129585 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46250 /* 129590 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46251 /* 129593 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
46252 /* 129597 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46253 /* 129600 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46254 /* 129605 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46255 /* 129610 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46256 /* 129615 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
46257 /* 129618 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
46258 /* 129622 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46259 /* 129627 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46260 /* 129630 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46261 /* 129633 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46262 /* 129635 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46263 /* 129638 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46264 /* 129640 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46265 /* 129647 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46266 /* 129652 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46267 /* 129657 */ // GIR_Coverage, 20796,
46268 /* 129657 */ GIR_EraseRootFromParent_Done,
46269 /* 129658 */ // Label 2880: @129658
46270 /* 129658 */ GIM_Reject,
46271 /* 129659 */ // Label 2874: @129659
46272 /* 129659 */ GIM_Reject,
46273 /* 129660 */ // Label 2824: @129660
46274 /* 129660 */ GIM_Try, /*On fail goto*//*Label 2881*/ GIMT_Encode4(129910),
46275 /* 129665 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
46276 /* 129668 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
46277 /* 129671 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46278 /* 129675 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46279 /* 129679 */ GIM_Try, /*On fail goto*//*Label 2882*/ GIMT_Encode4(129733), // Rule ID 8003 //
46280 /* 129684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46281 /* 129687 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46282 /* 129691 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46283 /* 129695 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46284 /* 129698 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46285 /* 129702 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46286 /* 129706 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46287 /* 129708 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46288 /* 129715 */ // (rotl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
46289 /* 129715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ256rm),
46290 /* 129718 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46291 /* 129720 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46292 /* 129722 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46293 /* 129726 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46294 /* 129731 */ GIR_RootConstrainSelectedInstOperands,
46295 /* 129732 */ // GIR_Coverage, 8003,
46296 /* 129732 */ GIR_EraseRootFromParent_Done,
46297 /* 129733 */ // Label 2882: @129733
46298 /* 129733 */ GIM_Try, /*On fail goto*//*Label 2883*/ GIMT_Encode4(129752), // Rule ID 8000 //
46299 /* 129738 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46300 /* 129741 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46301 /* 129745 */ // (rotl:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPROLVDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
46302 /* 129745 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZ256rr),
46303 /* 129750 */ GIR_RootConstrainSelectedInstOperands,
46304 /* 129751 */ // GIR_Coverage, 8000,
46305 /* 129751 */ GIR_Done,
46306 /* 129752 */ // Label 2883: @129752
46307 /* 129752 */ GIM_Try, /*On fail goto*//*Label 2884*/ GIMT_Encode4(129909), // Rule ID 20792 //
46308 /* 129757 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
46309 /* 129760 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46310 /* 129764 */ // (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] })
46311 /* 129764 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
46312 /* 129767 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46313 /* 129771 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46314 /* 129776 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
46315 /* 129778 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
46316 /* 129781 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46317 /* 129785 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46318 /* 129790 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
46319 /* 129793 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
46320 /* 129797 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
46321 /* 129800 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46322 /* 129805 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46323 /* 129810 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46324 /* 129815 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
46325 /* 129818 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46326 /* 129822 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46327 /* 129827 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46328 /* 129829 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
46329 /* 129832 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46330 /* 129836 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46331 /* 129841 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46332 /* 129844 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
46333 /* 129848 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46334 /* 129851 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46335 /* 129856 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46336 /* 129861 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46337 /* 129866 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
46338 /* 129869 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
46339 /* 129873 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46340 /* 129878 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46341 /* 129881 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46342 /* 129884 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46343 /* 129886 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46344 /* 129889 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46345 /* 129891 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
46346 /* 129898 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
46347 /* 129903 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46348 /* 129908 */ // GIR_Coverage, 20792,
46349 /* 129908 */ GIR_EraseRootFromParent_Done,
46350 /* 129909 */ // Label 2884: @129909
46351 /* 129909 */ GIM_Reject,
46352 /* 129910 */ // Label 2881: @129910
46353 /* 129910 */ GIM_Reject,
46354 /* 129911 */ // Label 2825: @129911
46355 /* 129911 */ GIM_Try, /*On fail goto*//*Label 2885*/ GIMT_Encode4(130004),
46356 /* 129916 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
46357 /* 129919 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
46358 /* 129922 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46359 /* 129926 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46360 /* 129930 */ GIM_Try, /*On fail goto*//*Label 2886*/ GIMT_Encode4(129984), // Rule ID 7994 //
46361 /* 129935 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
46362 /* 129938 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46363 /* 129942 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46364 /* 129946 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46365 /* 129949 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46366 /* 129953 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46367 /* 129957 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46368 /* 129959 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46369 /* 129966 */ // (rotl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
46370 /* 129966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrm),
46371 /* 129969 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46372 /* 129971 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46373 /* 129973 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46374 /* 129977 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46375 /* 129982 */ GIR_RootConstrainSelectedInstOperands,
46376 /* 129983 */ // GIR_Coverage, 7994,
46377 /* 129983 */ GIR_EraseRootFromParent_Done,
46378 /* 129984 */ // Label 2886: @129984
46379 /* 129984 */ GIM_Try, /*On fail goto*//*Label 2887*/ GIMT_Encode4(130003), // Rule ID 7991 //
46380 /* 129989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
46381 /* 129992 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46382 /* 129996 */ // (rotl:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPROLVDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
46383 /* 129996 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVDZrr),
46384 /* 130001 */ GIR_RootConstrainSelectedInstOperands,
46385 /* 130002 */ // GIR_Coverage, 7991,
46386 /* 130002 */ GIR_Done,
46387 /* 130003 */ // Label 2887: @130003
46388 /* 130003 */ GIM_Reject,
46389 /* 130004 */ // Label 2885: @130004
46390 /* 130004 */ GIM_Reject,
46391 /* 130005 */ // Label 2826: @130005
46392 /* 130005 */ GIM_Try, /*On fail goto*//*Label 2888*/ GIMT_Encode4(130422),
46393 /* 130010 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
46394 /* 130013 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
46395 /* 130016 */ GIM_Try, /*On fail goto*//*Label 2889*/ GIMT_Encode4(130078), // Rule ID 1559 //
46396 /* 130021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46397 /* 130024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46398 /* 130028 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
46399 /* 130032 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46400 /* 130036 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46401 /* 130039 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46402 /* 130043 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46403 /* 130047 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46404 /* 130051 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46405 /* 130053 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46406 /* 130060 */ // (rotl:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2i64] }:$src2) => (VPROTQmr:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1, VR128:{ *:[v2i64] }:$src2)
46407 /* 130060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTQmr),
46408 /* 130063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46409 /* 130065 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
46410 /* 130069 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
46411 /* 130071 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46412 /* 130076 */ GIR_RootConstrainSelectedInstOperands,
46413 /* 130077 */ // GIR_Coverage, 1559,
46414 /* 130077 */ GIR_EraseRootFromParent_Done,
46415 /* 130078 */ // Label 2889: @130078
46416 /* 130078 */ GIM_Try, /*On fail goto*//*Label 2890*/ GIMT_Encode4(130140), // Rule ID 1558 //
46417 /* 130083 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46418 /* 130086 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46419 /* 130090 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46420 /* 130094 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46421 /* 130098 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46422 /* 130102 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46423 /* 130105 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46424 /* 130109 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46425 /* 130113 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46426 /* 130115 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46427 /* 130122 */ // (rotl:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROTQrm:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
46428 /* 130122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROTQrm),
46429 /* 130125 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46430 /* 130127 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46431 /* 130129 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46432 /* 130133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46433 /* 130138 */ GIR_RootConstrainSelectedInstOperands,
46434 /* 130139 */ // GIR_Coverage, 1558,
46435 /* 130139 */ GIR_EraseRootFromParent_Done,
46436 /* 130140 */ // Label 2890: @130140
46437 /* 130140 */ GIM_Try, /*On fail goto*//*Label 2891*/ GIMT_Encode4(130202), // Rule ID 8039 //
46438 /* 130145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46439 /* 130148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46440 /* 130152 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46441 /* 130156 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46442 /* 130160 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46443 /* 130164 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46444 /* 130167 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46445 /* 130171 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46446 /* 130175 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46447 /* 130177 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46448 /* 130184 */ // (rotl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
46449 /* 130184 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ128rm),
46450 /* 130187 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46451 /* 130189 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46452 /* 130191 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46453 /* 130195 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46454 /* 130200 */ GIR_RootConstrainSelectedInstOperands,
46455 /* 130201 */ // GIR_Coverage, 8039,
46456 /* 130201 */ GIR_EraseRootFromParent_Done,
46457 /* 130202 */ // Label 2891: @130202
46458 /* 130202 */ GIM_Try, /*On fail goto*//*Label 2892*/ GIMT_Encode4(130229), // Rule ID 1557 //
46459 /* 130207 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasXOP),
46460 /* 130210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46461 /* 130214 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46462 /* 130218 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
46463 /* 130222 */ // (rotl:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2) => (VPROTQrr:{ *:[v2i64] } VR128:{ *:[v2i64] }:$src1, VR128:{ *:[v2i64] }:$src2)
46464 /* 130222 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROTQrr),
46465 /* 130227 */ GIR_RootConstrainSelectedInstOperands,
46466 /* 130228 */ // GIR_Coverage, 1557,
46467 /* 130228 */ GIR_Done,
46468 /* 130229 */ // Label 2892: @130229
46469 /* 130229 */ GIM_Try, /*On fail goto*//*Label 2893*/ GIMT_Encode4(130256), // Rule ID 8036 //
46470 /* 130234 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46471 /* 130237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46472 /* 130241 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46473 /* 130245 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46474 /* 130249 */ // (rotl:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPROLVQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
46475 /* 130249 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ128rr),
46476 /* 130254 */ GIR_RootConstrainSelectedInstOperands,
46477 /* 130255 */ // GIR_Coverage, 8036,
46478 /* 130255 */ GIR_Done,
46479 /* 130256 */ // Label 2893: @130256
46480 /* 130256 */ GIM_Try, /*On fail goto*//*Label 2894*/ GIMT_Encode4(130421), // Rule ID 20788 //
46481 /* 130261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
46482 /* 130264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
46483 /* 130268 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46484 /* 130272 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46485 /* 130276 */ // (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] })
46486 /* 130276 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
46487 /* 130279 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46488 /* 130283 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46489 /* 130288 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
46490 /* 130290 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
46491 /* 130293 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46492 /* 130297 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46493 /* 130302 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
46494 /* 130305 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
46495 /* 130309 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
46496 /* 130312 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46497 /* 130317 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46498 /* 130322 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46499 /* 130327 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
46500 /* 130330 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46501 /* 130334 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46502 /* 130339 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46503 /* 130341 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
46504 /* 130344 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46505 /* 130348 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46506 /* 130353 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46507 /* 130356 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
46508 /* 130360 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46509 /* 130363 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46510 /* 130368 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46511 /* 130373 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46512 /* 130378 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
46513 /* 130381 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
46514 /* 130385 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46515 /* 130390 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46516 /* 130393 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46517 /* 130396 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46518 /* 130398 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46519 /* 130401 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46520 /* 130403 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
46521 /* 130410 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
46522 /* 130415 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46523 /* 130420 */ // GIR_Coverage, 20788,
46524 /* 130420 */ GIR_EraseRootFromParent_Done,
46525 /* 130421 */ // Label 2894: @130421
46526 /* 130421 */ GIM_Reject,
46527 /* 130422 */ // Label 2888: @130422
46528 /* 130422 */ GIM_Reject,
46529 /* 130423 */ // Label 2827: @130423
46530 /* 130423 */ GIM_Try, /*On fail goto*//*Label 2895*/ GIMT_Encode4(130673),
46531 /* 130428 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
46532 /* 130431 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
46533 /* 130434 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46534 /* 130438 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46535 /* 130442 */ GIM_Try, /*On fail goto*//*Label 2896*/ GIMT_Encode4(130496), // Rule ID 8030 //
46536 /* 130447 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46537 /* 130450 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46538 /* 130454 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46539 /* 130458 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46540 /* 130461 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46541 /* 130465 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46542 /* 130469 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46543 /* 130471 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46544 /* 130478 */ // (rotl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
46545 /* 130478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ256rm),
46546 /* 130481 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46547 /* 130483 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46548 /* 130485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46549 /* 130489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46550 /* 130494 */ GIR_RootConstrainSelectedInstOperands,
46551 /* 130495 */ // GIR_Coverage, 8030,
46552 /* 130495 */ GIR_EraseRootFromParent_Done,
46553 /* 130496 */ // Label 2896: @130496
46554 /* 130496 */ GIM_Try, /*On fail goto*//*Label 2897*/ GIMT_Encode4(130515), // Rule ID 8027 //
46555 /* 130501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
46556 /* 130504 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46557 /* 130508 */ // (rotl:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPROLVQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
46558 /* 130508 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZ256rr),
46559 /* 130513 */ GIR_RootConstrainSelectedInstOperands,
46560 /* 130514 */ // GIR_Coverage, 8027,
46561 /* 130514 */ GIR_Done,
46562 /* 130515 */ // Label 2897: @130515
46563 /* 130515 */ GIM_Try, /*On fail goto*//*Label 2898*/ GIMT_Encode4(130672), // Rule ID 20784 //
46564 /* 130520 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
46565 /* 130523 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46566 /* 130527 */ // (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] })
46567 /* 130527 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
46568 /* 130530 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46569 /* 130534 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46570 /* 130539 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
46571 /* 130541 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
46572 /* 130544 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46573 /* 130548 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46574 /* 130553 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
46575 /* 130556 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
46576 /* 130560 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
46577 /* 130563 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46578 /* 130568 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46579 /* 130573 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46580 /* 130578 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
46581 /* 130581 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46582 /* 130585 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46583 /* 130590 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46584 /* 130592 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
46585 /* 130595 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46586 /* 130599 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46587 /* 130604 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46588 /* 130607 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
46589 /* 130611 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46590 /* 130614 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46591 /* 130619 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46592 /* 130624 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46593 /* 130629 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
46594 /* 130632 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
46595 /* 130636 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46596 /* 130641 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46597 /* 130644 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
46598 /* 130647 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46599 /* 130649 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46600 /* 130652 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46601 /* 130654 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
46602 /* 130661 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
46603 /* 130666 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46604 /* 130671 */ // GIR_Coverage, 20784,
46605 /* 130671 */ GIR_EraseRootFromParent_Done,
46606 /* 130672 */ // Label 2898: @130672
46607 /* 130672 */ GIM_Reject,
46608 /* 130673 */ // Label 2895: @130673
46609 /* 130673 */ GIM_Reject,
46610 /* 130674 */ // Label 2828: @130674
46611 /* 130674 */ GIM_Try, /*On fail goto*//*Label 2899*/ GIMT_Encode4(130767),
46612 /* 130679 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
46613 /* 130682 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
46614 /* 130685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46615 /* 130689 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46616 /* 130693 */ GIM_Try, /*On fail goto*//*Label 2900*/ GIMT_Encode4(130747), // Rule ID 8021 //
46617 /* 130698 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
46618 /* 130701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46619 /* 130705 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
46620 /* 130709 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
46621 /* 130712 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
46622 /* 130716 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
46623 /* 130720 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46624 /* 130722 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
46625 /* 130729 */ // (rotl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPROLVQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
46626 /* 130729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrm),
46627 /* 130732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46628 /* 130734 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
46629 /* 130736 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
46630 /* 130740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
46631 /* 130745 */ GIR_RootConstrainSelectedInstOperands,
46632 /* 130746 */ // GIR_Coverage, 8021,
46633 /* 130746 */ GIR_EraseRootFromParent_Done,
46634 /* 130747 */ // Label 2900: @130747
46635 /* 130747 */ GIM_Try, /*On fail goto*//*Label 2901*/ GIMT_Encode4(130766), // Rule ID 8018 //
46636 /* 130752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
46637 /* 130755 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46638 /* 130759 */ // (rotl:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPROLVQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
46639 /* 130759 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPROLVQZrr),
46640 /* 130764 */ GIR_RootConstrainSelectedInstOperands,
46641 /* 130765 */ // GIR_Coverage, 8018,
46642 /* 130765 */ GIR_Done,
46643 /* 130766 */ // Label 2901: @130766
46644 /* 130766 */ GIM_Reject,
46645 /* 130767 */ // Label 2899: @130767
46646 /* 130767 */ GIM_Reject,
46647 /* 130768 */ // Label 2829: @130768
46648 /* 130768 */ GIM_Reject,
46649 /* 130769 */ // Label 34: @130769
46650 /* 130769 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(7), GIMT_Encode2(13), /*)*//*default:*//*Label 2908*/ GIMT_Encode4(132381),
46651 /* 130780 */ /*GILLT_v2s1*//*Label 2902*/ GIMT_Encode4(130804),
46652 /* 130784 */ /*GILLT_v4s1*//*Label 2903*/ GIMT_Encode4(130965),
46653 /* 130788 */ /*GILLT_v8s1*//*Label 2904*/ GIMT_Encode4(131312),
46654 /* 130792 */ /*GILLT_v16s1*//*Label 2905*/ GIMT_Encode4(131709),
46655 /* 130796 */ /*GILLT_v32s1*//*Label 2906*/ GIMT_Encode4(132106),
46656 /* 130800 */ /*GILLT_v64s1*//*Label 2907*/ GIMT_Encode4(132330),
46657 /* 130804 */ // Label 2902: @130804
46658 /* 130804 */ GIM_Try, /*On fail goto*//*Label 2909*/ GIMT_Encode4(130964),
46659 /* 130809 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
46660 /* 130812 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
46661 /* 130815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
46662 /* 130819 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46663 /* 130824 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46664 /* 130828 */ GIM_Try, /*On fail goto*//*Label 2910*/ GIMT_Encode4(130859), // Rule ID 12586 //
46665 /* 130833 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
46666 /* 130836 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46667 /* 130840 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46668 /* 130846 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46669 /* 130848 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46670 /* 130850 */ // (setcc:{ *:[v2i1] } immAllZerosV:{ *:[v2i64] }, VR128X:{ *:[v2i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZ128kr:{ *:[v2i1] } VR128X:{ *:[v2i64] }:$src)
46671 /* 130850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZ128kr),
46672 /* 130853 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46673 /* 130855 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46674 /* 130857 */ GIR_RootConstrainSelectedInstOperands,
46675 /* 130858 */ // GIR_Coverage, 12586,
46676 /* 130858 */ GIR_EraseRootFromParent_Done,
46677 /* 130859 */ // Label 2910: @130859
46678 /* 130859 */ GIM_Try, /*On fail goto*//*Label 2911*/ GIMT_Encode4(130963), // Rule ID 21645 //
46679 /* 130864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
46680 /* 130867 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46681 /* 130871 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46682 /* 130877 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46683 /* 130879 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46684 /* 130881 */ // (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] })
46685 /* 130881 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
46686 /* 130884 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46687 /* 130888 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46688 /* 130893 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46689 /* 130895 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
46690 /* 130898 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46691 /* 130902 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46692 /* 130907 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46693 /* 130910 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46694 /* 130914 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46695 /* 130917 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46696 /* 130922 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46697 /* 130927 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46698 /* 130932 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
46699 /* 130935 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
46700 /* 130939 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46701 /* 130944 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46702 /* 130947 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46703 /* 130949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46704 /* 130952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46705 /* 130954 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46706 /* 130957 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
46707 /* 130962 */ // GIR_Coverage, 21645,
46708 /* 130962 */ GIR_EraseRootFromParent_Done,
46709 /* 130963 */ // Label 2911: @130963
46710 /* 130963 */ GIM_Reject,
46711 /* 130964 */ // Label 2909: @130964
46712 /* 130964 */ GIM_Reject,
46713 /* 130965 */ // Label 2903: @130965
46714 /* 130965 */ GIM_Try, /*On fail goto*//*Label 2912*/ GIMT_Encode4(131015), // Rule ID 12583 //
46715 /* 130970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
46716 /* 130973 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
46717 /* 130976 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
46718 /* 130979 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
46719 /* 130983 */ // MIs[0] Operand 1
46720 /* 130983 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46721 /* 130988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46722 /* 130992 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46723 /* 130998 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46724 /* 131000 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46725 /* 131004 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46726 /* 131006 */ // (setcc:{ *:[v4i1] } immAllZerosV:{ *:[v4i32] }, VR128X:{ *:[v4i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZ128kr:{ *:[v4i1] } VR128X:{ *:[v4i32] }:$src)
46727 /* 131006 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZ128kr),
46728 /* 131009 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46729 /* 131011 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46730 /* 131013 */ GIR_RootConstrainSelectedInstOperands,
46731 /* 131014 */ // GIR_Coverage, 12583,
46732 /* 131014 */ GIR_EraseRootFromParent_Done,
46733 /* 131015 */ // Label 2912: @131015
46734 /* 131015 */ GIM_Try, /*On fail goto*//*Label 2913*/ GIMT_Encode4(131065), // Rule ID 12585 //
46735 /* 131020 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
46736 /* 131023 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
46737 /* 131026 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
46738 /* 131029 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
46739 /* 131033 */ // MIs[0] Operand 1
46740 /* 131033 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46741 /* 131038 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46742 /* 131042 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46743 /* 131048 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46744 /* 131050 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46745 /* 131054 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46746 /* 131056 */ // (setcc:{ *:[v4i1] } immAllZerosV:{ *:[v4i64] }, VR256X:{ *:[v4i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZ256kr:{ *:[v4i1] } VR256X:{ *:[v4i64] }:$src)
46747 /* 131056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZ256kr),
46748 /* 131059 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46749 /* 131061 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46750 /* 131063 */ GIR_RootConstrainSelectedInstOperands,
46751 /* 131064 */ // GIR_Coverage, 12585,
46752 /* 131064 */ GIR_EraseRootFromParent_Done,
46753 /* 131065 */ // Label 2913: @131065
46754 /* 131065 */ GIM_Try, /*On fail goto*//*Label 2914*/ GIMT_Encode4(131188), // Rule ID 21643 //
46755 /* 131070 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
46756 /* 131073 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
46757 /* 131076 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
46758 /* 131079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
46759 /* 131083 */ // MIs[0] Operand 1
46760 /* 131083 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46761 /* 131088 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46762 /* 131092 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46763 /* 131098 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46764 /* 131100 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46765 /* 131104 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46766 /* 131106 */ // (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] })
46767 /* 131106 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
46768 /* 131109 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46769 /* 131113 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46770 /* 131118 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46771 /* 131120 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
46772 /* 131123 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46773 /* 131127 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46774 /* 131132 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46775 /* 131135 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46776 /* 131139 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46777 /* 131142 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46778 /* 131147 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46779 /* 131152 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46780 /* 131157 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
46781 /* 131160 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
46782 /* 131164 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46783 /* 131169 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46784 /* 131172 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46785 /* 131174 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46786 /* 131177 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46787 /* 131179 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46788 /* 131182 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
46789 /* 131187 */ // GIR_Coverage, 21643,
46790 /* 131187 */ GIR_EraseRootFromParent_Done,
46791 /* 131188 */ // Label 2914: @131188
46792 /* 131188 */ GIM_Try, /*On fail goto*//*Label 2915*/ GIMT_Encode4(131311), // Rule ID 21644 //
46793 /* 131193 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
46794 /* 131196 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
46795 /* 131199 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
46796 /* 131202 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
46797 /* 131206 */ // MIs[0] Operand 1
46798 /* 131206 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46799 /* 131211 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46800 /* 131215 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46801 /* 131221 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46802 /* 131223 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46803 /* 131227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46804 /* 131229 */ // (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] })
46805 /* 131229 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
46806 /* 131232 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46807 /* 131236 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46808 /* 131241 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46809 /* 131243 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
46810 /* 131246 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46811 /* 131250 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46812 /* 131255 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46813 /* 131258 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46814 /* 131262 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46815 /* 131265 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46816 /* 131270 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46817 /* 131275 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46818 /* 131280 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
46819 /* 131283 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
46820 /* 131287 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46821 /* 131292 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46822 /* 131295 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46823 /* 131297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46824 /* 131300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46825 /* 131302 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46826 /* 131305 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
46827 /* 131310 */ // GIR_Coverage, 21644,
46828 /* 131310 */ GIR_EraseRootFromParent_Done,
46829 /* 131311 */ // Label 2915: @131311
46830 /* 131311 */ GIM_Reject,
46831 /* 131312 */ // Label 2904: @131312
46832 /* 131312 */ GIM_Try, /*On fail goto*//*Label 2916*/ GIMT_Encode4(131362), // Rule ID 12580 //
46833 /* 131317 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
46834 /* 131320 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
46835 /* 131323 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
46836 /* 131326 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
46837 /* 131330 */ // MIs[0] Operand 1
46838 /* 131330 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46839 /* 131335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46840 /* 131339 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46841 /* 131345 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46842 /* 131347 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46843 /* 131351 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46844 /* 131353 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i16] }, VR128X:{ *:[v8i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZ128kr:{ *:[v8i1] } VR128X:{ *:[v8i16] }:$src)
46845 /* 131353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZ128kr),
46846 /* 131356 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46847 /* 131358 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46848 /* 131360 */ GIR_RootConstrainSelectedInstOperands,
46849 /* 131361 */ // GIR_Coverage, 12580,
46850 /* 131361 */ GIR_EraseRootFromParent_Done,
46851 /* 131362 */ // Label 2916: @131362
46852 /* 131362 */ GIM_Try, /*On fail goto*//*Label 2917*/ GIMT_Encode4(131412), // Rule ID 12582 //
46853 /* 131367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
46854 /* 131370 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
46855 /* 131373 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
46856 /* 131376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
46857 /* 131380 */ // MIs[0] Operand 1
46858 /* 131380 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46859 /* 131385 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46860 /* 131389 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46861 /* 131395 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46862 /* 131397 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46863 /* 131401 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46864 /* 131403 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i32] }, VR256X:{ *:[v8i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZ256kr:{ *:[v8i1] } VR256X:{ *:[v8i32] }:$src)
46865 /* 131403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZ256kr),
46866 /* 131406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46867 /* 131408 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46868 /* 131410 */ GIR_RootConstrainSelectedInstOperands,
46869 /* 131411 */ // GIR_Coverage, 12582,
46870 /* 131411 */ GIR_EraseRootFromParent_Done,
46871 /* 131412 */ // Label 2917: @131412
46872 /* 131412 */ GIM_Try, /*On fail goto*//*Label 2918*/ GIMT_Encode4(131462), // Rule ID 12584 //
46873 /* 131417 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
46874 /* 131420 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
46875 /* 131423 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
46876 /* 131426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
46877 /* 131430 */ // MIs[0] Operand 1
46878 /* 131430 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46879 /* 131435 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46880 /* 131439 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46881 /* 131445 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46882 /* 131447 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
46883 /* 131451 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46884 /* 131453 */ // (setcc:{ *:[v8i1] } immAllZerosV:{ *:[v8i64] }, VR512:{ *:[v8i64] }:$src, SETGT:{ *:[Other] }) => (VPMOVQ2MZkr:{ *:[v8i1] } VR512:{ *:[v8i64] }:$src)
46885 /* 131453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVQ2MZkr),
46886 /* 131456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46887 /* 131458 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46888 /* 131460 */ GIR_RootConstrainSelectedInstOperands,
46889 /* 131461 */ // GIR_Coverage, 12584,
46890 /* 131461 */ GIR_EraseRootFromParent_Done,
46891 /* 131462 */ // Label 2918: @131462
46892 /* 131462 */ GIM_Try, /*On fail goto*//*Label 2919*/ GIMT_Encode4(131585), // Rule ID 21641 //
46893 /* 131467 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
46894 /* 131470 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
46895 /* 131473 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
46896 /* 131476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
46897 /* 131480 */ // MIs[0] Operand 1
46898 /* 131480 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46899 /* 131485 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46900 /* 131489 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46901 /* 131495 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46902 /* 131497 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46903 /* 131501 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46904 /* 131503 */ // (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] })
46905 /* 131503 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
46906 /* 131506 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46907 /* 131510 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46908 /* 131515 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46909 /* 131517 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
46910 /* 131520 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46911 /* 131524 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46912 /* 131529 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46913 /* 131532 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46914 /* 131536 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
46915 /* 131539 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46916 /* 131544 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46917 /* 131549 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
46918 /* 131554 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s1,
46919 /* 131557 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
46920 /* 131561 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46921 /* 131566 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46922 /* 131569 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46923 /* 131571 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46924 /* 131574 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46925 /* 131576 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46926 /* 131579 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
46927 /* 131584 */ // GIR_Coverage, 21641,
46928 /* 131584 */ GIR_EraseRootFromParent_Done,
46929 /* 131585 */ // Label 2919: @131585
46930 /* 131585 */ GIM_Try, /*On fail goto*//*Label 2920*/ GIMT_Encode4(131708), // Rule ID 21642 //
46931 /* 131590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_NoVLX),
46932 /* 131593 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
46933 /* 131596 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
46934 /* 131599 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
46935 /* 131603 */ // MIs[0] Operand 1
46936 /* 131603 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46937 /* 131608 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46938 /* 131612 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46939 /* 131618 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46940 /* 131620 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
46941 /* 131624 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46942 /* 131626 */ // (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] })
46943 /* 131626 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
46944 /* 131629 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
46945 /* 131633 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46946 /* 131638 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
46947 /* 131640 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
46948 /* 131643 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
46949 /* 131647 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46950 /* 131652 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
46951 /* 131655 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
46952 /* 131659 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
46953 /* 131662 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
46954 /* 131667 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
46955 /* 131672 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
46956 /* 131677 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
46957 /* 131680 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
46958 /* 131684 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
46959 /* 131689 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
46960 /* 131692 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
46961 /* 131694 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
46962 /* 131697 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46963 /* 131699 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
46964 /* 131702 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
46965 /* 131707 */ // GIR_Coverage, 21642,
46966 /* 131707 */ GIR_EraseRootFromParent_Done,
46967 /* 131708 */ // Label 2920: @131708
46968 /* 131708 */ GIM_Reject,
46969 /* 131709 */ // Label 2905: @131709
46970 /* 131709 */ GIM_Try, /*On fail goto*//*Label 2921*/ GIMT_Encode4(131759), // Rule ID 12577 //
46971 /* 131714 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
46972 /* 131717 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
46973 /* 131720 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
46974 /* 131723 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
46975 /* 131727 */ // MIs[0] Operand 1
46976 /* 131727 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46977 /* 131732 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46978 /* 131736 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46979 /* 131742 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
46980 /* 131744 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
46981 /* 131748 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
46982 /* 131750 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i8] }, VR128X:{ *:[v16i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZ128kr:{ *:[v16i1] } VR128X:{ *:[v16i8] }:$src)
46983 /* 131750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZ128kr),
46984 /* 131753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
46985 /* 131755 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
46986 /* 131757 */ GIR_RootConstrainSelectedInstOperands,
46987 /* 131758 */ // GIR_Coverage, 12577,
46988 /* 131758 */ GIR_EraseRootFromParent_Done,
46989 /* 131759 */ // Label 2921: @131759
46990 /* 131759 */ GIM_Try, /*On fail goto*//*Label 2922*/ GIMT_Encode4(131809), // Rule ID 12579 //
46991 /* 131764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
46992 /* 131767 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
46993 /* 131770 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
46994 /* 131773 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
46995 /* 131777 */ // MIs[0] Operand 1
46996 /* 131777 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
46997 /* 131782 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
46998 /* 131786 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
46999 /* 131792 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47000 /* 131794 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47001 /* 131798 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47002 /* 131800 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i16] }, VR256X:{ *:[v16i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZ256kr:{ *:[v16i1] } VR256X:{ *:[v16i16] }:$src)
47003 /* 131800 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZ256kr),
47004 /* 131803 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47005 /* 131805 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47006 /* 131807 */ GIR_RootConstrainSelectedInstOperands,
47007 /* 131808 */ // GIR_Coverage, 12579,
47008 /* 131808 */ GIR_EraseRootFromParent_Done,
47009 /* 131809 */ // Label 2922: @131809
47010 /* 131809 */ GIM_Try, /*On fail goto*//*Label 2923*/ GIMT_Encode4(131859), // Rule ID 12581 //
47011 /* 131814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
47012 /* 131817 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
47013 /* 131820 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
47014 /* 131823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
47015 /* 131827 */ // MIs[0] Operand 1
47016 /* 131827 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47017 /* 131832 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47018 /* 131836 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47019 /* 131842 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47020 /* 131844 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47021 /* 131848 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47022 /* 131850 */ // (setcc:{ *:[v16i1] } immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src, SETGT:{ *:[Other] }) => (VPMOVD2MZkr:{ *:[v16i1] } VR512:{ *:[v16i32] }:$src)
47023 /* 131850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVD2MZkr),
47024 /* 131853 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47025 /* 131855 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47026 /* 131857 */ GIR_RootConstrainSelectedInstOperands,
47027 /* 131858 */ // GIR_Coverage, 12581,
47028 /* 131858 */ GIR_EraseRootFromParent_Done,
47029 /* 131859 */ // Label 2923: @131859
47030 /* 131859 */ GIM_Try, /*On fail goto*//*Label 2924*/ GIMT_Encode4(131982), // Rule ID 21639 //
47031 /* 131864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
47032 /* 131867 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
47033 /* 131870 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
47034 /* 131873 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
47035 /* 131877 */ // MIs[0] Operand 1
47036 /* 131877 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47037 /* 131882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47038 /* 131886 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47039 /* 131892 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47040 /* 131894 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47041 /* 131898 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47042 /* 131900 */ // (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] })
47043 /* 131900 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
47044 /* 131903 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47045 /* 131907 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47046 /* 131912 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47047 /* 131914 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
47048 /* 131917 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47049 /* 131921 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47050 /* 131926 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47051 /* 131929 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
47052 /* 131933 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
47053 /* 131936 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47054 /* 131941 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47055 /* 131946 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47056 /* 131951 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s1,
47057 /* 131954 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
47058 /* 131958 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47059 /* 131963 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47060 /* 131966 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47061 /* 131968 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47062 /* 131971 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47063 /* 131973 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
47064 /* 131976 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
47065 /* 131981 */ // GIR_Coverage, 21639,
47066 /* 131981 */ GIR_EraseRootFromParent_Done,
47067 /* 131982 */ // Label 2924: @131982
47068 /* 131982 */ GIM_Try, /*On fail goto*//*Label 2925*/ GIMT_Encode4(132105), // Rule ID 21640 //
47069 /* 131987 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
47070 /* 131990 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
47071 /* 131993 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
47072 /* 131996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
47073 /* 132000 */ // MIs[0] Operand 1
47074 /* 132000 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47075 /* 132005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47076 /* 132009 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47077 /* 132015 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47078 /* 132017 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47079 /* 132021 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47080 /* 132023 */ // (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] })
47081 /* 132023 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
47082 /* 132026 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47083 /* 132030 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47084 /* 132035 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47085 /* 132037 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
47086 /* 132040 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47087 /* 132044 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47088 /* 132049 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47089 /* 132052 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
47090 /* 132056 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
47091 /* 132059 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47092 /* 132064 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47093 /* 132069 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47094 /* 132074 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s1,
47095 /* 132077 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
47096 /* 132081 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47097 /* 132086 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47098 /* 132089 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47099 /* 132091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47100 /* 132094 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47101 /* 132096 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
47102 /* 132099 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
47103 /* 132104 */ // GIR_Coverage, 21640,
47104 /* 132104 */ GIR_EraseRootFromParent_Done,
47105 /* 132105 */ // Label 2925: @132105
47106 /* 132105 */ GIM_Reject,
47107 /* 132106 */ // Label 2906: @132106
47108 /* 132106 */ GIM_Try, /*On fail goto*//*Label 2926*/ GIMT_Encode4(132156), // Rule ID 12576 //
47109 /* 132111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47110 /* 132114 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
47111 /* 132117 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
47112 /* 132120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
47113 /* 132124 */ // MIs[0] Operand 1
47114 /* 132124 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47115 /* 132129 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47116 /* 132133 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47117 /* 132139 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47118 /* 132141 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47119 /* 132145 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47120 /* 132147 */ // (setcc:{ *:[v32i1] } immAllZerosV:{ *:[v32i8] }, VR256X:{ *:[v32i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZ256kr:{ *:[v32i1] } VR256X:{ *:[v32i8] }:$src)
47121 /* 132147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZ256kr),
47122 /* 132150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47123 /* 132152 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47124 /* 132154 */ GIR_RootConstrainSelectedInstOperands,
47125 /* 132155 */ // GIR_Coverage, 12576,
47126 /* 132155 */ GIR_EraseRootFromParent_Done,
47127 /* 132156 */ // Label 2926: @132156
47128 /* 132156 */ GIM_Try, /*On fail goto*//*Label 2927*/ GIMT_Encode4(132206), // Rule ID 12578 //
47129 /* 132161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
47130 /* 132164 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
47131 /* 132167 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
47132 /* 132170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
47133 /* 132174 */ // MIs[0] Operand 1
47134 /* 132174 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47135 /* 132179 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47136 /* 132183 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47137 /* 132189 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47138 /* 132191 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47139 /* 132195 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47140 /* 132197 */ // (setcc:{ *:[v32i1] } immAllZerosV:{ *:[v32i16] }, VR512:{ *:[v32i16] }:$src, SETGT:{ *:[Other] }) => (VPMOVW2MZkr:{ *:[v32i1] } VR512:{ *:[v32i16] }:$src)
47141 /* 132197 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVW2MZkr),
47142 /* 132200 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47143 /* 132202 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47144 /* 132204 */ GIR_RootConstrainSelectedInstOperands,
47145 /* 132205 */ // GIR_Coverage, 12578,
47146 /* 132205 */ GIR_EraseRootFromParent_Done,
47147 /* 132206 */ // Label 2927: @132206
47148 /* 132206 */ GIM_Try, /*On fail goto*//*Label 2928*/ GIMT_Encode4(132329), // Rule ID 21638 //
47149 /* 132211 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
47150 /* 132214 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
47151 /* 132217 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
47152 /* 132220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
47153 /* 132224 */ // MIs[0] Operand 1
47154 /* 132224 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47155 /* 132229 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47156 /* 132233 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47157 /* 132239 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47158 /* 132241 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47159 /* 132245 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47160 /* 132247 */ // (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] })
47161 /* 132247 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
47162 /* 132250 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47163 /* 132254 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47164 /* 132259 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47165 /* 132261 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
47166 /* 132264 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47167 /* 132268 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47168 /* 132273 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47169 /* 132276 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src
47170 /* 132280 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
47171 /* 132283 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47172 /* 132288 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47173 /* 132293 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47174 /* 132298 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s1,
47175 /* 132301 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
47176 /* 132305 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47177 /* 132310 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47178 /* 132313 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47179 /* 132315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47180 /* 132318 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47181 /* 132320 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
47182 /* 132323 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
47183 /* 132328 */ // GIR_Coverage, 21638,
47184 /* 132328 */ GIR_EraseRootFromParent_Done,
47185 /* 132329 */ // Label 2928: @132329
47186 /* 132329 */ GIM_Reject,
47187 /* 132330 */ // Label 2907: @132330
47188 /* 132330 */ GIM_Try, /*On fail goto*//*Label 2929*/ GIMT_Encode4(132380), // Rule ID 12575 //
47189 /* 132335 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
47190 /* 132338 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
47191 /* 132341 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
47192 /* 132344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
47193 /* 132348 */ // MIs[0] Operand 1
47194 /* 132348 */ GIM_CheckCmpPredicate, /*MI*/0, /*Op*/1, /*Predicate*/GIMT_Encode2(CmpInst::ICMP_SGT),
47195 /* 132353 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47196 /* 132357 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47197 /* 132363 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47198 /* 132365 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47199 /* 132369 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47200 /* 132371 */ // (setcc:{ *:[v64i1] } immAllZerosV:{ *:[v64i8] }, VR512:{ *:[v64i8] }:$src, SETGT:{ *:[Other] }) => (VPMOVB2MZkr:{ *:[v64i1] } VR512:{ *:[v64i8] }:$src)
47201 /* 132371 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMOVB2MZkr),
47202 /* 132374 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47203 /* 132376 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
47204 /* 132378 */ GIR_RootConstrainSelectedInstOperands,
47205 /* 132379 */ // GIR_Coverage, 12575,
47206 /* 132379 */ GIR_EraseRootFromParent_Done,
47207 /* 132380 */ // Label 2929: @132380
47208 /* 132380 */ GIM_Reject,
47209 /* 132381 */ // Label 2908: @132381
47210 /* 132381 */ GIM_Reject,
47211 /* 132382 */ // Label 35: @132382
47212 /* 132382 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 2942*/ GIMT_Encode4(140027),
47213 /* 132393 */ /*GILLT_v16s8*//*Label 2930*/ GIMT_Encode4(132441),
47214 /* 132397 */ /*GILLT_v32s8*//*Label 2931*/ GIMT_Encode4(132881),
47215 /* 132401 */ /*GILLT_v64s8*//*Label 2932*/ GIMT_Encode4(133285),
47216 /* 132405 */ /*GILLT_v8s16*//*Label 2933*/ GIMT_Encode4(133371),
47217 /* 132409 */ /*GILLT_v16s16*//*Label 2934*/ GIMT_Encode4(134529),
47218 /* 132413 */ /*GILLT_v32s16*//*Label 2935*/ GIMT_Encode4(135599),
47219 /* 132417 */ /*GILLT_v4s32*//*Label 2936*/ GIMT_Encode4(136017),
47220 /* 132421 */ /*GILLT_v8s32*//*Label 2937*/ GIMT_Encode4(136881),
47221 /* 132425 */ /*GILLT_v16s32*//*Label 2938*/ GIMT_Encode4(137661),
47222 /* 132429 */ /*GILLT_v2s64*//*Label 2939*/ GIMT_Encode4(138002),
47223 /* 132433 */ /*GILLT_v4s64*//*Label 2940*/ GIMT_Encode4(138866),
47224 /* 132437 */ /*GILLT_v8s64*//*Label 2941*/ GIMT_Encode4(139646),
47225 /* 132441 */ // Label 2930: @132441
47226 /* 132441 */ GIM_Try, /*On fail goto*//*Label 2943*/ GIMT_Encode4(132880),
47227 /* 132446 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
47228 /* 132449 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
47229 /* 132452 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
47230 /* 132455 */ GIM_Try, /*On fail goto*//*Label 2944*/ GIMT_Encode4(132500), // Rule ID 4539 //
47231 /* 132460 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47232 /* 132463 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47233 /* 132467 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
47234 /* 132471 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47235 /* 132475 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47236 /* 132479 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47237 /* 132485 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47238 /* 132487 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47239 /* 132489 */ // (vselect:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src, immAllZerosV:{ *:[v16i8] }) => (VMOVDQU8Z128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
47240 /* 132489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z128rrkz),
47241 /* 132492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47242 /* 132494 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47243 /* 132496 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47244 /* 132498 */ GIR_RootConstrainSelectedInstOperands,
47245 /* 132499 */ // GIR_Coverage, 4539,
47246 /* 132499 */ GIR_EraseRootFromParent_Done,
47247 /* 132500 */ // Label 2944: @132500
47248 /* 132500 */ GIM_Try, /*On fail goto*//*Label 2945*/ GIMT_Encode4(132649), // Rule ID 19770 //
47249 /* 132505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
47250 /* 132508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47251 /* 132512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
47252 /* 132516 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47253 /* 132520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47254 /* 132524 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47255 /* 132530 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47256 /* 132532 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47257 /* 132534 */ // (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] })
47258 /* 132534 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s8,
47259 /* 132537 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47260 /* 132541 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47261 /* 132546 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47262 /* 132548 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
47263 /* 132551 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47264 /* 132555 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47265 /* 132560 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47266 /* 132563 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47267 /* 132567 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
47268 /* 132570 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47269 /* 132575 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47270 /* 132580 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47271 /* 132585 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s1,
47272 /* 132588 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47273 /* 132592 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47274 /* 132597 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47275 /* 132601 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
47276 /* 132606 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
47277 /* 132609 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
47278 /* 132613 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47279 /* 132618 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47280 /* 132621 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47281 /* 132624 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47282 /* 132626 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47283 /* 132629 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47284 /* 132631 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47285 /* 132638 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47286 /* 132643 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47287 /* 132648 */ // GIR_Coverage, 19770,
47288 /* 132648 */ GIR_EraseRootFromParent_Done,
47289 /* 132649 */ // Label 2945: @132649
47290 /* 132649 */ GIM_Try, /*On fail goto*//*Label 2946*/ GIMT_Encode4(132686), // Rule ID 4540 //
47291 /* 132654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47292 /* 132657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47293 /* 132661 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
47294 /* 132665 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47295 /* 132669 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47296 /* 132673 */ // (vselect:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src0) => (VMOVDQU8Z128rrk:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src1)
47297 /* 132673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z128rrk),
47298 /* 132676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47299 /* 132678 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47300 /* 132680 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47301 /* 132682 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47302 /* 132684 */ GIR_RootConstrainSelectedInstOperands,
47303 /* 132685 */ // GIR_Coverage, 4540,
47304 /* 132685 */ GIR_EraseRootFromParent_Done,
47305 /* 132686 */ // Label 2946: @132686
47306 /* 132686 */ GIM_Try, /*On fail goto*//*Label 2947*/ GIMT_Encode4(132879), // Rule ID 19769 //
47307 /* 132691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
47308 /* 132694 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47309 /* 132698 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
47310 /* 132702 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47311 /* 132706 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47312 /* 132710 */ // (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] })
47313 /* 132710 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v64s8,
47314 /* 132713 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47315 /* 132717 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47316 /* 132722 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47317 /* 132724 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v64s8,
47318 /* 132727 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47319 /* 132731 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47320 /* 132736 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47321 /* 132739 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47322 /* 132743 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
47323 /* 132746 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47324 /* 132751 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47325 /* 132756 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47326 /* 132761 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s1,
47327 /* 132764 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47328 /* 132768 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47329 /* 132773 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47330 /* 132777 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
47331 /* 132782 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
47332 /* 132785 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47333 /* 132789 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47334 /* 132794 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47335 /* 132796 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
47336 /* 132799 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47337 /* 132803 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47338 /* 132808 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47339 /* 132811 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47340 /* 132815 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
47341 /* 132818 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47342 /* 132823 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47343 /* 132828 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47344 /* 132833 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
47345 /* 132836 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
47346 /* 132840 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47347 /* 132845 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47348 /* 132848 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47349 /* 132851 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47350 /* 132854 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47351 /* 132856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47352 /* 132859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47353 /* 132861 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47354 /* 132868 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47355 /* 132873 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47356 /* 132878 */ // GIR_Coverage, 19769,
47357 /* 132878 */ GIR_EraseRootFromParent_Done,
47358 /* 132879 */ // Label 2947: @132879
47359 /* 132879 */ GIM_Reject,
47360 /* 132880 */ // Label 2943: @132880
47361 /* 132880 */ GIM_Reject,
47362 /* 132881 */ // Label 2931: @132881
47363 /* 132881 */ GIM_Try, /*On fail goto*//*Label 2948*/ GIMT_Encode4(133284),
47364 /* 132886 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
47365 /* 132889 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
47366 /* 132892 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
47367 /* 132895 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47368 /* 132899 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
47369 /* 132903 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47370 /* 132907 */ GIM_Try, /*On fail goto*//*Label 2949*/ GIMT_Encode4(132940), // Rule ID 4535 //
47371 /* 132912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47372 /* 132915 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47373 /* 132919 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47374 /* 132925 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47375 /* 132927 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47376 /* 132929 */ // (vselect:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src, immAllZerosV:{ *:[v32i8] }) => (VMOVDQU8Z256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
47377 /* 132929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z256rrkz),
47378 /* 132932 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47379 /* 132934 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47380 /* 132936 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47381 /* 132938 */ GIR_RootConstrainSelectedInstOperands,
47382 /* 132939 */ // GIR_Coverage, 4535,
47383 /* 132939 */ GIR_EraseRootFromParent_Done,
47384 /* 132940 */ // Label 2949: @132940
47385 /* 132940 */ GIM_Try, /*On fail goto*//*Label 2950*/ GIMT_Encode4(133077), // Rule ID 19772 //
47386 /* 132945 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
47387 /* 132948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47388 /* 132952 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47389 /* 132958 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47390 /* 132960 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47391 /* 132962 */ // (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] })
47392 /* 132962 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s8,
47393 /* 132965 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47394 /* 132969 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47395 /* 132974 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47396 /* 132976 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
47397 /* 132979 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47398 /* 132983 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47399 /* 132988 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47400 /* 132991 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47401 /* 132995 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
47402 /* 132998 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47403 /* 133003 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47404 /* 133008 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47405 /* 133013 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s1,
47406 /* 133016 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47407 /* 133020 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47408 /* 133025 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47409 /* 133029 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
47410 /* 133034 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
47411 /* 133037 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
47412 /* 133041 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47413 /* 133046 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47414 /* 133049 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47415 /* 133052 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47416 /* 133054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47417 /* 133057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47418 /* 133059 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47419 /* 133066 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47420 /* 133071 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47421 /* 133076 */ // GIR_Coverage, 19772,
47422 /* 133076 */ GIR_EraseRootFromParent_Done,
47423 /* 133077 */ // Label 2950: @133077
47424 /* 133077 */ GIM_Try, /*On fail goto*//*Label 2951*/ GIMT_Encode4(133102), // Rule ID 4536 //
47425 /* 133082 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47426 /* 133085 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47427 /* 133089 */ // (vselect:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src0) => (VMOVDQU8Z256rrk:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src1)
47428 /* 133089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Z256rrk),
47429 /* 133092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47430 /* 133094 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47431 /* 133096 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47432 /* 133098 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47433 /* 133100 */ GIR_RootConstrainSelectedInstOperands,
47434 /* 133101 */ // GIR_Coverage, 4536,
47435 /* 133101 */ GIR_EraseRootFromParent_Done,
47436 /* 133102 */ // Label 2951: @133102
47437 /* 133102 */ GIM_Try, /*On fail goto*//*Label 2952*/ GIMT_Encode4(133283), // Rule ID 19771 //
47438 /* 133107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
47439 /* 133110 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47440 /* 133114 */ // (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] })
47441 /* 133114 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v64s8,
47442 /* 133117 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47443 /* 133121 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47444 /* 133126 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47445 /* 133128 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v64s8,
47446 /* 133131 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47447 /* 133135 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47448 /* 133140 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47449 /* 133143 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47450 /* 133147 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
47451 /* 133150 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47452 /* 133155 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47453 /* 133160 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47454 /* 133165 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v64s1,
47455 /* 133168 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47456 /* 133172 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47457 /* 133177 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47458 /* 133181 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK64WMRegClassID),
47459 /* 133186 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
47460 /* 133189 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47461 /* 133193 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47462 /* 133198 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47463 /* 133200 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
47464 /* 133203 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47465 /* 133207 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47466 /* 133212 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47467 /* 133215 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47468 /* 133219 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
47469 /* 133222 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47470 /* 133227 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47471 /* 133232 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
47472 /* 133237 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
47473 /* 133240 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
47474 /* 133244 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47475 /* 133249 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47476 /* 133252 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47477 /* 133255 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47478 /* 133258 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47479 /* 133260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47480 /* 133263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47481 /* 133265 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
47482 /* 133272 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
47483 /* 133277 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47484 /* 133282 */ // GIR_Coverage, 19771,
47485 /* 133282 */ GIR_EraseRootFromParent_Done,
47486 /* 133283 */ // Label 2952: @133283
47487 /* 133283 */ GIM_Reject,
47488 /* 133284 */ // Label 2948: @133284
47489 /* 133284 */ GIM_Reject,
47490 /* 133285 */ // Label 2932: @133285
47491 /* 133285 */ GIM_Try, /*On fail goto*//*Label 2953*/ GIMT_Encode4(133370),
47492 /* 133290 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
47493 /* 133293 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
47494 /* 133296 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
47495 /* 133299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47496 /* 133303 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64WMRegClassID),
47497 /* 133307 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47498 /* 133311 */ GIM_Try, /*On fail goto*//*Label 2954*/ GIMT_Encode4(133344), // Rule ID 4531 //
47499 /* 133316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
47500 /* 133319 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47501 /* 133323 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47502 /* 133329 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47503 /* 133331 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47504 /* 133333 */ // (vselect:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src, immAllZerosV:{ *:[v64i8] }) => (VMOVDQU8Zrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
47505 /* 133333 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrkz),
47506 /* 133336 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47507 /* 133338 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47508 /* 133340 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47509 /* 133342 */ GIR_RootConstrainSelectedInstOperands,
47510 /* 133343 */ // GIR_Coverage, 4531,
47511 /* 133343 */ GIR_EraseRootFromParent_Done,
47512 /* 133344 */ // Label 2954: @133344
47513 /* 133344 */ GIM_Try, /*On fail goto*//*Label 2955*/ GIMT_Encode4(133369), // Rule ID 4532 //
47514 /* 133349 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
47515 /* 133352 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
47516 /* 133356 */ // (vselect:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src0) => (VMOVDQU8Zrrk:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src0, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src1)
47517 /* 133356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU8Zrrk),
47518 /* 133359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47519 /* 133361 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47520 /* 133363 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47521 /* 133365 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47522 /* 133367 */ GIR_RootConstrainSelectedInstOperands,
47523 /* 133368 */ // GIR_Coverage, 4532,
47524 /* 133368 */ GIR_EraseRootFromParent_Done,
47525 /* 133369 */ // Label 2955: @133369
47526 /* 133369 */ GIM_Reject,
47527 /* 133370 */ // Label 2953: @133370
47528 /* 133370 */ GIM_Reject,
47529 /* 133371 */ // Label 2933: @133371
47530 /* 133371 */ GIM_Try, /*On fail goto*//*Label 2956*/ GIMT_Encode4(134528),
47531 /* 133376 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
47532 /* 133379 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
47533 /* 133382 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
47534 /* 133385 */ GIM_Try, /*On fail goto*//*Label 2957*/ GIMT_Encode4(133464), // Rule ID 19852 //
47535 /* 133390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47536 /* 133393 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47537 /* 133397 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47538 /* 133401 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47539 /* 133405 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47540 /* 133409 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47541 /* 133412 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47542 /* 133416 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47543 /* 133420 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
47544 /* 133424 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
47545 /* 133428 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47546 /* 133434 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
47547 /* 133436 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
47548 /* 133438 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47549 /* 133445 */ // (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)
47550 /* 133445 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmkz),
47551 /* 133448 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47552 /* 133450 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47553 /* 133452 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47554 /* 133456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
47555 /* 133462 */ GIR_RootConstrainSelectedInstOperands,
47556 /* 133463 */ // GIR_Coverage, 19852,
47557 /* 133463 */ GIR_EraseRootFromParent_Done,
47558 /* 133464 */ // Label 2957: @133464
47559 /* 133464 */ GIM_Try, /*On fail goto*//*Label 2958*/ GIMT_Encode4(133539), // Rule ID 19854 //
47560 /* 133469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47561 /* 133472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47562 /* 133476 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47563 /* 133480 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47564 /* 133484 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47565 /* 133488 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47566 /* 133491 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47567 /* 133495 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47568 /* 133499 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
47569 /* 133503 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47570 /* 133509 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
47571 /* 133511 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
47572 /* 133513 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47573 /* 133520 */ // (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)
47574 /* 133520 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmkz),
47575 /* 133523 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47576 /* 133525 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47577 /* 133527 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47578 /* 133531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
47579 /* 133537 */ GIR_RootConstrainSelectedInstOperands,
47580 /* 133538 */ // GIR_Coverage, 19854,
47581 /* 133538 */ GIR_EraseRootFromParent_Done,
47582 /* 133539 */ // Label 2958: @133539
47583 /* 133539 */ GIM_Try, /*On fail goto*//*Label 2959*/ GIMT_Encode4(133611), // Rule ID 19851 //
47584 /* 133544 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47585 /* 133547 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47586 /* 133551 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47587 /* 133555 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47588 /* 133559 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47589 /* 133563 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47590 /* 133566 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47591 /* 133570 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47592 /* 133574 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
47593 /* 133578 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47594 /* 133582 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47595 /* 133584 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47596 /* 133591 */ // (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)
47597 /* 133591 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmk),
47598 /* 133594 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47599 /* 133596 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47600 /* 133598 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47601 /* 133600 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47602 /* 133604 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47603 /* 133609 */ GIR_RootConstrainSelectedInstOperands,
47604 /* 133610 */ // GIR_Coverage, 19851,
47605 /* 133610 */ GIR_EraseRootFromParent_Done,
47606 /* 133611 */ // Label 2959: @133611
47607 /* 133611 */ GIM_Try, /*On fail goto*//*Label 2960*/ GIMT_Encode4(133679), // Rule ID 19853 //
47608 /* 133616 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47609 /* 133619 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47610 /* 133623 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47611 /* 133627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47612 /* 133631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47613 /* 133635 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47614 /* 133638 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47615 /* 133642 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47616 /* 133646 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47617 /* 133650 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47618 /* 133652 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47619 /* 133659 */ // (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)
47620 /* 133659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rmk),
47621 /* 133662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47622 /* 133664 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47623 /* 133666 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47624 /* 133668 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47625 /* 133672 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47626 /* 133677 */ GIR_RootConstrainSelectedInstOperands,
47627 /* 133678 */ // GIR_Coverage, 19853,
47628 /* 133678 */ GIR_EraseRootFromParent_Done,
47629 /* 133679 */ // Label 2960: @133679
47630 /* 133679 */ GIM_Try, /*On fail goto*//*Label 2961*/ GIMT_Encode4(133724), // Rule ID 4551 //
47631 /* 133684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47632 /* 133687 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47633 /* 133691 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47634 /* 133695 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47635 /* 133699 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47636 /* 133703 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47637 /* 133709 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47638 /* 133711 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47639 /* 133713 */ // (vselect:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src, immAllZerosV:{ *:[v8i16] }) => (VMOVDQU16Z128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
47640 /* 133713 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrkz),
47641 /* 133716 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47642 /* 133718 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47643 /* 133720 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47644 /* 133722 */ GIR_RootConstrainSelectedInstOperands,
47645 /* 133723 */ // GIR_Coverage, 4551,
47646 /* 133723 */ GIR_EraseRootFromParent_Done,
47647 /* 133724 */ // Label 2961: @133724
47648 /* 133724 */ GIM_Try, /*On fail goto*//*Label 2962*/ GIMT_Encode4(133873), // Rule ID 19774 //
47649 /* 133729 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
47650 /* 133732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47651 /* 133736 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47652 /* 133740 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47653 /* 133744 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47654 /* 133748 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47655 /* 133754 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47656 /* 133756 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47657 /* 133758 */ // (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] })
47658 /* 133758 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
47659 /* 133761 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47660 /* 133765 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47661 /* 133770 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47662 /* 133772 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
47663 /* 133775 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47664 /* 133779 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47665 /* 133784 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47666 /* 133787 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47667 /* 133791 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
47668 /* 133794 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47669 /* 133799 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47670 /* 133804 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47671 /* 133809 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
47672 /* 133812 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47673 /* 133816 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47674 /* 133821 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47675 /* 133825 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
47676 /* 133830 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
47677 /* 133833 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
47678 /* 133837 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47679 /* 133842 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47680 /* 133845 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47681 /* 133848 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47682 /* 133850 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47683 /* 133853 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47684 /* 133855 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47685 /* 133862 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47686 /* 133867 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47687 /* 133872 */ // GIR_Coverage, 19774,
47688 /* 133872 */ GIR_EraseRootFromParent_Done,
47689 /* 133873 */ // Label 2962: @133873
47690 /* 133873 */ GIM_Try, /*On fail goto*//*Label 2963*/ GIMT_Encode4(134022), // Rule ID 19778 //
47691 /* 133878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
47692 /* 133881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47693 /* 133885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47694 /* 133889 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47695 /* 133893 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47696 /* 133897 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47697 /* 133903 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47698 /* 133905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47699 /* 133907 */ // (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] })
47700 /* 133907 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
47701 /* 133910 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47702 /* 133914 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47703 /* 133919 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
47704 /* 133921 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
47705 /* 133924 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47706 /* 133928 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47707 /* 133933 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
47708 /* 133936 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
47709 /* 133940 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
47710 /* 133943 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47711 /* 133948 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47712 /* 133953 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47713 /* 133958 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
47714 /* 133961 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47715 /* 133965 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47716 /* 133970 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
47717 /* 133974 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
47718 /* 133979 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
47719 /* 133982 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
47720 /* 133986 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47721 /* 133991 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47722 /* 133994 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
47723 /* 133997 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47724 /* 133999 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47725 /* 134002 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47726 /* 134004 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47727 /* 134011 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47728 /* 134016 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47729 /* 134021 */ // GIR_Coverage, 19778,
47730 /* 134021 */ GIR_EraseRootFromParent_Done,
47731 /* 134022 */ // Label 2963: @134022
47732 /* 134022 */ GIM_Try, /*On fail goto*//*Label 2964*/ GIMT_Encode4(134067), // Rule ID 19850 //
47733 /* 134027 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47734 /* 134030 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47735 /* 134034 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47736 /* 134038 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47737 /* 134042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47738 /* 134046 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47739 /* 134052 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47740 /* 134054 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47741 /* 134056 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1, immAllZerosV:{ *:[v8f16] }) => (VMOVDQU16Z128rrkz:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1)
47742 /* 134056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrkz),
47743 /* 134059 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47744 /* 134061 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47745 /* 134063 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47746 /* 134065 */ GIR_RootConstrainSelectedInstOperands,
47747 /* 134066 */ // GIR_Coverage, 19850,
47748 /* 134066 */ GIR_EraseRootFromParent_Done,
47749 /* 134067 */ // Label 2964: @134067
47750 /* 134067 */ GIM_Try, /*On fail goto*//*Label 2965*/ GIMT_Encode4(134104), // Rule ID 4552 //
47751 /* 134072 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47752 /* 134075 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47753 /* 134079 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47754 /* 134083 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47755 /* 134087 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47756 /* 134091 */ // (vselect:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src0) => (VMOVDQU16Z128rrk:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src1)
47757 /* 134091 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrk),
47758 /* 134094 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47759 /* 134096 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47760 /* 134098 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47761 /* 134100 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47762 /* 134102 */ GIR_RootConstrainSelectedInstOperands,
47763 /* 134103 */ // GIR_Coverage, 4552,
47764 /* 134103 */ GIR_EraseRootFromParent_Done,
47765 /* 134104 */ // Label 2965: @134104
47766 /* 134104 */ GIM_Try, /*On fail goto*//*Label 2966*/ GIMT_Encode4(134297), // Rule ID 19773 //
47767 /* 134109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
47768 /* 134112 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47769 /* 134116 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47770 /* 134120 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47771 /* 134124 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47772 /* 134128 */ // (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] })
47773 /* 134128 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
47774 /* 134131 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47775 /* 134135 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47776 /* 134140 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47777 /* 134142 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
47778 /* 134145 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47779 /* 134149 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47780 /* 134154 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47781 /* 134157 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47782 /* 134161 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
47783 /* 134164 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47784 /* 134169 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47785 /* 134174 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47786 /* 134179 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
47787 /* 134182 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47788 /* 134186 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47789 /* 134191 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47790 /* 134195 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
47791 /* 134200 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
47792 /* 134203 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47793 /* 134207 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47794 /* 134212 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47795 /* 134214 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
47796 /* 134217 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47797 /* 134221 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47798 /* 134226 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47799 /* 134229 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47800 /* 134233 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
47801 /* 134236 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47802 /* 134241 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47803 /* 134246 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47804 /* 134251 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
47805 /* 134254 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
47806 /* 134258 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47807 /* 134263 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47808 /* 134266 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47809 /* 134269 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47810 /* 134272 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47811 /* 134274 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47812 /* 134277 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47813 /* 134279 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47814 /* 134286 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47815 /* 134291 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47816 /* 134296 */ // GIR_Coverage, 19773,
47817 /* 134296 */ GIR_EraseRootFromParent_Done,
47818 /* 134297 */ // Label 2966: @134297
47819 /* 134297 */ GIM_Try, /*On fail goto*//*Label 2967*/ GIMT_Encode4(134490), // Rule ID 19777 //
47820 /* 134302 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
47821 /* 134305 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
47822 /* 134309 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47823 /* 134313 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47824 /* 134317 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47825 /* 134321 */ // (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] })
47826 /* 134321 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
47827 /* 134324 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47828 /* 134328 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47829 /* 134333 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
47830 /* 134335 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
47831 /* 134338 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47832 /* 134342 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47833 /* 134347 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
47834 /* 134350 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
47835 /* 134354 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
47836 /* 134357 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47837 /* 134362 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47838 /* 134367 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47839 /* 134372 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
47840 /* 134375 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47841 /* 134379 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47842 /* 134384 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
47843 /* 134388 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
47844 /* 134393 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
47845 /* 134396 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
47846 /* 134400 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47847 /* 134405 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
47848 /* 134407 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
47849 /* 134410 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
47850 /* 134414 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47851 /* 134419 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
47852 /* 134422 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
47853 /* 134426 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
47854 /* 134429 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
47855 /* 134434 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47856 /* 134439 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
47857 /* 134444 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
47858 /* 134447 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
47859 /* 134451 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
47860 /* 134456 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
47861 /* 134459 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
47862 /* 134462 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
47863 /* 134465 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
47864 /* 134467 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
47865 /* 134470 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47866 /* 134472 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
47867 /* 134479 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
47868 /* 134484 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
47869 /* 134489 */ // GIR_Coverage, 19777,
47870 /* 134489 */ GIR_EraseRootFromParent_Done,
47871 /* 134490 */ // Label 2967: @134490
47872 /* 134490 */ GIM_Try, /*On fail goto*//*Label 2968*/ GIMT_Encode4(134527), // Rule ID 19849 //
47873 /* 134495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47874 /* 134498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47875 /* 134502 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
47876 /* 134506 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47877 /* 134510 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
47878 /* 134514 */ // (vselect:{ *:[v8f16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src0) => (VMOVDQU16Z128rrk:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8f16] }:$src1)
47879 /* 134514 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z128rrk),
47880 /* 134517 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47881 /* 134519 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47882 /* 134521 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47883 /* 134523 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
47884 /* 134525 */ GIR_RootConstrainSelectedInstOperands,
47885 /* 134526 */ // GIR_Coverage, 19849,
47886 /* 134526 */ GIR_EraseRootFromParent_Done,
47887 /* 134527 */ // Label 2968: @134527
47888 /* 134527 */ GIM_Reject,
47889 /* 134528 */ // Label 2956: @134528
47890 /* 134528 */ GIM_Reject,
47891 /* 134529 */ // Label 2934: @134529
47892 /* 134529 */ GIM_Try, /*On fail goto*//*Label 2969*/ GIMT_Encode4(135598),
47893 /* 134534 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
47894 /* 134537 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
47895 /* 134540 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
47896 /* 134543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47897 /* 134547 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
47898 /* 134551 */ GIM_Try, /*On fail goto*//*Label 2970*/ GIMT_Encode4(134622), // Rule ID 19842 //
47899 /* 134556 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47900 /* 134559 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47901 /* 134563 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47902 /* 134567 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47903 /* 134570 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47904 /* 134574 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47905 /* 134578 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
47906 /* 134582 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
47907 /* 134586 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47908 /* 134592 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
47909 /* 134594 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
47910 /* 134596 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47911 /* 134603 */ // (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)
47912 /* 134603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmkz),
47913 /* 134606 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47914 /* 134608 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47915 /* 134610 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47916 /* 134614 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
47917 /* 134620 */ GIR_RootConstrainSelectedInstOperands,
47918 /* 134621 */ // GIR_Coverage, 19842,
47919 /* 134621 */ GIR_EraseRootFromParent_Done,
47920 /* 134622 */ // Label 2970: @134622
47921 /* 134622 */ GIM_Try, /*On fail goto*//*Label 2971*/ GIMT_Encode4(134689), // Rule ID 19844 //
47922 /* 134627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47923 /* 134630 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47924 /* 134634 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47925 /* 134638 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47926 /* 134641 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47927 /* 134645 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47928 /* 134649 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
47929 /* 134653 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47930 /* 134659 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
47931 /* 134661 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
47932 /* 134663 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47933 /* 134670 */ // (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)
47934 /* 134670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmkz),
47935 /* 134673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47936 /* 134675 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47937 /* 134677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47938 /* 134681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
47939 /* 134687 */ GIR_RootConstrainSelectedInstOperands,
47940 /* 134688 */ // GIR_Coverage, 19844,
47941 /* 134688 */ GIR_EraseRootFromParent_Done,
47942 /* 134689 */ // Label 2971: @134689
47943 /* 134689 */ GIM_Try, /*On fail goto*//*Label 2972*/ GIMT_Encode4(134753), // Rule ID 19841 //
47944 /* 134694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47945 /* 134697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47946 /* 134701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47947 /* 134705 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47948 /* 134708 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47949 /* 134712 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47950 /* 134716 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
47951 /* 134720 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47952 /* 134724 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47953 /* 134726 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47954 /* 134733 */ // (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)
47955 /* 134733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmk),
47956 /* 134736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47957 /* 134738 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47958 /* 134740 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47959 /* 134742 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47960 /* 134746 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47961 /* 134751 */ GIR_RootConstrainSelectedInstOperands,
47962 /* 134752 */ // GIR_Coverage, 19841,
47963 /* 134752 */ GIR_EraseRootFromParent_Done,
47964 /* 134753 */ // Label 2972: @134753
47965 /* 134753 */ GIM_Try, /*On fail goto*//*Label 2973*/ GIMT_Encode4(134813), // Rule ID 19843 //
47966 /* 134758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47967 /* 134761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
47968 /* 134765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
47969 /* 134769 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
47970 /* 134772 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
47971 /* 134776 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
47972 /* 134780 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47973 /* 134784 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47974 /* 134786 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
47975 /* 134793 */ // (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)
47976 /* 134793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rmk),
47977 /* 134796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47978 /* 134798 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
47979 /* 134800 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47980 /* 134802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
47981 /* 134806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
47982 /* 134811 */ GIR_RootConstrainSelectedInstOperands,
47983 /* 134812 */ // GIR_Coverage, 19843,
47984 /* 134812 */ GIR_EraseRootFromParent_Done,
47985 /* 134813 */ // Label 2973: @134813
47986 /* 134813 */ GIM_Try, /*On fail goto*//*Label 2974*/ GIMT_Encode4(134850), // Rule ID 4547 //
47987 /* 134818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
47988 /* 134821 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
47989 /* 134825 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
47990 /* 134829 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
47991 /* 134835 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
47992 /* 134837 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
47993 /* 134839 */ // (vselect:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src, immAllZerosV:{ *:[v16i16] }) => (VMOVDQU16Z256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
47994 /* 134839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrkz),
47995 /* 134842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
47996 /* 134844 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
47997 /* 134846 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
47998 /* 134848 */ GIR_RootConstrainSelectedInstOperands,
47999 /* 134849 */ // GIR_Coverage, 4547,
48000 /* 134849 */ GIR_EraseRootFromParent_Done,
48001 /* 134850 */ // Label 2974: @134850
48002 /* 134850 */ GIM_Try, /*On fail goto*//*Label 2975*/ GIMT_Encode4(134991), // Rule ID 19776 //
48003 /* 134855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
48004 /* 134858 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48005 /* 134862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48006 /* 134866 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48007 /* 134872 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48008 /* 134874 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48009 /* 134876 */ // (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] })
48010 /* 134876 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
48011 /* 134879 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48012 /* 134883 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48013 /* 134888 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48014 /* 134890 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
48015 /* 134893 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48016 /* 134897 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48017 /* 134902 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48018 /* 134905 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48019 /* 134909 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
48020 /* 134912 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48021 /* 134917 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48022 /* 134922 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48023 /* 134927 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
48024 /* 134930 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48025 /* 134934 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48026 /* 134939 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48027 /* 134943 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
48028 /* 134948 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
48029 /* 134951 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
48030 /* 134955 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48031 /* 134960 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48032 /* 134963 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48033 /* 134966 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48034 /* 134968 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48035 /* 134971 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48036 /* 134973 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48037 /* 134980 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48038 /* 134985 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48039 /* 134990 */ // GIR_Coverage, 19776,
48040 /* 134990 */ GIR_EraseRootFromParent_Done,
48041 /* 134991 */ // Label 2975: @134991
48042 /* 134991 */ GIM_Try, /*On fail goto*//*Label 2976*/ GIMT_Encode4(135132), // Rule ID 19780 //
48043 /* 134996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
48044 /* 134999 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48045 /* 135003 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48046 /* 135007 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48047 /* 135013 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48048 /* 135015 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48049 /* 135017 */ // (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] })
48050 /* 135017 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s16,
48051 /* 135020 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48052 /* 135024 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48053 /* 135029 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48054 /* 135031 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
48055 /* 135034 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48056 /* 135038 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48057 /* 135043 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48058 /* 135046 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48059 /* 135050 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
48060 /* 135053 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48061 /* 135058 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48062 /* 135063 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48063 /* 135068 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s1,
48064 /* 135071 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48065 /* 135075 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48066 /* 135080 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48067 /* 135084 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
48068 /* 135089 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
48069 /* 135092 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
48070 /* 135096 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48071 /* 135101 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48072 /* 135104 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48073 /* 135107 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48074 /* 135109 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48075 /* 135112 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48076 /* 135114 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48077 /* 135121 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48078 /* 135126 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48079 /* 135131 */ // GIR_Coverage, 19780,
48080 /* 135131 */ GIR_EraseRootFromParent_Done,
48081 /* 135132 */ // Label 2976: @135132
48082 /* 135132 */ GIM_Try, /*On fail goto*//*Label 2977*/ GIMT_Encode4(135169), // Rule ID 19840 //
48083 /* 135137 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48084 /* 135140 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48085 /* 135144 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48086 /* 135148 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48087 /* 135154 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48088 /* 135156 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48089 /* 135158 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1, immAllZerosV:{ *:[v16f16] }) => (VMOVDQU16Z256rrkz:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1)
48090 /* 135158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrkz),
48091 /* 135161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48092 /* 135163 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48093 /* 135165 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48094 /* 135167 */ GIR_RootConstrainSelectedInstOperands,
48095 /* 135168 */ // GIR_Coverage, 19840,
48096 /* 135168 */ GIR_EraseRootFromParent_Done,
48097 /* 135169 */ // Label 2977: @135169
48098 /* 135169 */ GIM_Try, /*On fail goto*//*Label 2978*/ GIMT_Encode4(135198), // Rule ID 4548 //
48099 /* 135174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48100 /* 135177 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48101 /* 135181 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48102 /* 135185 */ // (vselect:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src0) => (VMOVDQU16Z256rrk:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src1)
48103 /* 135185 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrk),
48104 /* 135188 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48105 /* 135190 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48106 /* 135192 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48107 /* 135194 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48108 /* 135196 */ GIR_RootConstrainSelectedInstOperands,
48109 /* 135197 */ // GIR_Coverage, 4548,
48110 /* 135197 */ GIR_EraseRootFromParent_Done,
48111 /* 135198 */ // Label 2978: @135198
48112 /* 135198 */ GIM_Try, /*On fail goto*//*Label 2979*/ GIMT_Encode4(135383), // Rule ID 19775 //
48113 /* 135203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
48114 /* 135206 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48115 /* 135210 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48116 /* 135214 */ // (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] })
48117 /* 135214 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
48118 /* 135217 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48119 /* 135221 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48120 /* 135226 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48121 /* 135228 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
48122 /* 135231 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48123 /* 135235 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48124 /* 135240 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48125 /* 135243 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48126 /* 135247 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
48127 /* 135250 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48128 /* 135255 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48129 /* 135260 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48130 /* 135265 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
48131 /* 135268 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48132 /* 135272 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48133 /* 135277 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48134 /* 135281 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
48135 /* 135286 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
48136 /* 135289 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48137 /* 135293 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48138 /* 135298 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48139 /* 135300 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
48140 /* 135303 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48141 /* 135307 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48142 /* 135312 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48143 /* 135315 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48144 /* 135319 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
48145 /* 135322 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48146 /* 135327 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48147 /* 135332 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48148 /* 135337 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
48149 /* 135340 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
48150 /* 135344 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48151 /* 135349 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48152 /* 135352 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48153 /* 135355 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48154 /* 135358 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48155 /* 135360 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48156 /* 135363 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48157 /* 135365 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48158 /* 135372 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48159 /* 135377 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48160 /* 135382 */ // GIR_Coverage, 19775,
48161 /* 135382 */ GIR_EraseRootFromParent_Done,
48162 /* 135383 */ // Label 2979: @135383
48163 /* 135383 */ GIM_Try, /*On fail goto*//*Label 2980*/ GIMT_Encode4(135568), // Rule ID 19779 //
48164 /* 135388 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_NoVLX),
48165 /* 135391 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48166 /* 135395 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48167 /* 135399 */ // (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] })
48168 /* 135399 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v32s16,
48169 /* 135402 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48170 /* 135406 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48171 /* 135411 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48172 /* 135413 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v32s16,
48173 /* 135416 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48174 /* 135420 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48175 /* 135425 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48176 /* 135428 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48177 /* 135432 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
48178 /* 135435 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48179 /* 135440 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48180 /* 135445 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48181 /* 135450 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v32s1,
48182 /* 135453 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48183 /* 135457 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48184 /* 135462 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48185 /* 135466 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK32WMRegClassID),
48186 /* 135471 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
48187 /* 135474 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48188 /* 135478 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48189 /* 135483 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48190 /* 135485 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
48191 /* 135488 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48192 /* 135492 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48193 /* 135497 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48194 /* 135500 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48195 /* 135504 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
48196 /* 135507 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48197 /* 135512 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48198 /* 135517 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48199 /* 135522 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s16,
48200 /* 135525 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
48201 /* 135529 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48202 /* 135534 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48203 /* 135537 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48204 /* 135540 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48205 /* 135543 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48206 /* 135545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48207 /* 135548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48208 /* 135550 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48209 /* 135557 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48210 /* 135562 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48211 /* 135567 */ // GIR_Coverage, 19779,
48212 /* 135567 */ GIR_EraseRootFromParent_Done,
48213 /* 135568 */ // Label 2980: @135568
48214 /* 135568 */ GIM_Try, /*On fail goto*//*Label 2981*/ GIMT_Encode4(135597), // Rule ID 19839 //
48215 /* 135573 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
48216 /* 135576 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48217 /* 135580 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48218 /* 135584 */ // (vselect:{ *:[v16f16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src0) => (VMOVDQU16Z256rrk:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16f16] }:$src1)
48219 /* 135584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Z256rrk),
48220 /* 135587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48221 /* 135589 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48222 /* 135591 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48223 /* 135593 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48224 /* 135595 */ GIR_RootConstrainSelectedInstOperands,
48225 /* 135596 */ // GIR_Coverage, 19839,
48226 /* 135596 */ GIR_EraseRootFromParent_Done,
48227 /* 135597 */ // Label 2981: @135597
48228 /* 135597 */ GIM_Reject,
48229 /* 135598 */ // Label 2969: @135598
48230 /* 135598 */ GIM_Reject,
48231 /* 135599 */ // Label 2935: @135599
48232 /* 135599 */ GIM_Try, /*On fail goto*//*Label 2982*/ GIMT_Encode4(136016),
48233 /* 135604 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
48234 /* 135607 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
48235 /* 135610 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
48236 /* 135613 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48237 /* 135617 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
48238 /* 135621 */ GIM_Try, /*On fail goto*//*Label 2983*/ GIMT_Encode4(135692), // Rule ID 19832 //
48239 /* 135626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
48240 /* 135629 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48241 /* 135633 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48242 /* 135637 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48243 /* 135640 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48244 /* 135644 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48245 /* 135648 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
48246 /* 135652 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
48247 /* 135656 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48248 /* 135662 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
48249 /* 135664 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
48250 /* 135666 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48251 /* 135673 */ // (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)
48252 /* 135673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmkz),
48253 /* 135676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48254 /* 135678 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48255 /* 135680 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
48256 /* 135684 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
48257 /* 135690 */ GIR_RootConstrainSelectedInstOperands,
48258 /* 135691 */ // GIR_Coverage, 19832,
48259 /* 135691 */ GIR_EraseRootFromParent_Done,
48260 /* 135692 */ // Label 2983: @135692
48261 /* 135692 */ GIM_Try, /*On fail goto*//*Label 2984*/ GIMT_Encode4(135759), // Rule ID 19834 //
48262 /* 135697 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
48263 /* 135700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48264 /* 135704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48265 /* 135708 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48266 /* 135711 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48267 /* 135715 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48268 /* 135719 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
48269 /* 135723 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48270 /* 135729 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
48271 /* 135731 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
48272 /* 135733 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48273 /* 135740 */ // (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)
48274 /* 135740 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmkz),
48275 /* 135743 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48276 /* 135745 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48277 /* 135747 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
48278 /* 135751 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
48279 /* 135757 */ GIR_RootConstrainSelectedInstOperands,
48280 /* 135758 */ // GIR_Coverage, 19834,
48281 /* 135758 */ GIR_EraseRootFromParent_Done,
48282 /* 135759 */ // Label 2984: @135759
48283 /* 135759 */ GIM_Try, /*On fail goto*//*Label 2985*/ GIMT_Encode4(135823), // Rule ID 19831 //
48284 /* 135764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
48285 /* 135767 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48286 /* 135771 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48287 /* 135775 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48288 /* 135778 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48289 /* 135782 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48290 /* 135786 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_alignedload),
48291 /* 135790 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48292 /* 135794 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48293 /* 135796 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48294 /* 135803 */ // (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)
48295 /* 135803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmk),
48296 /* 135806 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48297 /* 135808 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48298 /* 135810 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48299 /* 135812 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
48300 /* 135816 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48301 /* 135821 */ GIR_RootConstrainSelectedInstOperands,
48302 /* 135822 */ // GIR_Coverage, 19831,
48303 /* 135822 */ GIR_EraseRootFromParent_Done,
48304 /* 135823 */ // Label 2985: @135823
48305 /* 135823 */ GIM_Try, /*On fail goto*//*Label 2986*/ GIMT_Encode4(135883), // Rule ID 19833 //
48306 /* 135828 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
48307 /* 135831 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48308 /* 135835 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
48309 /* 135839 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
48310 /* 135842 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
48311 /* 135846 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
48312 /* 135850 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48313 /* 135854 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48314 /* 135856 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
48315 /* 135863 */ // (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)
48316 /* 135863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrmk),
48317 /* 135866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48318 /* 135868 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48319 /* 135870 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48320 /* 135872 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
48321 /* 135876 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
48322 /* 135881 */ GIR_RootConstrainSelectedInstOperands,
48323 /* 135882 */ // GIR_Coverage, 19833,
48324 /* 135882 */ GIR_EraseRootFromParent_Done,
48325 /* 135883 */ // Label 2986: @135883
48326 /* 135883 */ GIM_Try, /*On fail goto*//*Label 2987*/ GIMT_Encode4(135920), // Rule ID 4543 //
48327 /* 135888 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
48328 /* 135891 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48329 /* 135895 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48330 /* 135899 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48331 /* 135905 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48332 /* 135907 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48333 /* 135909 */ // (vselect:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src, immAllZerosV:{ *:[v32i16] }) => (VMOVDQU16Zrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
48334 /* 135909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
48335 /* 135912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48336 /* 135914 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48337 /* 135916 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48338 /* 135918 */ GIR_RootConstrainSelectedInstOperands,
48339 /* 135919 */ // GIR_Coverage, 4543,
48340 /* 135919 */ GIR_EraseRootFromParent_Done,
48341 /* 135920 */ // Label 2987: @135920
48342 /* 135920 */ GIM_Try, /*On fail goto*//*Label 2988*/ GIMT_Encode4(135957), // Rule ID 19830 //
48343 /* 135925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
48344 /* 135928 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48345 /* 135932 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48346 /* 135936 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48347 /* 135942 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48348 /* 135944 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48349 /* 135946 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1, immAllZerosV:{ *:[v32f16] }) => (VMOVDQU16Zrrkz:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1)
48350 /* 135946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrkz),
48351 /* 135949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48352 /* 135951 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48353 /* 135953 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48354 /* 135955 */ GIR_RootConstrainSelectedInstOperands,
48355 /* 135956 */ // GIR_Coverage, 19830,
48356 /* 135956 */ GIR_EraseRootFromParent_Done,
48357 /* 135957 */ // Label 2988: @135957
48358 /* 135957 */ GIM_Try, /*On fail goto*//*Label 2989*/ GIMT_Encode4(135986), // Rule ID 4544 //
48359 /* 135962 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
48360 /* 135965 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48361 /* 135969 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48362 /* 135973 */ // (vselect:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src0) => (VMOVDQU16Zrrk:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src1)
48363 /* 135973 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
48364 /* 135976 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48365 /* 135978 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48366 /* 135980 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48367 /* 135982 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48368 /* 135984 */ GIR_RootConstrainSelectedInstOperands,
48369 /* 135985 */ // GIR_Coverage, 4544,
48370 /* 135985 */ GIR_EraseRootFromParent_Done,
48371 /* 135986 */ // Label 2989: @135986
48372 /* 135986 */ GIM_Try, /*On fail goto*//*Label 2990*/ GIMT_Encode4(136015), // Rule ID 19829 //
48373 /* 135991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
48374 /* 135994 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48375 /* 135998 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48376 /* 136002 */ // (vselect:{ *:[v32f16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src0) => (VMOVDQU16Zrrk:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src0, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32f16] }:$src1)
48377 /* 136002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQU16Zrrk),
48378 /* 136005 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48379 /* 136007 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48380 /* 136009 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48381 /* 136011 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48382 /* 136013 */ GIR_RootConstrainSelectedInstOperands,
48383 /* 136014 */ // GIR_Coverage, 19829,
48384 /* 136014 */ GIR_EraseRootFromParent_Done,
48385 /* 136015 */ // Label 2990: @136015
48386 /* 136015 */ GIM_Reject,
48387 /* 136016 */ // Label 2982: @136016
48388 /* 136016 */ GIM_Reject,
48389 /* 136017 */ // Label 2936: @136017
48390 /* 136017 */ GIM_Try, /*On fail goto*//*Label 2991*/ GIMT_Encode4(136880),
48391 /* 136022 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
48392 /* 136025 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
48393 /* 136028 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
48394 /* 136031 */ GIM_Try, /*On fail goto*//*Label 2992*/ GIMT_Encode4(136076), // Rule ID 4451 //
48395 /* 136036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48396 /* 136039 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48397 /* 136043 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48398 /* 136047 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48399 /* 136051 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48400 /* 136055 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48401 /* 136061 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48402 /* 136063 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48403 /* 136065 */ // (vselect:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src, immAllZerosV:{ *:[v4f32] }) => (VMOVAPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
48404 /* 136065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rrkz),
48405 /* 136068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48406 /* 136070 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48407 /* 136072 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48408 /* 136074 */ GIR_RootConstrainSelectedInstOperands,
48409 /* 136075 */ // GIR_Coverage, 4451,
48410 /* 136075 */ GIR_EraseRootFromParent_Done,
48411 /* 136076 */ // Label 2992: @136076
48412 /* 136076 */ GIM_Try, /*On fail goto*//*Label 2993*/ GIMT_Encode4(136121), // Rule ID 4509 //
48413 /* 136081 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48414 /* 136084 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48415 /* 136088 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48416 /* 136092 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48417 /* 136096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48418 /* 136100 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48419 /* 136106 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48420 /* 136108 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48421 /* 136110 */ // (vselect:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src, immAllZerosV:{ *:[v4i32] }) => (VMOVDQA32Z128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
48422 /* 136110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z128rrkz),
48423 /* 136113 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48424 /* 136115 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48425 /* 136117 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48426 /* 136119 */ GIR_RootConstrainSelectedInstOperands,
48427 /* 136120 */ // GIR_Coverage, 4509,
48428 /* 136120 */ GIR_EraseRootFromParent_Done,
48429 /* 136121 */ // Label 2993: @136121
48430 /* 136121 */ GIM_Try, /*On fail goto*//*Label 2994*/ GIMT_Encode4(136270), // Rule ID 19754 //
48431 /* 136126 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48432 /* 136129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48433 /* 136133 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48434 /* 136137 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48435 /* 136141 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48436 /* 136145 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48437 /* 136151 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48438 /* 136153 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48439 /* 136155 */ // (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] })
48440 /* 136155 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
48441 /* 136158 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48442 /* 136162 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48443 /* 136167 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48444 /* 136169 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48445 /* 136172 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48446 /* 136176 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48447 /* 136181 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48448 /* 136184 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48449 /* 136188 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
48450 /* 136191 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48451 /* 136196 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48452 /* 136201 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48453 /* 136206 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
48454 /* 136209 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48455 /* 136213 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48456 /* 136218 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48457 /* 136222 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48458 /* 136227 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48459 /* 136230 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
48460 /* 136234 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48461 /* 136239 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48462 /* 136242 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48463 /* 136245 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48464 /* 136247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48465 /* 136250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48466 /* 136252 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48467 /* 136259 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48468 /* 136264 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48469 /* 136269 */ // GIR_Coverage, 19754,
48470 /* 136269 */ GIR_EraseRootFromParent_Done,
48471 /* 136270 */ // Label 2994: @136270
48472 /* 136270 */ GIM_Try, /*On fail goto*//*Label 2995*/ GIMT_Encode4(136419), // Rule ID 19756 //
48473 /* 136275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48474 /* 136278 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48475 /* 136282 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48476 /* 136286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48477 /* 136290 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48478 /* 136294 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48479 /* 136300 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48480 /* 136302 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48481 /* 136304 */ // (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] })
48482 /* 136304 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
48483 /* 136307 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48484 /* 136311 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48485 /* 136316 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48486 /* 136318 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48487 /* 136321 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48488 /* 136325 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48489 /* 136330 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48490 /* 136333 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48491 /* 136337 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
48492 /* 136340 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48493 /* 136345 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48494 /* 136350 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48495 /* 136355 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
48496 /* 136358 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48497 /* 136362 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48498 /* 136367 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48499 /* 136371 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48500 /* 136376 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48501 /* 136379 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
48502 /* 136383 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48503 /* 136388 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48504 /* 136391 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48505 /* 136394 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48506 /* 136396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48507 /* 136399 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48508 /* 136401 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48509 /* 136408 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48510 /* 136413 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48511 /* 136418 */ // GIR_Coverage, 19756,
48512 /* 136418 */ GIR_EraseRootFromParent_Done,
48513 /* 136419 */ // Label 2995: @136419
48514 /* 136419 */ GIM_Try, /*On fail goto*//*Label 2996*/ GIMT_Encode4(136456), // Rule ID 4453 //
48515 /* 136424 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48516 /* 136427 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48517 /* 136431 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48518 /* 136435 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48519 /* 136439 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48520 /* 136443 */ // (vselect:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src0) => (VMOVAPSZ128rrk:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src1)
48521 /* 136443 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ128rrk),
48522 /* 136446 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48523 /* 136448 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48524 /* 136450 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48525 /* 136452 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48526 /* 136454 */ GIR_RootConstrainSelectedInstOperands,
48527 /* 136455 */ // GIR_Coverage, 4453,
48528 /* 136455 */ GIR_EraseRootFromParent_Done,
48529 /* 136456 */ // Label 2996: @136456
48530 /* 136456 */ GIM_Try, /*On fail goto*//*Label 2997*/ GIMT_Encode4(136493), // Rule ID 4510 //
48531 /* 136461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48532 /* 136464 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48533 /* 136468 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48534 /* 136472 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48535 /* 136476 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48536 /* 136480 */ // (vselect:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src0) => (VMOVDQA32Z128rrk:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src1)
48537 /* 136480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z128rrk),
48538 /* 136483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48539 /* 136485 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48540 /* 136487 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48541 /* 136489 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48542 /* 136491 */ GIR_RootConstrainSelectedInstOperands,
48543 /* 136492 */ // GIR_Coverage, 4510,
48544 /* 136492 */ GIR_EraseRootFromParent_Done,
48545 /* 136493 */ // Label 2997: @136493
48546 /* 136493 */ GIM_Try, /*On fail goto*//*Label 2998*/ GIMT_Encode4(136686), // Rule ID 19753 //
48547 /* 136498 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48548 /* 136501 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48549 /* 136505 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48550 /* 136509 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48551 /* 136513 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48552 /* 136517 */ // (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] })
48553 /* 136517 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
48554 /* 136520 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48555 /* 136524 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48556 /* 136529 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48557 /* 136531 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
48558 /* 136534 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48559 /* 136538 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48560 /* 136543 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48561 /* 136546 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48562 /* 136550 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
48563 /* 136553 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48564 /* 136558 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48565 /* 136563 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48566 /* 136568 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
48567 /* 136571 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48568 /* 136575 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48569 /* 136580 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48570 /* 136584 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48571 /* 136589 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48572 /* 136592 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48573 /* 136596 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48574 /* 136601 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48575 /* 136603 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
48576 /* 136606 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48577 /* 136610 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48578 /* 136615 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48579 /* 136618 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48580 /* 136622 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
48581 /* 136625 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48582 /* 136630 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48583 /* 136635 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48584 /* 136640 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48585 /* 136643 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
48586 /* 136647 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48587 /* 136652 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48588 /* 136655 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48589 /* 136658 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48590 /* 136661 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48591 /* 136663 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48592 /* 136666 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48593 /* 136668 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48594 /* 136675 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48595 /* 136680 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48596 /* 136685 */ // GIR_Coverage, 19753,
48597 /* 136685 */ GIR_EraseRootFromParent_Done,
48598 /* 136686 */ // Label 2998: @136686
48599 /* 136686 */ GIM_Try, /*On fail goto*//*Label 2999*/ GIMT_Encode4(136879), // Rule ID 19755 //
48600 /* 136691 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48601 /* 136694 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
48602 /* 136698 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
48603 /* 136702 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48604 /* 136706 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
48605 /* 136710 */ // (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] })
48606 /* 136710 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
48607 /* 136713 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48608 /* 136717 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48609 /* 136722 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48610 /* 136724 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
48611 /* 136727 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48612 /* 136731 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48613 /* 136736 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48614 /* 136739 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48615 /* 136743 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
48616 /* 136746 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48617 /* 136751 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48618 /* 136756 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48619 /* 136761 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
48620 /* 136764 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48621 /* 136768 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48622 /* 136773 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48623 /* 136777 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48624 /* 136782 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48625 /* 136785 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48626 /* 136789 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48627 /* 136794 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48628 /* 136796 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
48629 /* 136799 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48630 /* 136803 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48631 /* 136808 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48632 /* 136811 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48633 /* 136815 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
48634 /* 136818 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48635 /* 136823 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48636 /* 136828 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
48637 /* 136833 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48638 /* 136836 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
48639 /* 136840 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48640 /* 136845 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48641 /* 136848 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48642 /* 136851 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48643 /* 136854 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48644 /* 136856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48645 /* 136859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48646 /* 136861 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
48647 /* 136868 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
48648 /* 136873 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48649 /* 136878 */ // GIR_Coverage, 19755,
48650 /* 136878 */ GIR_EraseRootFromParent_Done,
48651 /* 136879 */ // Label 2999: @136879
48652 /* 136879 */ GIM_Reject,
48653 /* 136880 */ // Label 2991: @136880
48654 /* 136880 */ GIM_Reject,
48655 /* 136881 */ // Label 2937: @136881
48656 /* 136881 */ GIM_Try, /*On fail goto*//*Label 3000*/ GIMT_Encode4(137660),
48657 /* 136886 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
48658 /* 136889 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
48659 /* 136892 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
48660 /* 136895 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48661 /* 136899 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
48662 /* 136903 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48663 /* 136907 */ GIM_Try, /*On fail goto*//*Label 3001*/ GIMT_Encode4(136940), // Rule ID 4446 //
48664 /* 136912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48665 /* 136915 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48666 /* 136919 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48667 /* 136925 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48668 /* 136927 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48669 /* 136929 */ // (vselect:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src, immAllZerosV:{ *:[v8f32] }) => (VMOVAPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
48670 /* 136929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rrkz),
48671 /* 136932 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48672 /* 136934 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48673 /* 136936 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48674 /* 136938 */ GIR_RootConstrainSelectedInstOperands,
48675 /* 136939 */ // GIR_Coverage, 4446,
48676 /* 136939 */ GIR_EraseRootFromParent_Done,
48677 /* 136940 */ // Label 3001: @136940
48678 /* 136940 */ GIM_Try, /*On fail goto*//*Label 3002*/ GIMT_Encode4(136973), // Rule ID 4505 //
48679 /* 136945 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48680 /* 136948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48681 /* 136952 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48682 /* 136958 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48683 /* 136960 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48684 /* 136962 */ // (vselect:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src, immAllZerosV:{ *:[v8i32] }) => (VMOVDQA32Z256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
48685 /* 136962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z256rrkz),
48686 /* 136965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48687 /* 136967 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48688 /* 136969 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48689 /* 136971 */ GIR_RootConstrainSelectedInstOperands,
48690 /* 136972 */ // GIR_Coverage, 4505,
48691 /* 136972 */ GIR_EraseRootFromParent_Done,
48692 /* 136973 */ // Label 3002: @136973
48693 /* 136973 */ GIM_Try, /*On fail goto*//*Label 3003*/ GIMT_Encode4(137110), // Rule ID 19758 //
48694 /* 136978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48695 /* 136981 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48696 /* 136985 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48697 /* 136991 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48698 /* 136993 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48699 /* 136995 */ // (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] })
48700 /* 136995 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
48701 /* 136998 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48702 /* 137002 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48703 /* 137007 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48704 /* 137009 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48705 /* 137012 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48706 /* 137016 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48707 /* 137021 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48708 /* 137024 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48709 /* 137028 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
48710 /* 137031 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48711 /* 137036 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48712 /* 137041 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48713 /* 137046 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
48714 /* 137049 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48715 /* 137053 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48716 /* 137058 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48717 /* 137062 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48718 /* 137067 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48719 /* 137070 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
48720 /* 137074 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48721 /* 137079 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48722 /* 137082 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48723 /* 137085 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48724 /* 137087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48725 /* 137090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48726 /* 137092 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48727 /* 137099 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48728 /* 137104 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48729 /* 137109 */ // GIR_Coverage, 19758,
48730 /* 137109 */ GIR_EraseRootFromParent_Done,
48731 /* 137110 */ // Label 3003: @137110
48732 /* 137110 */ GIM_Try, /*On fail goto*//*Label 3004*/ GIMT_Encode4(137247), // Rule ID 19760 //
48733 /* 137115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48734 /* 137118 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48735 /* 137122 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48736 /* 137128 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48737 /* 137130 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48738 /* 137132 */ // (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] })
48739 /* 137132 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s32,
48740 /* 137135 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48741 /* 137139 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48742 /* 137144 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
48743 /* 137146 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48744 /* 137149 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48745 /* 137153 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48746 /* 137158 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
48747 /* 137161 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
48748 /* 137165 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
48749 /* 137168 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48750 /* 137173 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48751 /* 137178 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48752 /* 137183 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
48753 /* 137186 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48754 /* 137190 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48755 /* 137195 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
48756 /* 137199 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48757 /* 137204 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48758 /* 137207 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
48759 /* 137211 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48760 /* 137216 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48761 /* 137219 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
48762 /* 137222 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48763 /* 137224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48764 /* 137227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48765 /* 137229 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48766 /* 137236 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48767 /* 137241 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48768 /* 137246 */ // GIR_Coverage, 19760,
48769 /* 137246 */ GIR_EraseRootFromParent_Done,
48770 /* 137247 */ // Label 3004: @137247
48771 /* 137247 */ GIM_Try, /*On fail goto*//*Label 3005*/ GIMT_Encode4(137272), // Rule ID 4448 //
48772 /* 137252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48773 /* 137255 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48774 /* 137259 */ // (vselect:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src0) => (VMOVAPSZ256rrk:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src1)
48775 /* 137259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZ256rrk),
48776 /* 137262 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48777 /* 137264 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48778 /* 137266 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48779 /* 137268 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48780 /* 137270 */ GIR_RootConstrainSelectedInstOperands,
48781 /* 137271 */ // GIR_Coverage, 4448,
48782 /* 137271 */ GIR_EraseRootFromParent_Done,
48783 /* 137272 */ // Label 3005: @137272
48784 /* 137272 */ GIM_Try, /*On fail goto*//*Label 3006*/ GIMT_Encode4(137297), // Rule ID 4506 //
48785 /* 137277 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
48786 /* 137280 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48787 /* 137284 */ // (vselect:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src0) => (VMOVDQA32Z256rrk:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src1)
48788 /* 137284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Z256rrk),
48789 /* 137287 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48790 /* 137289 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
48791 /* 137291 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48792 /* 137293 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
48793 /* 137295 */ GIR_RootConstrainSelectedInstOperands,
48794 /* 137296 */ // GIR_Coverage, 4506,
48795 /* 137296 */ GIR_EraseRootFromParent_Done,
48796 /* 137297 */ // Label 3006: @137297
48797 /* 137297 */ GIM_Try, /*On fail goto*//*Label 3007*/ GIMT_Encode4(137478), // Rule ID 19757 //
48798 /* 137302 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48799 /* 137305 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48800 /* 137309 */ // (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] })
48801 /* 137309 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
48802 /* 137312 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48803 /* 137316 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48804 /* 137321 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48805 /* 137323 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
48806 /* 137326 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48807 /* 137330 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48808 /* 137335 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48809 /* 137338 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48810 /* 137342 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
48811 /* 137345 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48812 /* 137350 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48813 /* 137355 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48814 /* 137360 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
48815 /* 137363 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48816 /* 137367 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48817 /* 137372 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48818 /* 137376 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48819 /* 137381 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48820 /* 137384 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48821 /* 137388 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48822 /* 137393 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48823 /* 137395 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
48824 /* 137398 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48825 /* 137402 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48826 /* 137407 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48827 /* 137410 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48828 /* 137414 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
48829 /* 137417 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48830 /* 137422 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48831 /* 137427 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48832 /* 137432 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48833 /* 137435 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
48834 /* 137439 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48835 /* 137444 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48836 /* 137447 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48837 /* 137450 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48838 /* 137453 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48839 /* 137455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48840 /* 137458 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48841 /* 137460 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48842 /* 137467 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48843 /* 137472 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48844 /* 137477 */ // GIR_Coverage, 19757,
48845 /* 137477 */ GIR_EraseRootFromParent_Done,
48846 /* 137478 */ // Label 3007: @137478
48847 /* 137478 */ GIM_Try, /*On fail goto*//*Label 3008*/ GIMT_Encode4(137659), // Rule ID 19759 //
48848 /* 137483 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
48849 /* 137486 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
48850 /* 137490 */ // (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] })
48851 /* 137490 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v16s32,
48852 /* 137493 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48853 /* 137497 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48854 /* 137502 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
48855 /* 137504 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v16s32,
48856 /* 137507 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48857 /* 137511 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48858 /* 137516 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
48859 /* 137519 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
48860 /* 137523 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
48861 /* 137526 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48862 /* 137531 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48863 /* 137536 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48864 /* 137541 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v16s1,
48865 /* 137544 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48866 /* 137548 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48867 /* 137553 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
48868 /* 137557 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK16WMRegClassID),
48869 /* 137562 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
48870 /* 137565 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
48871 /* 137569 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48872 /* 137574 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
48873 /* 137576 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
48874 /* 137579 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
48875 /* 137583 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48876 /* 137588 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
48877 /* 137591 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
48878 /* 137595 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
48879 /* 137598 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
48880 /* 137603 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48881 /* 137608 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
48882 /* 137613 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s32,
48883 /* 137616 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
48884 /* 137620 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48885 /* 137625 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
48886 /* 137628 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
48887 /* 137631 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
48888 /* 137634 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48889 /* 137636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
48890 /* 137639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48891 /* 137641 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
48892 /* 137648 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
48893 /* 137653 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
48894 /* 137658 */ // GIR_Coverage, 19759,
48895 /* 137658 */ GIR_EraseRootFromParent_Done,
48896 /* 137659 */ // Label 3008: @137659
48897 /* 137659 */ GIM_Reject,
48898 /* 137660 */ // Label 3000: @137660
48899 /* 137660 */ GIM_Reject,
48900 /* 137661 */ // Label 2938: @137661
48901 /* 137661 */ GIM_Try, /*On fail goto*//*Label 3009*/ GIMT_Encode4(138001),
48902 /* 137666 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
48903 /* 137669 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
48904 /* 137672 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
48905 /* 137675 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48906 /* 137679 */ GIM_Try, /*On fail goto*//*Label 3010*/ GIMT_Encode4(137748), // Rule ID 19752 //
48907 /* 137684 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
48908 /* 137688 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
48909 /* 137692 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v16s1,
48910 /* 137696 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v16s1,
48911 /* 137700 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
48912 /* 137705 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
48913 /* 137709 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48914 /* 137715 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
48915 /* 137717 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/0, /*OpIdx*/2, // MIs[3]
48916 /* 137721 */ GIM_CheckOpcodeIsEither, /*MI*/3, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48917 /* 137727 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/3,
48918 /* 137729 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48919 /* 137733 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
48920 /* 137735 */ // (vselect:{ *:[v16i32] } (xor:{ *:[v16i1] } VK16:{ *:[v16i1] }:$mask, immAllOnesV:{ *:[v16i1] }), immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src) => (VMOVDQA32Zrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
48921 /* 137735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
48922 /* 137738 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48923 /* 137740 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // mask
48924 /* 137744 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
48925 /* 137746 */ GIR_RootConstrainSelectedInstOperands,
48926 /* 137747 */ // GIR_Coverage, 19752,
48927 /* 137747 */ GIR_EraseRootFromParent_Done,
48928 /* 137748 */ // Label 3010: @137748
48929 /* 137748 */ GIM_Try, /*On fail goto*//*Label 3011*/ GIMT_Encode4(137795), // Rule ID 3576 //
48930 /* 137753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
48931 /* 137756 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
48932 /* 137760 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48933 /* 137764 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48934 /* 137770 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
48935 /* 137772 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
48936 /* 137776 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48937 /* 137782 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
48938 /* 137784 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
48939 /* 137786 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, immAllOnesV:{ *:[v16i32] }, immAllZerosV:{ *:[v16i32] }) => (AVX512_512_SEXT_MASK_32:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask)
48940 /* 137786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AVX512_512_SEXT_MASK_32),
48941 /* 137789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48942 /* 137791 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48943 /* 137793 */ GIR_RootConstrainSelectedInstOperands,
48944 /* 137794 */ // GIR_Coverage, 3576,
48945 /* 137794 */ GIR_EraseRootFromParent_Done,
48946 /* 137795 */ // Label 3011: @137795
48947 /* 137795 */ GIM_Try, /*On fail goto*//*Label 3012*/ GIMT_Encode4(137852), // Rule ID 19750 //
48948 /* 137800 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
48949 /* 137804 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
48950 /* 137808 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48951 /* 137814 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48952 /* 137816 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48953 /* 137820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48954 /* 137822 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i32] }, VR512:{ *:[v16i32] }:$src) => (VMOVDQA32Zrrkz:{ *:[v16i32] } (KNOTWkk:{ *:[v16i1] } VK16WM:{ *:[v16i1] }:$mask), VR512:{ *:[v16i32] }:$src)
48955 /* 137822 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s1,
48956 /* 137825 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
48957 /* 137829 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
48958 /* 137834 */ GIR_Copy, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, // mask
48959 /* 137838 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
48960 /* 137840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
48961 /* 137843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48962 /* 137845 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
48963 /* 137848 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
48964 /* 137850 */ GIR_RootConstrainSelectedInstOperands,
48965 /* 137851 */ // GIR_Coverage, 19750,
48966 /* 137851 */ GIR_EraseRootFromParent_Done,
48967 /* 137852 */ // Label 3012: @137852
48968 /* 137852 */ GIM_Try, /*On fail goto*//*Label 3013*/ GIMT_Encode4(137893), // Rule ID 4441 //
48969 /* 137857 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
48970 /* 137860 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
48971 /* 137864 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48972 /* 137868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48973 /* 137872 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48974 /* 137878 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48975 /* 137880 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48976 /* 137882 */ // (vselect:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src, immAllZerosV:{ *:[v16f32] }) => (VMOVAPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
48977 /* 137882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrkz),
48978 /* 137885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48979 /* 137887 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48980 /* 137889 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48981 /* 137891 */ GIR_RootConstrainSelectedInstOperands,
48982 /* 137892 */ // GIR_Coverage, 4441,
48983 /* 137892 */ GIR_EraseRootFromParent_Done,
48984 /* 137893 */ // Label 3013: @137893
48985 /* 137893 */ GIM_Try, /*On fail goto*//*Label 3014*/ GIMT_Encode4(137934), // Rule ID 4501 //
48986 /* 137898 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
48987 /* 137901 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
48988 /* 137905 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
48989 /* 137909 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
48990 /* 137913 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
48991 /* 137919 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
48992 /* 137921 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
48993 /* 137923 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src, immAllZerosV:{ *:[v16i32] }) => (VMOVDQA32Zrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
48994 /* 137923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrkz),
48995 /* 137926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
48996 /* 137928 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
48997 /* 137930 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
48998 /* 137932 */ GIR_RootConstrainSelectedInstOperands,
48999 /* 137933 */ // GIR_Coverage, 4501,
49000 /* 137933 */ GIR_EraseRootFromParent_Done,
49001 /* 137934 */ // Label 3014: @137934
49002 /* 137934 */ GIM_Try, /*On fail goto*//*Label 3015*/ GIMT_Encode4(137967), // Rule ID 4443 //
49003 /* 137939 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49004 /* 137942 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49005 /* 137946 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49006 /* 137950 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49007 /* 137954 */ // (vselect:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src0) => (VMOVAPSZrrk:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src1)
49008 /* 137954 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPSZrrk),
49009 /* 137957 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49010 /* 137959 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49011 /* 137961 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49012 /* 137963 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49013 /* 137965 */ GIR_RootConstrainSelectedInstOperands,
49014 /* 137966 */ // GIR_Coverage, 4443,
49015 /* 137966 */ GIR_EraseRootFromParent_Done,
49016 /* 137967 */ // Label 3015: @137967
49017 /* 137967 */ GIM_Try, /*On fail goto*//*Label 3016*/ GIMT_Encode4(138000), // Rule ID 4502 //
49018 /* 137972 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49019 /* 137975 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
49020 /* 137979 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49021 /* 137983 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49022 /* 137987 */ // (vselect:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src0) => (VMOVDQA32Zrrk:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src0, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src1)
49023 /* 137987 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA32Zrrk),
49024 /* 137990 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49025 /* 137992 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49026 /* 137994 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49027 /* 137996 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49028 /* 137998 */ GIR_RootConstrainSelectedInstOperands,
49029 /* 137999 */ // GIR_Coverage, 4502,
49030 /* 137999 */ GIR_EraseRootFromParent_Done,
49031 /* 138000 */ // Label 3016: @138000
49032 /* 138000 */ GIM_Reject,
49033 /* 138001 */ // Label 3009: @138001
49034 /* 138001 */ GIM_Reject,
49035 /* 138002 */ // Label 2939: @138002
49036 /* 138002 */ GIM_Try, /*On fail goto*//*Label 3017*/ GIMT_Encode4(138865),
49037 /* 138007 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
49038 /* 138010 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
49039 /* 138013 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
49040 /* 138016 */ GIM_Try, /*On fail goto*//*Label 3018*/ GIMT_Encode4(138061), // Rule ID 4469 //
49041 /* 138021 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
49042 /* 138024 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49043 /* 138028 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
49044 /* 138032 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49045 /* 138036 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49046 /* 138040 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49047 /* 138046 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49048 /* 138048 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49049 /* 138050 */ // (vselect:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src, immAllZerosV:{ *:[v2f64] }) => (VMOVAPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
49050 /* 138050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rrkz),
49051 /* 138053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49052 /* 138055 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49053 /* 138057 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49054 /* 138059 */ GIR_RootConstrainSelectedInstOperands,
49055 /* 138060 */ // GIR_Coverage, 4469,
49056 /* 138060 */ GIR_EraseRootFromParent_Done,
49057 /* 138061 */ // Label 3018: @138061
49058 /* 138061 */ GIM_Try, /*On fail goto*//*Label 3019*/ GIMT_Encode4(138106), // Rule ID 4523 //
49059 /* 138066 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
49060 /* 138069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49061 /* 138073 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
49062 /* 138077 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49063 /* 138081 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49064 /* 138085 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49065 /* 138091 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49066 /* 138093 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49067 /* 138095 */ // (vselect:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src, immAllZerosV:{ *:[v2i64] }) => (VMOVDQA64Z128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
49068 /* 138095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rrkz),
49069 /* 138098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49070 /* 138100 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49071 /* 138102 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49072 /* 138104 */ GIR_RootConstrainSelectedInstOperands,
49073 /* 138105 */ // GIR_Coverage, 4523,
49074 /* 138105 */ GIR_EraseRootFromParent_Done,
49075 /* 138106 */ // Label 3019: @138106
49076 /* 138106 */ GIM_Try, /*On fail goto*//*Label 3020*/ GIMT_Encode4(138255), // Rule ID 19762 //
49077 /* 138111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
49078 /* 138114 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
49079 /* 138118 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
49080 /* 138122 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49081 /* 138126 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49082 /* 138130 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49083 /* 138136 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49084 /* 138138 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49085 /* 138140 */ // (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] })
49086 /* 138140 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
49087 /* 138143 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49088 /* 138147 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49089 /* 138152 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
49090 /* 138154 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
49091 /* 138157 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49092 /* 138161 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49093 /* 138166 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
49094 /* 138169 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
49095 /* 138173 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
49096 /* 138176 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49097 /* 138181 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49098 /* 138186 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49099 /* 138191 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
49100 /* 138194 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49101 /* 138198 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49102 /* 138203 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
49103 /* 138207 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
49104 /* 138212 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
49105 /* 138215 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
49106 /* 138219 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49107 /* 138224 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49108 /* 138227 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
49109 /* 138230 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49110 /* 138232 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49111 /* 138235 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49112 /* 138237 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
49113 /* 138244 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
49114 /* 138249 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49115 /* 138254 */ // GIR_Coverage, 19762,
49116 /* 138254 */ GIR_EraseRootFromParent_Done,
49117 /* 138255 */ // Label 3020: @138255
49118 /* 138255 */ GIM_Try, /*On fail goto*//*Label 3021*/ GIMT_Encode4(138404), // Rule ID 19764 //
49119 /* 138260 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
49120 /* 138263 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
49121 /* 138267 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
49122 /* 138271 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49123 /* 138275 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49124 /* 138279 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49125 /* 138285 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49126 /* 138287 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49127 /* 138289 */ // (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] })
49128 /* 138289 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
49129 /* 138292 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49130 /* 138296 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49131 /* 138301 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
49132 /* 138303 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
49133 /* 138306 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49134 /* 138310 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49135 /* 138315 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
49136 /* 138318 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
49137 /* 138322 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/9,
49138 /* 138325 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49139 /* 138330 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49140 /* 138335 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49141 /* 138340 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
49142 /* 138343 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49143 /* 138347 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49144 /* 138352 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
49145 /* 138356 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
49146 /* 138361 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
49147 /* 138364 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
49148 /* 138368 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49149 /* 138373 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49150 /* 138376 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
49151 /* 138379 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49152 /* 138381 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49153 /* 138384 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49154 /* 138386 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
49155 /* 138393 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
49156 /* 138398 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49157 /* 138403 */ // GIR_Coverage, 19764,
49158 /* 138403 */ GIR_EraseRootFromParent_Done,
49159 /* 138404 */ // Label 3021: @138404
49160 /* 138404 */ GIM_Try, /*On fail goto*//*Label 3022*/ GIMT_Encode4(138441), // Rule ID 4471 //
49161 /* 138409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
49162 /* 138412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49163 /* 138416 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
49164 /* 138420 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49165 /* 138424 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49166 /* 138428 */ // (vselect:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src0) => (VMOVAPDZ128rrk:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src0, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src1)
49167 /* 138428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ128rrk),
49168 /* 138431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49169 /* 138433 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49170 /* 138435 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49171 /* 138437 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49172 /* 138439 */ GIR_RootConstrainSelectedInstOperands,
49173 /* 138440 */ // GIR_Coverage, 4471,
49174 /* 138440 */ GIR_EraseRootFromParent_Done,
49175 /* 138441 */ // Label 3022: @138441
49176 /* 138441 */ GIM_Try, /*On fail goto*//*Label 3023*/ GIMT_Encode4(138478), // Rule ID 4525 //
49177 /* 138446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
49178 /* 138449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49179 /* 138453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
49180 /* 138457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49181 /* 138461 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49182 /* 138465 */ // (vselect:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src0) => (VMOVDQA64Z128rrk:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src0, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src1)
49183 /* 138465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z128rrk),
49184 /* 138468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49185 /* 138470 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49186 /* 138472 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49187 /* 138474 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49188 /* 138476 */ GIR_RootConstrainSelectedInstOperands,
49189 /* 138477 */ // GIR_Coverage, 4525,
49190 /* 138477 */ GIR_EraseRootFromParent_Done,
49191 /* 138478 */ // Label 3023: @138478
49192 /* 138478 */ GIM_Try, /*On fail goto*//*Label 3024*/ GIMT_Encode4(138671), // Rule ID 19761 //
49193 /* 138483 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
49194 /* 138486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
49195 /* 138490 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
49196 /* 138494 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49197 /* 138498 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49198 /* 138502 */ // (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] })
49199 /* 138502 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
49200 /* 138505 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49201 /* 138509 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49202 /* 138514 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
49203 /* 138516 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
49204 /* 138519 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49205 /* 138523 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49206 /* 138528 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
49207 /* 138531 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
49208 /* 138535 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
49209 /* 138538 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49210 /* 138543 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49211 /* 138548 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49212 /* 138553 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
49213 /* 138556 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49214 /* 138560 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49215 /* 138565 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
49216 /* 138569 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
49217 /* 138574 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
49218 /* 138577 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49219 /* 138581 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49220 /* 138586 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
49221 /* 138588 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
49222 /* 138591 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49223 /* 138595 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49224 /* 138600 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49225 /* 138603 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
49226 /* 138607 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
49227 /* 138610 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49228 /* 138615 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49229 /* 138620 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49230 /* 138625 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
49231 /* 138628 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
49232 /* 138632 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49233 /* 138637 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49234 /* 138640 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
49235 /* 138643 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
49236 /* 138646 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49237 /* 138648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49238 /* 138651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49239 /* 138653 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
49240 /* 138660 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
49241 /* 138665 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49242 /* 138670 */ // GIR_Coverage, 19761,
49243 /* 138670 */ GIR_EraseRootFromParent_Done,
49244 /* 138671 */ // Label 3024: @138671
49245 /* 138671 */ GIM_Try, /*On fail goto*//*Label 3025*/ GIMT_Encode4(138864), // Rule ID 19763 //
49246 /* 138676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
49247 /* 138679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
49248 /* 138683 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
49249 /* 138687 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49250 /* 138691 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49251 /* 138695 */ // (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] })
49252 /* 138695 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
49253 /* 138698 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49254 /* 138702 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49255 /* 138707 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
49256 /* 138709 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
49257 /* 138712 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49258 /* 138716 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49259 /* 138721 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
49260 /* 138724 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
49261 /* 138728 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/9,
49262 /* 138731 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49263 /* 138736 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49264 /* 138741 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49265 /* 138746 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
49266 /* 138749 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49267 /* 138753 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49268 /* 138758 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
49269 /* 138762 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
49270 /* 138767 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
49271 /* 138770 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49272 /* 138774 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49273 /* 138779 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
49274 /* 138781 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
49275 /* 138784 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49276 /* 138788 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49277 /* 138793 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49278 /* 138796 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
49279 /* 138800 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
49280 /* 138803 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49281 /* 138808 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49282 /* 138813 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
49283 /* 138818 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
49284 /* 138821 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
49285 /* 138825 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49286 /* 138830 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49287 /* 138833 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
49288 /* 138836 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
49289 /* 138839 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49290 /* 138841 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49291 /* 138844 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49292 /* 138846 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
49293 /* 138853 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
49294 /* 138858 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49295 /* 138863 */ // GIR_Coverage, 19763,
49296 /* 138863 */ GIR_EraseRootFromParent_Done,
49297 /* 138864 */ // Label 3025: @138864
49298 /* 138864 */ GIM_Reject,
49299 /* 138865 */ // Label 3017: @138865
49300 /* 138865 */ GIM_Reject,
49301 /* 138866 */ // Label 2940: @138866
49302 /* 138866 */ GIM_Try, /*On fail goto*//*Label 3026*/ GIMT_Encode4(139645),
49303 /* 138871 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
49304 /* 138874 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
49305 /* 138877 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
49306 /* 138880 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49307 /* 138884 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
49308 /* 138888 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49309 /* 138892 */ GIM_Try, /*On fail goto*//*Label 3027*/ GIMT_Encode4(138925), // Rule ID 4464 //
49310 /* 138897 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
49311 /* 138900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49312 /* 138904 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49313 /* 138910 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49314 /* 138912 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49315 /* 138914 */ // (vselect:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src, immAllZerosV:{ *:[v4f64] }) => (VMOVAPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
49316 /* 138914 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rrkz),
49317 /* 138917 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49318 /* 138919 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49319 /* 138921 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49320 /* 138923 */ GIR_RootConstrainSelectedInstOperands,
49321 /* 138924 */ // GIR_Coverage, 4464,
49322 /* 138924 */ GIR_EraseRootFromParent_Done,
49323 /* 138925 */ // Label 3027: @138925
49324 /* 138925 */ GIM_Try, /*On fail goto*//*Label 3028*/ GIMT_Encode4(138958), // Rule ID 4518 //
49325 /* 138930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
49326 /* 138933 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49327 /* 138937 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49328 /* 138943 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49329 /* 138945 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49330 /* 138947 */ // (vselect:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src, immAllZerosV:{ *:[v4i64] }) => (VMOVDQA64Z256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
49331 /* 138947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rrkz),
49332 /* 138950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49333 /* 138952 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49334 /* 138954 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49335 /* 138956 */ GIR_RootConstrainSelectedInstOperands,
49336 /* 138957 */ // GIR_Coverage, 4518,
49337 /* 138957 */ GIR_EraseRootFromParent_Done,
49338 /* 138958 */ // Label 3028: @138958
49339 /* 138958 */ GIM_Try, /*On fail goto*//*Label 3029*/ GIMT_Encode4(139095), // Rule ID 19766 //
49340 /* 138963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
49341 /* 138966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49342 /* 138970 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49343 /* 138976 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49344 /* 138978 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49345 /* 138980 */ // (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] })
49346 /* 138980 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
49347 /* 138983 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49348 /* 138987 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49349 /* 138992 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
49350 /* 138994 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
49351 /* 138997 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49352 /* 139001 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49353 /* 139006 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
49354 /* 139009 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
49355 /* 139013 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
49356 /* 139016 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49357 /* 139021 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49358 /* 139026 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49359 /* 139031 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
49360 /* 139034 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49361 /* 139038 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49362 /* 139043 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
49363 /* 139047 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
49364 /* 139052 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
49365 /* 139055 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
49366 /* 139059 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49367 /* 139064 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49368 /* 139067 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
49369 /* 139070 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49370 /* 139072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49371 /* 139075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49372 /* 139077 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49373 /* 139084 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49374 /* 139089 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49375 /* 139094 */ // GIR_Coverage, 19766,
49376 /* 139094 */ GIR_EraseRootFromParent_Done,
49377 /* 139095 */ // Label 3029: @139095
49378 /* 139095 */ GIM_Try, /*On fail goto*//*Label 3030*/ GIMT_Encode4(139232), // Rule ID 19768 //
49379 /* 139100 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
49380 /* 139103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49381 /* 139107 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49382 /* 139113 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49383 /* 139115 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49384 /* 139117 */ // (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] })
49385 /* 139117 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
49386 /* 139120 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49387 /* 139124 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49388 /* 139129 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/4,
49389 /* 139131 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
49390 /* 139134 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49391 /* 139138 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49392 /* 139143 */ GIR_AddSimpleTempRegister, /*InsnID*/3, /*TempRegID*/3,
49393 /* 139146 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/2, // src1
49394 /* 139150 */ GIR_AddImm8, /*InsnID*/3, /*Imm*/10,
49395 /* 139153 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49396 /* 139158 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49397 /* 139163 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49398 /* 139168 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s1,
49399 /* 139171 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49400 /* 139175 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49401 /* 139180 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // mask
49402 /* 139184 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
49403 /* 139189 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
49404 /* 139192 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
49405 /* 139196 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49406 /* 139201 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49407 /* 139204 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/2,
49408 /* 139207 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49409 /* 139209 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49410 /* 139212 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49411 /* 139214 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49412 /* 139221 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49413 /* 139226 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49414 /* 139231 */ // GIR_Coverage, 19768,
49415 /* 139231 */ GIR_EraseRootFromParent_Done,
49416 /* 139232 */ // Label 3030: @139232
49417 /* 139232 */ GIM_Try, /*On fail goto*//*Label 3031*/ GIMT_Encode4(139257), // Rule ID 4466 //
49418 /* 139237 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
49419 /* 139240 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49420 /* 139244 */ // (vselect:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src0) => (VMOVAPDZ256rrk:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src1)
49421 /* 139244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZ256rrk),
49422 /* 139247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49423 /* 139249 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49424 /* 139251 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49425 /* 139253 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49426 /* 139255 */ GIR_RootConstrainSelectedInstOperands,
49427 /* 139256 */ // GIR_Coverage, 4466,
49428 /* 139256 */ GIR_EraseRootFromParent_Done,
49429 /* 139257 */ // Label 3031: @139257
49430 /* 139257 */ GIM_Try, /*On fail goto*//*Label 3032*/ GIMT_Encode4(139282), // Rule ID 4520 //
49431 /* 139262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
49432 /* 139265 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49433 /* 139269 */ // (vselect:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src0) => (VMOVDQA64Z256rrk:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src0, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src1)
49434 /* 139269 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Z256rrk),
49435 /* 139272 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49436 /* 139274 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49437 /* 139276 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49438 /* 139278 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49439 /* 139280 */ GIR_RootConstrainSelectedInstOperands,
49440 /* 139281 */ // GIR_Coverage, 4520,
49441 /* 139281 */ GIR_EraseRootFromParent_Done,
49442 /* 139282 */ // Label 3032: @139282
49443 /* 139282 */ GIM_Try, /*On fail goto*//*Label 3033*/ GIMT_Encode4(139463), // Rule ID 19765 //
49444 /* 139287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
49445 /* 139290 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49446 /* 139294 */ // (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] })
49447 /* 139294 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
49448 /* 139297 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49449 /* 139301 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49450 /* 139306 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
49451 /* 139308 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
49452 /* 139311 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49453 /* 139315 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49454 /* 139320 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
49455 /* 139323 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
49456 /* 139327 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
49457 /* 139330 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49458 /* 139335 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49459 /* 139340 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49460 /* 139345 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
49461 /* 139348 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49462 /* 139352 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49463 /* 139357 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
49464 /* 139361 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
49465 /* 139366 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
49466 /* 139369 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49467 /* 139373 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49468 /* 139378 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
49469 /* 139380 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
49470 /* 139383 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49471 /* 139387 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49472 /* 139392 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49473 /* 139395 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
49474 /* 139399 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
49475 /* 139402 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49476 /* 139407 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49477 /* 139412 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49478 /* 139417 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
49479 /* 139420 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
49480 /* 139424 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49481 /* 139429 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49482 /* 139432 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
49483 /* 139435 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
49484 /* 139438 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49485 /* 139440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49486 /* 139443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49487 /* 139445 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49488 /* 139452 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49489 /* 139457 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49490 /* 139462 */ // GIR_Coverage, 19765,
49491 /* 139462 */ GIR_EraseRootFromParent_Done,
49492 /* 139463 */ // Label 3033: @139463
49493 /* 139463 */ GIM_Try, /*On fail goto*//*Label 3034*/ GIMT_Encode4(139644), // Rule ID 19767 //
49494 /* 139468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
49495 /* 139471 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49496 /* 139475 */ // (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] })
49497 /* 139475 */ GIR_MakeTempReg, /*TempRegID*/5, /*TypeID*/GILLT_v8s64,
49498 /* 139478 */ GIR_BuildMI, /*InsnID*/6, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49499 /* 139482 */ GIR_AddTempRegister, /*InsnID*/6, /*TempRegID*/5, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49500 /* 139487 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/6,
49501 /* 139489 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
49502 /* 139492 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49503 /* 139496 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49504 /* 139501 */ GIR_AddSimpleTempRegister, /*InsnID*/5, /*TempRegID*/5,
49505 /* 139504 */ GIR_Copy, /*NewInsnID*/5, /*OldInsnID*/0, /*OpIdx*/2, // src1
49506 /* 139508 */ GIR_AddImm8, /*InsnID*/5, /*Imm*/10,
49507 /* 139511 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49508 /* 139516 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49509 /* 139521 */ GIR_ConstrainOperandRC, /*InsnID*/5, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49510 /* 139526 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s1,
49511 /* 139529 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49512 /* 139533 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49513 /* 139538 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/1, // mask
49514 /* 139542 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VK8WMRegClassID),
49515 /* 139547 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
49516 /* 139550 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
49517 /* 139554 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49518 /* 139559 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
49519 /* 139561 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
49520 /* 139564 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
49521 /* 139568 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49522 /* 139573 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49523 /* 139576 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/3, // src0
49524 /* 139580 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
49525 /* 139583 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
49526 /* 139588 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49527 /* 139593 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
49528 /* 139598 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s64,
49529 /* 139601 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
49530 /* 139605 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49531 /* 139610 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49532 /* 139613 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
49533 /* 139616 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/4,
49534 /* 139619 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
49535 /* 139621 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49536 /* 139624 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49537 /* 139626 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
49538 /* 139633 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
49539 /* 139638 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
49540 /* 139643 */ // GIR_Coverage, 19767,
49541 /* 139643 */ GIR_EraseRootFromParent_Done,
49542 /* 139644 */ // Label 3034: @139644
49543 /* 139644 */ GIM_Reject,
49544 /* 139645 */ // Label 3026: @139645
49545 /* 139645 */ GIM_Reject,
49546 /* 139646 */ // Label 2941: @139646
49547 /* 139646 */ GIM_Try, /*On fail goto*//*Label 3035*/ GIMT_Encode4(140026),
49548 /* 139651 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
49549 /* 139654 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
49550 /* 139657 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
49551 /* 139660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49552 /* 139664 */ GIM_Try, /*On fail goto*//*Label 3036*/ GIMT_Encode4(139733), // Rule ID 19751 //
49553 /* 139669 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49554 /* 139673 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_XOR),
49555 /* 139677 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_v8s1,
49556 /* 139681 */ GIM_CheckType, /*MI*/1, /*Op*/2, /*Type*/GILLT_v8s1,
49557 /* 139685 */ GIM_CheckRegBankForClass, /*MI*/1, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
49558 /* 139690 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/2, // MIs[2]
49559 /* 139694 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49560 /* 139700 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/2,
49561 /* 139702 */ GIM_RecordInsn, /*DefineMI*/3, /*MI*/0, /*OpIdx*/2, // MIs[3]
49562 /* 139706 */ GIM_CheckOpcodeIsEither, /*MI*/3, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49563 /* 139712 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/3,
49564 /* 139714 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49565 /* 139718 */ GIM_CheckIsSafeToFold, /*NumInsns*/3,
49566 /* 139720 */ // (vselect:{ *:[v8i64] } (xor:{ *:[v8i1] } VK8:{ *:[v8i1] }:$mask, immAllOnesV:{ *:[v8i1] }), immAllZerosV:{ *:[v8i64] }, VR512:{ *:[v8i64] }:$src) => (VMOVDQA64Zrrkz:{ *:[v8i64] } VK8:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
49567 /* 139720 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
49568 /* 139723 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49569 /* 139725 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // mask
49570 /* 139729 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
49571 /* 139731 */ GIR_RootConstrainSelectedInstOperands,
49572 /* 139732 */ // GIR_Coverage, 19751,
49573 /* 139732 */ GIR_EraseRootFromParent_Done,
49574 /* 139733 */ // Label 3036: @139733
49575 /* 139733 */ GIM_Try, /*On fail goto*//*Label 3037*/ GIMT_Encode4(139780), // Rule ID 3577 //
49576 /* 139738 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49577 /* 139741 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49578 /* 139745 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49579 /* 139749 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49580 /* 139755 */ GIM_CheckIsBuildVectorAllOnes, /*MI*/1,
49581 /* 139757 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/0, /*OpIdx*/3, // MIs[2]
49582 /* 139761 */ GIM_CheckOpcodeIsEither, /*MI*/2, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49583 /* 139767 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/2,
49584 /* 139769 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
49585 /* 139771 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, immAllOnesV:{ *:[v8i64] }, immAllZerosV:{ *:[v8i64] }) => (AVX512_512_SEXT_MASK_64:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask)
49586 /* 139771 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::AVX512_512_SEXT_MASK_64),
49587 /* 139774 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49588 /* 139776 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49589 /* 139778 */ GIR_RootConstrainSelectedInstOperands,
49590 /* 139779 */ // GIR_Coverage, 3577,
49591 /* 139779 */ GIR_EraseRootFromParent_Done,
49592 /* 139780 */ // Label 3037: @139780
49593 /* 139780 */ GIM_Try, /*On fail goto*//*Label 3038*/ GIMT_Encode4(139877), // Rule ID 19749 //
49594 /* 139785 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49595 /* 139789 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49596 /* 139793 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49597 /* 139799 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49598 /* 139801 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49599 /* 139805 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49600 /* 139807 */ // (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)
49601 /* 139807 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s1,
49602 /* 139810 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49603 /* 139814 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49604 /* 139819 */ GIR_Copy, /*NewInsnID*/3, /*OldInsnID*/0, /*OpIdx*/1, // mask
49605 /* 139823 */ GIR_ConstrainOperandRC, /*InsnID*/3, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
49606 /* 139828 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s1,
49607 /* 139831 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(X86::KNOTWkk),
49608 /* 139835 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49609 /* 139840 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
49610 /* 139843 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/2,
49611 /* 139845 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s1,
49612 /* 139848 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
49613 /* 139852 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
49614 /* 139857 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
49615 /* 139860 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
49616 /* 139865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
49617 /* 139868 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49618 /* 139870 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
49619 /* 139873 */ GIR_RootToRootCopy, /*OpIdx*/3, // src
49620 /* 139875 */ GIR_RootConstrainSelectedInstOperands,
49621 /* 139876 */ // GIR_Coverage, 19749,
49622 /* 139876 */ GIR_EraseRootFromParent_Done,
49623 /* 139877 */ // Label 3038: @139877
49624 /* 139877 */ GIM_Try, /*On fail goto*//*Label 3039*/ GIMT_Encode4(139918), // Rule ID 4459 //
49625 /* 139882 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49626 /* 139885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49627 /* 139889 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49628 /* 139893 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49629 /* 139897 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49630 /* 139903 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49631 /* 139905 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49632 /* 139907 */ // (vselect:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src, immAllZerosV:{ *:[v8f64] }) => (VMOVAPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
49633 /* 139907 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrkz),
49634 /* 139910 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49635 /* 139912 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49636 /* 139914 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49637 /* 139916 */ GIR_RootConstrainSelectedInstOperands,
49638 /* 139917 */ // GIR_Coverage, 4459,
49639 /* 139917 */ GIR_EraseRootFromParent_Done,
49640 /* 139918 */ // Label 3039: @139918
49641 /* 139918 */ GIM_Try, /*On fail goto*//*Label 3040*/ GIMT_Encode4(139959), // Rule ID 4513 //
49642 /* 139923 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49643 /* 139926 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49644 /* 139930 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49645 /* 139934 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
49646 /* 139938 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
49647 /* 139944 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
49648 /* 139946 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49649 /* 139948 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src, immAllZerosV:{ *:[v8i64] }) => (VMOVDQA64Zrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
49650 /* 139948 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrkz),
49651 /* 139951 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49652 /* 139953 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49653 /* 139955 */ GIR_RootToRootCopy, /*OpIdx*/2, // src
49654 /* 139957 */ GIR_RootConstrainSelectedInstOperands,
49655 /* 139958 */ // GIR_Coverage, 4513,
49656 /* 139958 */ GIR_EraseRootFromParent_Done,
49657 /* 139959 */ // Label 3040: @139959
49658 /* 139959 */ GIM_Try, /*On fail goto*//*Label 3041*/ GIMT_Encode4(139992), // Rule ID 4461 //
49659 /* 139964 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49660 /* 139967 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49661 /* 139971 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49662 /* 139975 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49663 /* 139979 */ // (vselect:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src0) => (VMOVAPDZrrk:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src1)
49664 /* 139979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVAPDZrrk),
49665 /* 139982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49666 /* 139984 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49667 /* 139986 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49668 /* 139988 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49669 /* 139990 */ GIR_RootConstrainSelectedInstOperands,
49670 /* 139991 */ // GIR_Coverage, 4461,
49671 /* 139991 */ GIR_EraseRootFromParent_Done,
49672 /* 139992 */ // Label 3041: @139992
49673 /* 139992 */ GIM_Try, /*On fail goto*//*Label 3042*/ GIMT_Encode4(140025), // Rule ID 4515 //
49674 /* 139997 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
49675 /* 140000 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
49676 /* 140004 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49677 /* 140008 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49678 /* 140012 */ // (vselect:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src0) => (VMOVDQA64Zrrk:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src0, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src1)
49679 /* 140012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMOVDQA64Zrrk),
49680 /* 140015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49681 /* 140017 */ GIR_RootToRootCopy, /*OpIdx*/3, // src0
49682 /* 140019 */ GIR_RootToRootCopy, /*OpIdx*/1, // mask
49683 /* 140021 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49684 /* 140023 */ GIR_RootConstrainSelectedInstOperands,
49685 /* 140024 */ // GIR_Coverage, 4515,
49686 /* 140024 */ GIR_EraseRootFromParent_Done,
49687 /* 140025 */ // Label 3042: @140025
49688 /* 140025 */ GIM_Reject,
49689 /* 140026 */ // Label 3035: @140026
49690 /* 140026 */ GIM_Reject,
49691 /* 140027 */ // Label 2942: @140027
49692 /* 140027 */ GIM_Reject,
49693 /* 140028 */ // Label 36: @140028
49694 /* 140028 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(16), GIMT_Encode2(19), /*)*//*default:*//*Label 3046*/ GIMT_Encode4(140864),
49695 /* 140039 */ /*GILLT_v8s16*//*Label 3043*/ GIMT_Encode4(140051),
49696 /* 140043 */ /*GILLT_v16s16*//*Label 3044*/ GIMT_Encode4(140393),
49697 /* 140047 */ /*GILLT_v32s16*//*Label 3045*/ GIMT_Encode4(140708),
49698 /* 140051 */ // Label 3043: @140051
49699 /* 140051 */ GIM_Try, /*On fail goto*//*Label 3047*/ GIMT_Encode4(140392),
49700 /* 140056 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
49701 /* 140059 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
49702 /* 140062 */ GIM_Try, /*On fail goto*//*Label 3048*/ GIMT_Encode4(140124), // Rule ID 23514 //
49703 /* 140067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
49704 /* 140070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49705 /* 140074 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49706 /* 140078 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49707 /* 140082 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49708 /* 140085 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49709 /* 140089 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49710 /* 140093 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49711 /* 140097 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49712 /* 140099 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49713 /* 140106 */ // (mulhu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULHUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49714 /* 140106 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrm),
49715 /* 140109 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49716 /* 140111 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49717 /* 140113 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49718 /* 140117 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49719 /* 140122 */ GIR_RootConstrainSelectedInstOperands,
49720 /* 140123 */ // GIR_Coverage, 23514,
49721 /* 140123 */ GIR_EraseRootFromParent_Done,
49722 /* 140124 */ // Label 3048: @140124
49723 /* 140124 */ GIM_Try, /*On fail goto*//*Label 3049*/ GIMT_Encode4(140186), // Rule ID 23904 //
49724 /* 140129 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49725 /* 140132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49726 /* 140136 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49727 /* 140140 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49728 /* 140144 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49729 /* 140147 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49730 /* 140151 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49731 /* 140155 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49732 /* 140159 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49733 /* 140161 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49734 /* 140168 */ // (mulhu:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULHUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49735 /* 140168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rm),
49736 /* 140171 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49737 /* 140173 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49738 /* 140175 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49739 /* 140179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49740 /* 140184 */ GIR_RootConstrainSelectedInstOperands,
49741 /* 140185 */ // GIR_Coverage, 23904,
49742 /* 140185 */ GIR_EraseRootFromParent_Done,
49743 /* 140186 */ // Label 3049: @140186
49744 /* 140186 */ GIM_Try, /*On fail goto*//*Label 3050*/ GIMT_Encode4(140248), // Rule ID 2553 //
49745 /* 140191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
49746 /* 140194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49747 /* 140198 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49748 /* 140202 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49749 /* 140206 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49750 /* 140210 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49751 /* 140213 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49752 /* 140217 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49753 /* 140221 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49754 /* 140223 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49755 /* 140230 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49756 /* 140230 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrm),
49757 /* 140233 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49758 /* 140235 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49759 /* 140237 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49760 /* 140241 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49761 /* 140246 */ GIR_RootConstrainSelectedInstOperands,
49762 /* 140247 */ // GIR_Coverage, 2553,
49763 /* 140247 */ GIR_EraseRootFromParent_Done,
49764 /* 140248 */ // Label 3050: @140248
49765 /* 140248 */ GIM_Try, /*On fail goto*//*Label 3051*/ GIMT_Encode4(140310), // Rule ID 5042 //
49766 /* 140253 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49767 /* 140256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49768 /* 140260 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49769 /* 140264 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49770 /* 140268 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49771 /* 140272 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49772 /* 140275 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49773 /* 140279 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49774 /* 140283 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49775 /* 140285 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49776 /* 140292 */ // (mulhu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49777 /* 140292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rm),
49778 /* 140295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49779 /* 140297 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49780 /* 140299 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49781 /* 140303 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49782 /* 140308 */ GIR_RootConstrainSelectedInstOperands,
49783 /* 140309 */ // GIR_Coverage, 5042,
49784 /* 140309 */ GIR_EraseRootFromParent_Done,
49785 /* 140310 */ // Label 3051: @140310
49786 /* 140310 */ GIM_Try, /*On fail goto*//*Label 3052*/ GIMT_Encode4(140337), // Rule ID 2552 //
49787 /* 140315 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
49788 /* 140318 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49789 /* 140322 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49790 /* 140326 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49791 /* 140330 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULHUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
49792 /* 140330 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWrr),
49793 /* 140335 */ GIR_RootConstrainSelectedInstOperands,
49794 /* 140336 */ // GIR_Coverage, 2552,
49795 /* 140336 */ GIR_Done,
49796 /* 140337 */ // Label 3052: @140337
49797 /* 140337 */ GIM_Try, /*On fail goto*//*Label 3053*/ GIMT_Encode4(140364), // Rule ID 2554 //
49798 /* 140342 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
49799 /* 140345 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49800 /* 140349 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49801 /* 140353 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
49802 /* 140357 */ // (mulhu:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULHUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
49803 /* 140357 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULHUWrr),
49804 /* 140362 */ GIR_RootConstrainSelectedInstOperands,
49805 /* 140363 */ // GIR_Coverage, 2554,
49806 /* 140363 */ GIR_Done,
49807 /* 140364 */ // Label 3053: @140364
49808 /* 140364 */ GIM_Try, /*On fail goto*//*Label 3054*/ GIMT_Encode4(140391), // Rule ID 5039 //
49809 /* 140369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49810 /* 140372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49811 /* 140376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49812 /* 140380 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
49813 /* 140384 */ // (mulhu:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULHUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
49814 /* 140384 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ128rr),
49815 /* 140389 */ GIR_RootConstrainSelectedInstOperands,
49816 /* 140390 */ // GIR_Coverage, 5039,
49817 /* 140390 */ GIR_Done,
49818 /* 140391 */ // Label 3054: @140391
49819 /* 140391 */ GIM_Reject,
49820 /* 140392 */ // Label 3047: @140392
49821 /* 140392 */ GIM_Reject,
49822 /* 140393 */ // Label 3044: @140393
49823 /* 140393 */ GIM_Try, /*On fail goto*//*Label 3055*/ GIMT_Encode4(140707),
49824 /* 140398 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
49825 /* 140401 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
49826 /* 140404 */ GIM_Try, /*On fail goto*//*Label 3056*/ GIMT_Encode4(140466), // Rule ID 23516 //
49827 /* 140409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
49828 /* 140412 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49829 /* 140416 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49830 /* 140420 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49831 /* 140424 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49832 /* 140427 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49833 /* 140431 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49834 /* 140435 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49835 /* 140439 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49836 /* 140441 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49837 /* 140448 */ // (mulhu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULHUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49838 /* 140448 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrm),
49839 /* 140451 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49840 /* 140453 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49841 /* 140455 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49842 /* 140459 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49843 /* 140464 */ GIR_RootConstrainSelectedInstOperands,
49844 /* 140465 */ // GIR_Coverage, 23516,
49845 /* 140465 */ GIR_EraseRootFromParent_Done,
49846 /* 140466 */ // Label 3056: @140466
49847 /* 140466 */ GIM_Try, /*On fail goto*//*Label 3057*/ GIMT_Encode4(140528), // Rule ID 23901 //
49848 /* 140471 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49849 /* 140474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49850 /* 140478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49851 /* 140482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49852 /* 140486 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49853 /* 140489 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49854 /* 140493 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49855 /* 140497 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49856 /* 140501 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49857 /* 140503 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49858 /* 140510 */ // (mulhu:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULHUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49859 /* 140510 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rm),
49860 /* 140513 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49861 /* 140515 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49862 /* 140517 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49863 /* 140521 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49864 /* 140526 */ GIR_RootConstrainSelectedInstOperands,
49865 /* 140527 */ // GIR_Coverage, 23901,
49866 /* 140527 */ GIR_EraseRootFromParent_Done,
49867 /* 140528 */ // Label 3057: @140528
49868 /* 140528 */ GIM_Try, /*On fail goto*//*Label 3058*/ GIMT_Encode4(140590), // Rule ID 2557 //
49869 /* 140533 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
49870 /* 140536 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49871 /* 140540 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49872 /* 140544 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49873 /* 140548 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49874 /* 140552 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49875 /* 140555 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49876 /* 140559 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49877 /* 140563 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49878 /* 140565 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49879 /* 140572 */ // (mulhu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49880 /* 140572 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrm),
49881 /* 140575 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49882 /* 140577 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49883 /* 140579 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49884 /* 140583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49885 /* 140588 */ GIR_RootConstrainSelectedInstOperands,
49886 /* 140589 */ // GIR_Coverage, 2557,
49887 /* 140589 */ GIR_EraseRootFromParent_Done,
49888 /* 140590 */ // Label 3058: @140590
49889 /* 140590 */ GIM_Try, /*On fail goto*//*Label 3059*/ GIMT_Encode4(140652), // Rule ID 5036 //
49890 /* 140595 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49891 /* 140598 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49892 /* 140602 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49893 /* 140606 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49894 /* 140610 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49895 /* 140614 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49896 /* 140617 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49897 /* 140621 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49898 /* 140625 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49899 /* 140627 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49900 /* 140634 */ // (mulhu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49901 /* 140634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rm),
49902 /* 140637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49903 /* 140639 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49904 /* 140641 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49905 /* 140645 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49906 /* 140650 */ GIR_RootConstrainSelectedInstOperands,
49907 /* 140651 */ // GIR_Coverage, 5036,
49908 /* 140651 */ GIR_EraseRootFromParent_Done,
49909 /* 140652 */ // Label 3059: @140652
49910 /* 140652 */ GIM_Try, /*On fail goto*//*Label 3060*/ GIMT_Encode4(140679), // Rule ID 2556 //
49911 /* 140657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
49912 /* 140660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49913 /* 140664 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49914 /* 140668 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
49915 /* 140672 */ // (mulhu:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULHUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
49916 /* 140672 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWYrr),
49917 /* 140677 */ GIR_RootConstrainSelectedInstOperands,
49918 /* 140678 */ // GIR_Coverage, 2556,
49919 /* 140678 */ GIR_Done,
49920 /* 140679 */ // Label 3060: @140679
49921 /* 140679 */ GIM_Try, /*On fail goto*//*Label 3061*/ GIMT_Encode4(140706), // Rule ID 5033 //
49922 /* 140684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
49923 /* 140687 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49924 /* 140691 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49925 /* 140695 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
49926 /* 140699 */ // (mulhu:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULHUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
49927 /* 140699 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZ256rr),
49928 /* 140704 */ GIR_RootConstrainSelectedInstOperands,
49929 /* 140705 */ // GIR_Coverage, 5033,
49930 /* 140705 */ GIR_Done,
49931 /* 140706 */ // Label 3061: @140706
49932 /* 140706 */ GIM_Reject,
49933 /* 140707 */ // Label 3055: @140707
49934 /* 140707 */ GIM_Reject,
49935 /* 140708 */ // Label 3045: @140708
49936 /* 140708 */ GIM_Try, /*On fail goto*//*Label 3062*/ GIMT_Encode4(140863),
49937 /* 140713 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
49938 /* 140716 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
49939 /* 140719 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49940 /* 140723 */ GIM_Try, /*On fail goto*//*Label 3063*/ GIMT_Encode4(140781), // Rule ID 23898 //
49941 /* 140728 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49942 /* 140731 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
49943 /* 140735 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49944 /* 140739 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49945 /* 140742 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49946 /* 140746 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49947 /* 140750 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49948 /* 140754 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49949 /* 140756 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49950 /* 140763 */ // (mulhu:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULHUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49951 /* 140763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrm),
49952 /* 140766 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49953 /* 140768 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
49954 /* 140770 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49955 /* 140774 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49956 /* 140779 */ GIR_RootConstrainSelectedInstOperands,
49957 /* 140780 */ // GIR_Coverage, 23898,
49958 /* 140780 */ GIR_EraseRootFromParent_Done,
49959 /* 140781 */ // Label 3063: @140781
49960 /* 140781 */ GIM_Try, /*On fail goto*//*Label 3064*/ GIMT_Encode4(140839), // Rule ID 5030 //
49961 /* 140786 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49962 /* 140789 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49963 /* 140793 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
49964 /* 140797 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
49965 /* 140801 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
49966 /* 140804 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
49967 /* 140808 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
49968 /* 140812 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
49969 /* 140814 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
49970 /* 140821 */ // (mulhu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
49971 /* 140821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrm),
49972 /* 140824 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
49973 /* 140826 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
49974 /* 140828 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
49975 /* 140832 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
49976 /* 140837 */ GIR_RootConstrainSelectedInstOperands,
49977 /* 140838 */ // GIR_Coverage, 5030,
49978 /* 140838 */ GIR_EraseRootFromParent_Done,
49979 /* 140839 */ // Label 3064: @140839
49980 /* 140839 */ GIM_Try, /*On fail goto*//*Label 3065*/ GIMT_Encode4(140862), // Rule ID 5027 //
49981 /* 140844 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
49982 /* 140847 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49983 /* 140851 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
49984 /* 140855 */ // (mulhu:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULHUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
49985 /* 140855 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHUWZrr),
49986 /* 140860 */ GIR_RootConstrainSelectedInstOperands,
49987 /* 140861 */ // GIR_Coverage, 5027,
49988 /* 140861 */ GIR_Done,
49989 /* 140862 */ // Label 3065: @140862
49990 /* 140862 */ GIM_Reject,
49991 /* 140863 */ // Label 3062: @140863
49992 /* 140863 */ GIM_Reject,
49993 /* 140864 */ // Label 3046: @140864
49994 /* 140864 */ GIM_Reject,
49995 /* 140865 */ // Label 37: @140865
49996 /* 140865 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(16), GIMT_Encode2(19), /*)*//*default:*//*Label 3069*/ GIMT_Encode4(141701),
49997 /* 140876 */ /*GILLT_v8s16*//*Label 3066*/ GIMT_Encode4(140888),
49998 /* 140880 */ /*GILLT_v16s16*//*Label 3067*/ GIMT_Encode4(141230),
49999 /* 140884 */ /*GILLT_v32s16*//*Label 3068*/ GIMT_Encode4(141545),
50000 /* 140888 */ // Label 3066: @140888
50001 /* 140888 */ GIM_Try, /*On fail goto*//*Label 3070*/ GIMT_Encode4(141229),
50002 /* 140893 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
50003 /* 140896 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
50004 /* 140899 */ GIM_Try, /*On fail goto*//*Label 3071*/ GIMT_Encode4(140961), // Rule ID 23517 //
50005 /* 140904 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50006 /* 140907 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50007 /* 140911 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50008 /* 140915 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50009 /* 140919 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50010 /* 140922 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50011 /* 140926 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50012 /* 140930 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50013 /* 140934 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50014 /* 140936 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50015 /* 140943 */ // (mulhs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMULHWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50016 /* 140943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWrm),
50017 /* 140946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50018 /* 140948 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50019 /* 140950 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50020 /* 140954 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50021 /* 140959 */ GIR_RootConstrainSelectedInstOperands,
50022 /* 140960 */ // GIR_Coverage, 23517,
50023 /* 140960 */ GIR_EraseRootFromParent_Done,
50024 /* 140961 */ // Label 3071: @140961
50025 /* 140961 */ GIM_Try, /*On fail goto*//*Label 3072*/ GIMT_Encode4(141023), // Rule ID 23895 //
50026 /* 140966 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50027 /* 140969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50028 /* 140973 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50029 /* 140977 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50030 /* 140981 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50031 /* 140984 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50032 /* 140988 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50033 /* 140992 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50034 /* 140996 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50035 /* 140998 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50036 /* 141005 */ // (mulhs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMULHWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50037 /* 141005 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rm),
50038 /* 141008 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50039 /* 141010 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50040 /* 141012 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50041 /* 141016 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50042 /* 141021 */ GIR_RootConstrainSelectedInstOperands,
50043 /* 141022 */ // GIR_Coverage, 23895,
50044 /* 141022 */ GIR_EraseRootFromParent_Done,
50045 /* 141023 */ // Label 3072: @141023
50046 /* 141023 */ GIM_Try, /*On fail goto*//*Label 3073*/ GIMT_Encode4(141085), // Rule ID 2559 //
50047 /* 141028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50048 /* 141031 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50049 /* 141035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50050 /* 141039 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50051 /* 141043 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50052 /* 141047 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50053 /* 141050 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50054 /* 141054 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50055 /* 141058 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50056 /* 141060 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50057 /* 141067 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50058 /* 141067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWrm),
50059 /* 141070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50060 /* 141072 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50061 /* 141074 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50062 /* 141078 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50063 /* 141083 */ GIR_RootConstrainSelectedInstOperands,
50064 /* 141084 */ // GIR_Coverage, 2559,
50065 /* 141084 */ GIR_EraseRootFromParent_Done,
50066 /* 141085 */ // Label 3073: @141085
50067 /* 141085 */ GIM_Try, /*On fail goto*//*Label 3074*/ GIMT_Encode4(141147), // Rule ID 5024 //
50068 /* 141090 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50069 /* 141093 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50070 /* 141097 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50071 /* 141101 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50072 /* 141105 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50073 /* 141109 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50074 /* 141112 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50075 /* 141116 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50076 /* 141120 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50077 /* 141122 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50078 /* 141129 */ // (mulhs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50079 /* 141129 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rm),
50080 /* 141132 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50081 /* 141134 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50082 /* 141136 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50083 /* 141140 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50084 /* 141145 */ GIR_RootConstrainSelectedInstOperands,
50085 /* 141146 */ // GIR_Coverage, 5024,
50086 /* 141146 */ GIR_EraseRootFromParent_Done,
50087 /* 141147 */ // Label 3074: @141147
50088 /* 141147 */ GIM_Try, /*On fail goto*//*Label 3075*/ GIMT_Encode4(141174), // Rule ID 2558 //
50089 /* 141152 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50090 /* 141155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50091 /* 141159 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50092 /* 141163 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50093 /* 141167 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMULHWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50094 /* 141167 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWrr),
50095 /* 141172 */ GIR_RootConstrainSelectedInstOperands,
50096 /* 141173 */ // GIR_Coverage, 2558,
50097 /* 141173 */ GIR_Done,
50098 /* 141174 */ // Label 3075: @141174
50099 /* 141174 */ GIM_Try, /*On fail goto*//*Label 3076*/ GIMT_Encode4(141201), // Rule ID 2560 //
50100 /* 141179 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
50101 /* 141182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50102 /* 141186 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50103 /* 141190 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50104 /* 141194 */ // (mulhs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMULHWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50105 /* 141194 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMULHWrr),
50106 /* 141199 */ GIR_RootConstrainSelectedInstOperands,
50107 /* 141200 */ // GIR_Coverage, 2560,
50108 /* 141200 */ GIR_Done,
50109 /* 141201 */ // Label 3076: @141201
50110 /* 141201 */ GIM_Try, /*On fail goto*//*Label 3077*/ GIMT_Encode4(141228), // Rule ID 5021 //
50111 /* 141206 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50112 /* 141209 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50113 /* 141213 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50114 /* 141217 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50115 /* 141221 */ // (mulhs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMULHWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
50116 /* 141221 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ128rr),
50117 /* 141226 */ GIR_RootConstrainSelectedInstOperands,
50118 /* 141227 */ // GIR_Coverage, 5021,
50119 /* 141227 */ GIR_Done,
50120 /* 141228 */ // Label 3077: @141228
50121 /* 141228 */ GIM_Reject,
50122 /* 141229 */ // Label 3070: @141229
50123 /* 141229 */ GIM_Reject,
50124 /* 141230 */ // Label 3067: @141230
50125 /* 141230 */ GIM_Try, /*On fail goto*//*Label 3078*/ GIMT_Encode4(141544),
50126 /* 141235 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
50127 /* 141238 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
50128 /* 141241 */ GIM_Try, /*On fail goto*//*Label 3079*/ GIMT_Encode4(141303), // Rule ID 23519 //
50129 /* 141246 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50130 /* 141249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50131 /* 141253 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50132 /* 141257 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50133 /* 141261 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50134 /* 141264 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50135 /* 141268 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50136 /* 141272 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50137 /* 141276 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50138 /* 141278 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50139 /* 141285 */ // (mulhs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMULHWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50140 /* 141285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrm),
50141 /* 141288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50142 /* 141290 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50143 /* 141292 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50144 /* 141296 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50145 /* 141301 */ GIR_RootConstrainSelectedInstOperands,
50146 /* 141302 */ // GIR_Coverage, 23519,
50147 /* 141302 */ GIR_EraseRootFromParent_Done,
50148 /* 141303 */ // Label 3079: @141303
50149 /* 141303 */ GIM_Try, /*On fail goto*//*Label 3080*/ GIMT_Encode4(141365), // Rule ID 23892 //
50150 /* 141308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50151 /* 141311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50152 /* 141315 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50153 /* 141319 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50154 /* 141323 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50155 /* 141326 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50156 /* 141330 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50157 /* 141334 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50158 /* 141338 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50159 /* 141340 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50160 /* 141347 */ // (mulhs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMULHWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50161 /* 141347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rm),
50162 /* 141350 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50163 /* 141352 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50164 /* 141354 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50165 /* 141358 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50166 /* 141363 */ GIR_RootConstrainSelectedInstOperands,
50167 /* 141364 */ // GIR_Coverage, 23892,
50168 /* 141364 */ GIR_EraseRootFromParent_Done,
50169 /* 141365 */ // Label 3080: @141365
50170 /* 141365 */ GIM_Try, /*On fail goto*//*Label 3081*/ GIMT_Encode4(141427), // Rule ID 2563 //
50171 /* 141370 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50172 /* 141373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50173 /* 141377 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50174 /* 141381 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50175 /* 141385 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50176 /* 141389 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50177 /* 141392 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50178 /* 141396 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50179 /* 141400 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50180 /* 141402 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50181 /* 141409 */ // (mulhs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50182 /* 141409 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrm),
50183 /* 141412 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50184 /* 141414 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50185 /* 141416 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50186 /* 141420 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50187 /* 141425 */ GIR_RootConstrainSelectedInstOperands,
50188 /* 141426 */ // GIR_Coverage, 2563,
50189 /* 141426 */ GIR_EraseRootFromParent_Done,
50190 /* 141427 */ // Label 3081: @141427
50191 /* 141427 */ GIM_Try, /*On fail goto*//*Label 3082*/ GIMT_Encode4(141489), // Rule ID 5018 //
50192 /* 141432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50193 /* 141435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50194 /* 141439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50195 /* 141443 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50196 /* 141447 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50197 /* 141451 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50198 /* 141454 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50199 /* 141458 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50200 /* 141462 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50201 /* 141464 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50202 /* 141471 */ // (mulhs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50203 /* 141471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rm),
50204 /* 141474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50205 /* 141476 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50206 /* 141478 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50207 /* 141482 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50208 /* 141487 */ GIR_RootConstrainSelectedInstOperands,
50209 /* 141488 */ // GIR_Coverage, 5018,
50210 /* 141488 */ GIR_EraseRootFromParent_Done,
50211 /* 141489 */ // Label 3082: @141489
50212 /* 141489 */ GIM_Try, /*On fail goto*//*Label 3083*/ GIMT_Encode4(141516), // Rule ID 2562 //
50213 /* 141494 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50214 /* 141497 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50215 /* 141501 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50216 /* 141505 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50217 /* 141509 */ // (mulhs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMULHWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
50218 /* 141509 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWYrr),
50219 /* 141514 */ GIR_RootConstrainSelectedInstOperands,
50220 /* 141515 */ // GIR_Coverage, 2562,
50221 /* 141515 */ GIR_Done,
50222 /* 141516 */ // Label 3083: @141516
50223 /* 141516 */ GIM_Try, /*On fail goto*//*Label 3084*/ GIMT_Encode4(141543), // Rule ID 5015 //
50224 /* 141521 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50225 /* 141524 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50226 /* 141528 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50227 /* 141532 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50228 /* 141536 */ // (mulhs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMULHWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
50229 /* 141536 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZ256rr),
50230 /* 141541 */ GIR_RootConstrainSelectedInstOperands,
50231 /* 141542 */ // GIR_Coverage, 5015,
50232 /* 141542 */ GIR_Done,
50233 /* 141543 */ // Label 3084: @141543
50234 /* 141543 */ GIM_Reject,
50235 /* 141544 */ // Label 3078: @141544
50236 /* 141544 */ GIM_Reject,
50237 /* 141545 */ // Label 3068: @141545
50238 /* 141545 */ GIM_Try, /*On fail goto*//*Label 3085*/ GIMT_Encode4(141700),
50239 /* 141550 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
50240 /* 141553 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
50241 /* 141556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50242 /* 141560 */ GIM_Try, /*On fail goto*//*Label 3086*/ GIMT_Encode4(141618), // Rule ID 23889 //
50243 /* 141565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50244 /* 141568 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50245 /* 141572 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50246 /* 141576 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50247 /* 141579 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50248 /* 141583 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50249 /* 141587 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50250 /* 141591 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50251 /* 141593 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50252 /* 141600 */ // (mulhs:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMULHWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50253 /* 141600 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrm),
50254 /* 141603 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50255 /* 141605 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50256 /* 141607 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50257 /* 141611 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50258 /* 141616 */ GIR_RootConstrainSelectedInstOperands,
50259 /* 141617 */ // GIR_Coverage, 23889,
50260 /* 141617 */ GIR_EraseRootFromParent_Done,
50261 /* 141618 */ // Label 3086: @141618
50262 /* 141618 */ GIM_Try, /*On fail goto*//*Label 3087*/ GIMT_Encode4(141676), // Rule ID 5012 //
50263 /* 141623 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50264 /* 141626 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50265 /* 141630 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50266 /* 141634 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50267 /* 141638 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50268 /* 141641 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50269 /* 141645 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50270 /* 141649 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50271 /* 141651 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50272 /* 141658 */ // (mulhs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMULHWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50273 /* 141658 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrm),
50274 /* 141661 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50275 /* 141663 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50276 /* 141665 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50277 /* 141669 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50278 /* 141674 */ GIR_RootConstrainSelectedInstOperands,
50279 /* 141675 */ // GIR_Coverage, 5012,
50280 /* 141675 */ GIR_EraseRootFromParent_Done,
50281 /* 141676 */ // Label 3087: @141676
50282 /* 141676 */ GIM_Try, /*On fail goto*//*Label 3088*/ GIMT_Encode4(141699), // Rule ID 5009 //
50283 /* 141681 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50284 /* 141684 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50285 /* 141688 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50286 /* 141692 */ // (mulhs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMULHWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
50287 /* 141692 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMULHWZrr),
50288 /* 141697 */ GIR_RootConstrainSelectedInstOperands,
50289 /* 141698 */ // GIR_Coverage, 5009,
50290 /* 141698 */ GIR_Done,
50291 /* 141699 */ // Label 3088: @141699
50292 /* 141699 */ GIM_Reject,
50293 /* 141700 */ // Label 3085: @141700
50294 /* 141700 */ GIM_Reject,
50295 /* 141701 */ // Label 3069: @141701
50296 /* 141701 */ GIM_Reject,
50297 /* 141702 */ // Label 38: @141702
50298 /* 141702 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(19), /*)*//*default:*//*Label 3095*/ GIMT_Encode4(143363),
50299 /* 141713 */ /*GILLT_v16s8*//*Label 3089*/ GIMT_Encode4(141737),
50300 /* 141717 */ /*GILLT_v32s8*//*Label 3090*/ GIMT_Encode4(142079),
50301 /* 141721 */ /*GILLT_v64s8*//*Label 3091*/ GIMT_Encode4(142394),
50302 /* 141725 */ /*GILLT_v8s16*//*Label 3092*/ GIMT_Encode4(142550),
50303 /* 141729 */ /*GILLT_v16s16*//*Label 3093*/ GIMT_Encode4(142892),
50304 /* 141733 */ /*GILLT_v32s16*//*Label 3094*/ GIMT_Encode4(143207),
50305 /* 141737 */ // Label 3089: @141737
50306 /* 141737 */ GIM_Try, /*On fail goto*//*Label 3096*/ GIMT_Encode4(142078),
50307 /* 141742 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
50308 /* 141745 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
50309 /* 141748 */ GIM_Try, /*On fail goto*//*Label 3097*/ GIMT_Encode4(141810), // Rule ID 23505 //
50310 /* 141753 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50311 /* 141756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50312 /* 141760 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50313 /* 141764 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50314 /* 141768 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50315 /* 141771 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50316 /* 141775 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50317 /* 141779 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50318 /* 141783 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50319 /* 141785 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50320 /* 141792 */ // (uaddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50321 /* 141792 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrm),
50322 /* 141795 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50323 /* 141797 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50324 /* 141799 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50325 /* 141803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50326 /* 141808 */ GIR_RootConstrainSelectedInstOperands,
50327 /* 141809 */ // GIR_Coverage, 23505,
50328 /* 141809 */ GIR_EraseRootFromParent_Done,
50329 /* 141810 */ // Label 3097: @141810
50330 /* 141810 */ GIM_Try, /*On fail goto*//*Label 3098*/ GIMT_Encode4(141872), // Rule ID 23841 //
50331 /* 141815 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50332 /* 141818 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50333 /* 141822 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50334 /* 141826 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50335 /* 141830 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50336 /* 141833 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50337 /* 141837 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50338 /* 141841 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50339 /* 141845 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50340 /* 141847 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50341 /* 141854 */ // (uaddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50342 /* 141854 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rm),
50343 /* 141857 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50344 /* 141859 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50345 /* 141861 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50346 /* 141865 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50347 /* 141870 */ GIR_RootConstrainSelectedInstOperands,
50348 /* 141871 */ // GIR_Coverage, 23841,
50349 /* 141871 */ GIR_EraseRootFromParent_Done,
50350 /* 141872 */ // Label 3098: @141872
50351 /* 141872 */ GIM_Try, /*On fail goto*//*Label 3099*/ GIMT_Encode4(141934), // Rule ID 2535 //
50352 /* 141877 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50353 /* 141880 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50354 /* 141884 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50355 /* 141888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50356 /* 141892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50357 /* 141896 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50358 /* 141899 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50359 /* 141903 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50360 /* 141907 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50361 /* 141909 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50362 /* 141916 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50363 /* 141916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrm),
50364 /* 141919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50365 /* 141921 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50366 /* 141923 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50367 /* 141927 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50368 /* 141932 */ GIR_RootConstrainSelectedInstOperands,
50369 /* 141933 */ // GIR_Coverage, 2535,
50370 /* 141933 */ GIR_EraseRootFromParent_Done,
50371 /* 141934 */ // Label 3099: @141934
50372 /* 141934 */ GIM_Try, /*On fail goto*//*Label 3100*/ GIMT_Encode4(141996), // Rule ID 4898 //
50373 /* 141939 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50374 /* 141942 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50375 /* 141946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50376 /* 141950 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50377 /* 141954 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50378 /* 141958 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50379 /* 141961 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50380 /* 141965 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50381 /* 141969 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50382 /* 141971 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50383 /* 141978 */ // (uaddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50384 /* 141978 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rm),
50385 /* 141981 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50386 /* 141983 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50387 /* 141985 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50388 /* 141989 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50389 /* 141994 */ GIR_RootConstrainSelectedInstOperands,
50390 /* 141995 */ // GIR_Coverage, 4898,
50391 /* 141995 */ GIR_EraseRootFromParent_Done,
50392 /* 141996 */ // Label 3100: @141996
50393 /* 141996 */ GIM_Try, /*On fail goto*//*Label 3101*/ GIMT_Encode4(142023), // Rule ID 2534 //
50394 /* 142001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50395 /* 142004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50396 /* 142008 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50397 /* 142012 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50398 /* 142016 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
50399 /* 142016 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBrr),
50400 /* 142021 */ GIR_RootConstrainSelectedInstOperands,
50401 /* 142022 */ // GIR_Coverage, 2534,
50402 /* 142022 */ GIR_Done,
50403 /* 142023 */ // Label 3101: @142023
50404 /* 142023 */ GIM_Try, /*On fail goto*//*Label 3102*/ GIMT_Encode4(142050), // Rule ID 2536 //
50405 /* 142028 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
50406 /* 142031 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50407 /* 142035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50408 /* 142039 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50409 /* 142043 */ // (uaddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
50410 /* 142043 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDUSBrr),
50411 /* 142048 */ GIR_RootConstrainSelectedInstOperands,
50412 /* 142049 */ // GIR_Coverage, 2536,
50413 /* 142049 */ GIR_Done,
50414 /* 142050 */ // Label 3102: @142050
50415 /* 142050 */ GIM_Try, /*On fail goto*//*Label 3103*/ GIMT_Encode4(142077), // Rule ID 4895 //
50416 /* 142055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50417 /* 142058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50418 /* 142062 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50419 /* 142066 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50420 /* 142070 */ // (uaddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDUSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
50421 /* 142070 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ128rr),
50422 /* 142075 */ GIR_RootConstrainSelectedInstOperands,
50423 /* 142076 */ // GIR_Coverage, 4895,
50424 /* 142076 */ GIR_Done,
50425 /* 142077 */ // Label 3103: @142077
50426 /* 142077 */ GIM_Reject,
50427 /* 142078 */ // Label 3096: @142078
50428 /* 142078 */ GIM_Reject,
50429 /* 142079 */ // Label 3090: @142079
50430 /* 142079 */ GIM_Try, /*On fail goto*//*Label 3104*/ GIMT_Encode4(142393),
50431 /* 142084 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
50432 /* 142087 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
50433 /* 142090 */ GIM_Try, /*On fail goto*//*Label 3105*/ GIMT_Encode4(142152), // Rule ID 23507 //
50434 /* 142095 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50435 /* 142098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50436 /* 142102 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50437 /* 142106 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50438 /* 142110 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50439 /* 142113 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50440 /* 142117 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50441 /* 142121 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50442 /* 142125 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50443 /* 142127 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50444 /* 142134 */ // (uaddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50445 /* 142134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrm),
50446 /* 142137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50447 /* 142139 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50448 /* 142141 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50449 /* 142145 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50450 /* 142150 */ GIR_RootConstrainSelectedInstOperands,
50451 /* 142151 */ // GIR_Coverage, 23507,
50452 /* 142151 */ GIR_EraseRootFromParent_Done,
50453 /* 142152 */ // Label 3105: @142152
50454 /* 142152 */ GIM_Try, /*On fail goto*//*Label 3106*/ GIMT_Encode4(142214), // Rule ID 23838 //
50455 /* 142157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50456 /* 142160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50457 /* 142164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50458 /* 142168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50459 /* 142172 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50460 /* 142175 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50461 /* 142179 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50462 /* 142183 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50463 /* 142187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50464 /* 142189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50465 /* 142196 */ // (uaddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50466 /* 142196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rm),
50467 /* 142199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50468 /* 142201 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50469 /* 142203 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50470 /* 142207 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50471 /* 142212 */ GIR_RootConstrainSelectedInstOperands,
50472 /* 142213 */ // GIR_Coverage, 23838,
50473 /* 142213 */ GIR_EraseRootFromParent_Done,
50474 /* 142214 */ // Label 3106: @142214
50475 /* 142214 */ GIM_Try, /*On fail goto*//*Label 3107*/ GIMT_Encode4(142276), // Rule ID 2539 //
50476 /* 142219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50477 /* 142222 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50478 /* 142226 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50479 /* 142230 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50480 /* 142234 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50481 /* 142238 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50482 /* 142241 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50483 /* 142245 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50484 /* 142249 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50485 /* 142251 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50486 /* 142258 */ // (uaddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50487 /* 142258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrm),
50488 /* 142261 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50489 /* 142263 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50490 /* 142265 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50491 /* 142269 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50492 /* 142274 */ GIR_RootConstrainSelectedInstOperands,
50493 /* 142275 */ // GIR_Coverage, 2539,
50494 /* 142275 */ GIR_EraseRootFromParent_Done,
50495 /* 142276 */ // Label 3107: @142276
50496 /* 142276 */ GIM_Try, /*On fail goto*//*Label 3108*/ GIMT_Encode4(142338), // Rule ID 4892 //
50497 /* 142281 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50498 /* 142284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50499 /* 142288 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50500 /* 142292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50501 /* 142296 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50502 /* 142300 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50503 /* 142303 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50504 /* 142307 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50505 /* 142311 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50506 /* 142313 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50507 /* 142320 */ // (uaddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50508 /* 142320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rm),
50509 /* 142323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50510 /* 142325 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50511 /* 142327 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50512 /* 142331 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50513 /* 142336 */ GIR_RootConstrainSelectedInstOperands,
50514 /* 142337 */ // GIR_Coverage, 4892,
50515 /* 142337 */ GIR_EraseRootFromParent_Done,
50516 /* 142338 */ // Label 3108: @142338
50517 /* 142338 */ GIM_Try, /*On fail goto*//*Label 3109*/ GIMT_Encode4(142365), // Rule ID 2538 //
50518 /* 142343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50519 /* 142346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50520 /* 142350 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50521 /* 142354 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50522 /* 142358 */ // (uaddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDUSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
50523 /* 142358 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBYrr),
50524 /* 142363 */ GIR_RootConstrainSelectedInstOperands,
50525 /* 142364 */ // GIR_Coverage, 2538,
50526 /* 142364 */ GIR_Done,
50527 /* 142365 */ // Label 3109: @142365
50528 /* 142365 */ GIM_Try, /*On fail goto*//*Label 3110*/ GIMT_Encode4(142392), // Rule ID 4889 //
50529 /* 142370 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50530 /* 142373 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50531 /* 142377 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50532 /* 142381 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50533 /* 142385 */ // (uaddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDUSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
50534 /* 142385 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZ256rr),
50535 /* 142390 */ GIR_RootConstrainSelectedInstOperands,
50536 /* 142391 */ // GIR_Coverage, 4889,
50537 /* 142391 */ GIR_Done,
50538 /* 142392 */ // Label 3110: @142392
50539 /* 142392 */ GIM_Reject,
50540 /* 142393 */ // Label 3104: @142393
50541 /* 142393 */ GIM_Reject,
50542 /* 142394 */ // Label 3091: @142394
50543 /* 142394 */ GIM_Try, /*On fail goto*//*Label 3111*/ GIMT_Encode4(142549),
50544 /* 142399 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
50545 /* 142402 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
50546 /* 142405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50547 /* 142409 */ GIM_Try, /*On fail goto*//*Label 3112*/ GIMT_Encode4(142467), // Rule ID 23835 //
50548 /* 142414 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50549 /* 142417 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50550 /* 142421 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50551 /* 142425 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50552 /* 142428 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50553 /* 142432 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50554 /* 142436 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50555 /* 142440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50556 /* 142442 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50557 /* 142449 */ // (uaddsat:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50558 /* 142449 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrm),
50559 /* 142452 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50560 /* 142454 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50561 /* 142456 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50562 /* 142460 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50563 /* 142465 */ GIR_RootConstrainSelectedInstOperands,
50564 /* 142466 */ // GIR_Coverage, 23835,
50565 /* 142466 */ GIR_EraseRootFromParent_Done,
50566 /* 142467 */ // Label 3112: @142467
50567 /* 142467 */ GIM_Try, /*On fail goto*//*Label 3113*/ GIMT_Encode4(142525), // Rule ID 4886 //
50568 /* 142472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50569 /* 142475 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50570 /* 142479 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50571 /* 142483 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50572 /* 142487 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50573 /* 142490 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50574 /* 142494 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50575 /* 142498 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50576 /* 142500 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50577 /* 142507 */ // (uaddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50578 /* 142507 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrm),
50579 /* 142510 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50580 /* 142512 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50581 /* 142514 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50582 /* 142518 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50583 /* 142523 */ GIR_RootConstrainSelectedInstOperands,
50584 /* 142524 */ // GIR_Coverage, 4886,
50585 /* 142524 */ GIR_EraseRootFromParent_Done,
50586 /* 142525 */ // Label 3113: @142525
50587 /* 142525 */ GIM_Try, /*On fail goto*//*Label 3114*/ GIMT_Encode4(142548), // Rule ID 4883 //
50588 /* 142530 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50589 /* 142533 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50590 /* 142537 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50591 /* 142541 */ // (uaddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDUSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
50592 /* 142541 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSBZrr),
50593 /* 142546 */ GIR_RootConstrainSelectedInstOperands,
50594 /* 142547 */ // GIR_Coverage, 4883,
50595 /* 142547 */ GIR_Done,
50596 /* 142548 */ // Label 3114: @142548
50597 /* 142548 */ GIM_Reject,
50598 /* 142549 */ // Label 3111: @142549
50599 /* 142549 */ GIM_Reject,
50600 /* 142550 */ // Label 3092: @142550
50601 /* 142550 */ GIM_Try, /*On fail goto*//*Label 3115*/ GIMT_Encode4(142891),
50602 /* 142555 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
50603 /* 142558 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
50604 /* 142561 */ GIM_Try, /*On fail goto*//*Label 3116*/ GIMT_Encode4(142623), // Rule ID 23508 //
50605 /* 142566 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50606 /* 142569 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50607 /* 142573 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50608 /* 142577 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50609 /* 142581 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50610 /* 142584 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50611 /* 142588 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50612 /* 142592 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50613 /* 142596 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50614 /* 142598 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50615 /* 142605 */ // (uaddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50616 /* 142605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrm),
50617 /* 142608 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50618 /* 142610 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50619 /* 142612 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50620 /* 142616 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50621 /* 142621 */ GIR_RootConstrainSelectedInstOperands,
50622 /* 142622 */ // GIR_Coverage, 23508,
50623 /* 142622 */ GIR_EraseRootFromParent_Done,
50624 /* 142623 */ // Label 3116: @142623
50625 /* 142623 */ GIM_Try, /*On fail goto*//*Label 3117*/ GIMT_Encode4(142685), // Rule ID 23832 //
50626 /* 142628 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50627 /* 142631 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50628 /* 142635 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50629 /* 142639 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50630 /* 142643 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50631 /* 142646 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50632 /* 142650 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50633 /* 142654 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50634 /* 142658 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50635 /* 142660 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50636 /* 142667 */ // (uaddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50637 /* 142667 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rm),
50638 /* 142670 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50639 /* 142672 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50640 /* 142674 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50641 /* 142678 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50642 /* 142683 */ GIR_RootConstrainSelectedInstOperands,
50643 /* 142684 */ // GIR_Coverage, 23832,
50644 /* 142684 */ GIR_EraseRootFromParent_Done,
50645 /* 142685 */ // Label 3117: @142685
50646 /* 142685 */ GIM_Try, /*On fail goto*//*Label 3118*/ GIMT_Encode4(142747), // Rule ID 2541 //
50647 /* 142690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50648 /* 142693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50649 /* 142697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50650 /* 142701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50651 /* 142705 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50652 /* 142709 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50653 /* 142712 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50654 /* 142716 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50655 /* 142720 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50656 /* 142722 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50657 /* 142729 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50658 /* 142729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrm),
50659 /* 142732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50660 /* 142734 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50661 /* 142736 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50662 /* 142740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50663 /* 142745 */ GIR_RootConstrainSelectedInstOperands,
50664 /* 142746 */ // GIR_Coverage, 2541,
50665 /* 142746 */ GIR_EraseRootFromParent_Done,
50666 /* 142747 */ // Label 3118: @142747
50667 /* 142747 */ GIM_Try, /*On fail goto*//*Label 3119*/ GIMT_Encode4(142809), // Rule ID 4880 //
50668 /* 142752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50669 /* 142755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50670 /* 142759 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50671 /* 142763 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50672 /* 142767 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50673 /* 142771 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50674 /* 142774 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50675 /* 142778 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50676 /* 142782 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50677 /* 142784 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50678 /* 142791 */ // (uaddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50679 /* 142791 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rm),
50680 /* 142794 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50681 /* 142796 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50682 /* 142798 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50683 /* 142802 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50684 /* 142807 */ GIR_RootConstrainSelectedInstOperands,
50685 /* 142808 */ // GIR_Coverage, 4880,
50686 /* 142808 */ GIR_EraseRootFromParent_Done,
50687 /* 142809 */ // Label 3119: @142809
50688 /* 142809 */ GIM_Try, /*On fail goto*//*Label 3120*/ GIMT_Encode4(142836), // Rule ID 2540 //
50689 /* 142814 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50690 /* 142817 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50691 /* 142821 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50692 /* 142825 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50693 /* 142829 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50694 /* 142829 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWrr),
50695 /* 142834 */ GIR_RootConstrainSelectedInstOperands,
50696 /* 142835 */ // GIR_Coverage, 2540,
50697 /* 142835 */ GIR_Done,
50698 /* 142836 */ // Label 3120: @142836
50699 /* 142836 */ GIM_Try, /*On fail goto*//*Label 3121*/ GIMT_Encode4(142863), // Rule ID 2542 //
50700 /* 142841 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
50701 /* 142844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50702 /* 142848 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50703 /* 142852 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50704 /* 142856 */ // (uaddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
50705 /* 142856 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDUSWrr),
50706 /* 142861 */ GIR_RootConstrainSelectedInstOperands,
50707 /* 142862 */ // GIR_Coverage, 2542,
50708 /* 142862 */ GIR_Done,
50709 /* 142863 */ // Label 3121: @142863
50710 /* 142863 */ GIM_Try, /*On fail goto*//*Label 3122*/ GIMT_Encode4(142890), // Rule ID 4877 //
50711 /* 142868 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50712 /* 142871 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50713 /* 142875 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50714 /* 142879 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50715 /* 142883 */ // (uaddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDUSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
50716 /* 142883 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ128rr),
50717 /* 142888 */ GIR_RootConstrainSelectedInstOperands,
50718 /* 142889 */ // GIR_Coverage, 4877,
50719 /* 142889 */ GIR_Done,
50720 /* 142890 */ // Label 3122: @142890
50721 /* 142890 */ GIM_Reject,
50722 /* 142891 */ // Label 3115: @142891
50723 /* 142891 */ GIM_Reject,
50724 /* 142892 */ // Label 3093: @142892
50725 /* 142892 */ GIM_Try, /*On fail goto*//*Label 3123*/ GIMT_Encode4(143206),
50726 /* 142897 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
50727 /* 142900 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
50728 /* 142903 */ GIM_Try, /*On fail goto*//*Label 3124*/ GIMT_Encode4(142965), // Rule ID 23510 //
50729 /* 142908 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50730 /* 142911 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50731 /* 142915 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50732 /* 142919 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50733 /* 142923 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50734 /* 142926 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50735 /* 142930 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50736 /* 142934 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50737 /* 142938 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50738 /* 142940 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50739 /* 142947 */ // (uaddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50740 /* 142947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrm),
50741 /* 142950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50742 /* 142952 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50743 /* 142954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50744 /* 142958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50745 /* 142963 */ GIR_RootConstrainSelectedInstOperands,
50746 /* 142964 */ // GIR_Coverage, 23510,
50747 /* 142964 */ GIR_EraseRootFromParent_Done,
50748 /* 142965 */ // Label 3124: @142965
50749 /* 142965 */ GIM_Try, /*On fail goto*//*Label 3125*/ GIMT_Encode4(143027), // Rule ID 23829 //
50750 /* 142970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50751 /* 142973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50752 /* 142977 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50753 /* 142981 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50754 /* 142985 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50755 /* 142988 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50756 /* 142992 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50757 /* 142996 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50758 /* 143000 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50759 /* 143002 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50760 /* 143009 */ // (uaddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50761 /* 143009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rm),
50762 /* 143012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50763 /* 143014 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50764 /* 143016 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50765 /* 143020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50766 /* 143025 */ GIR_RootConstrainSelectedInstOperands,
50767 /* 143026 */ // GIR_Coverage, 23829,
50768 /* 143026 */ GIR_EraseRootFromParent_Done,
50769 /* 143027 */ // Label 3125: @143027
50770 /* 143027 */ GIM_Try, /*On fail goto*//*Label 3126*/ GIMT_Encode4(143089), // Rule ID 2545 //
50771 /* 143032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50772 /* 143035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50773 /* 143039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50774 /* 143043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50775 /* 143047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50776 /* 143051 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50777 /* 143054 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50778 /* 143058 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50779 /* 143062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50780 /* 143064 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50781 /* 143071 */ // (uaddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50782 /* 143071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrm),
50783 /* 143074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50784 /* 143076 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50785 /* 143078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50786 /* 143082 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50787 /* 143087 */ GIR_RootConstrainSelectedInstOperands,
50788 /* 143088 */ // GIR_Coverage, 2545,
50789 /* 143088 */ GIR_EraseRootFromParent_Done,
50790 /* 143089 */ // Label 3126: @143089
50791 /* 143089 */ GIM_Try, /*On fail goto*//*Label 3127*/ GIMT_Encode4(143151), // Rule ID 4874 //
50792 /* 143094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50793 /* 143097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50794 /* 143101 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50795 /* 143105 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50796 /* 143109 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50797 /* 143113 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50798 /* 143116 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50799 /* 143120 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50800 /* 143124 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50801 /* 143126 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50802 /* 143133 */ // (uaddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50803 /* 143133 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rm),
50804 /* 143136 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50805 /* 143138 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50806 /* 143140 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50807 /* 143144 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50808 /* 143149 */ GIR_RootConstrainSelectedInstOperands,
50809 /* 143150 */ // GIR_Coverage, 4874,
50810 /* 143150 */ GIR_EraseRootFromParent_Done,
50811 /* 143151 */ // Label 3127: @143151
50812 /* 143151 */ GIM_Try, /*On fail goto*//*Label 3128*/ GIMT_Encode4(143178), // Rule ID 2544 //
50813 /* 143156 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
50814 /* 143159 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50815 /* 143163 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50816 /* 143167 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
50817 /* 143171 */ // (uaddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDUSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
50818 /* 143171 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWYrr),
50819 /* 143176 */ GIR_RootConstrainSelectedInstOperands,
50820 /* 143177 */ // GIR_Coverage, 2544,
50821 /* 143177 */ GIR_Done,
50822 /* 143178 */ // Label 3128: @143178
50823 /* 143178 */ GIM_Try, /*On fail goto*//*Label 3129*/ GIMT_Encode4(143205), // Rule ID 4871 //
50824 /* 143183 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50825 /* 143186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50826 /* 143190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50827 /* 143194 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
50828 /* 143198 */ // (uaddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDUSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
50829 /* 143198 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZ256rr),
50830 /* 143203 */ GIR_RootConstrainSelectedInstOperands,
50831 /* 143204 */ // GIR_Coverage, 4871,
50832 /* 143204 */ GIR_Done,
50833 /* 143205 */ // Label 3129: @143205
50834 /* 143205 */ GIM_Reject,
50835 /* 143206 */ // Label 3123: @143206
50836 /* 143206 */ GIM_Reject,
50837 /* 143207 */ // Label 3094: @143207
50838 /* 143207 */ GIM_Try, /*On fail goto*//*Label 3130*/ GIMT_Encode4(143362),
50839 /* 143212 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
50840 /* 143215 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
50841 /* 143218 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50842 /* 143222 */ GIM_Try, /*On fail goto*//*Label 3131*/ GIMT_Encode4(143280), // Rule ID 23826 //
50843 /* 143227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50844 /* 143230 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50845 /* 143234 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50846 /* 143238 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50847 /* 143241 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50848 /* 143245 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50849 /* 143249 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50850 /* 143253 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50851 /* 143255 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50852 /* 143262 */ // (uaddsat:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50853 /* 143262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrm),
50854 /* 143265 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50855 /* 143267 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50856 /* 143269 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50857 /* 143273 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50858 /* 143278 */ GIR_RootConstrainSelectedInstOperands,
50859 /* 143279 */ // GIR_Coverage, 23826,
50860 /* 143279 */ GIR_EraseRootFromParent_Done,
50861 /* 143280 */ // Label 3131: @143280
50862 /* 143280 */ GIM_Try, /*On fail goto*//*Label 3132*/ GIMT_Encode4(143338), // Rule ID 4868 //
50863 /* 143285 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50864 /* 143288 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50865 /* 143292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50866 /* 143296 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50867 /* 143300 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50868 /* 143303 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50869 /* 143307 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50870 /* 143311 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50871 /* 143313 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50872 /* 143320 */ // (uaddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
50873 /* 143320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrm),
50874 /* 143323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50875 /* 143325 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50876 /* 143327 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50877 /* 143331 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50878 /* 143336 */ GIR_RootConstrainSelectedInstOperands,
50879 /* 143337 */ // GIR_Coverage, 4868,
50880 /* 143337 */ GIR_EraseRootFromParent_Done,
50881 /* 143338 */ // Label 3132: @143338
50882 /* 143338 */ GIM_Try, /*On fail goto*//*Label 3133*/ GIMT_Encode4(143361), // Rule ID 4865 //
50883 /* 143343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
50884 /* 143346 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50885 /* 143350 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
50886 /* 143354 */ // (uaddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDUSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
50887 /* 143354 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDUSWZrr),
50888 /* 143359 */ GIR_RootConstrainSelectedInstOperands,
50889 /* 143360 */ // GIR_Coverage, 4865,
50890 /* 143360 */ GIR_Done,
50891 /* 143361 */ // Label 3133: @143361
50892 /* 143361 */ GIM_Reject,
50893 /* 143362 */ // Label 3130: @143362
50894 /* 143362 */ GIM_Reject,
50895 /* 143363 */ // Label 3095: @143363
50896 /* 143363 */ GIM_Reject,
50897 /* 143364 */ // Label 39: @143364
50898 /* 143364 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(19), /*)*//*default:*//*Label 3140*/ GIMT_Encode4(145025),
50899 /* 143375 */ /*GILLT_v16s8*//*Label 3134*/ GIMT_Encode4(143399),
50900 /* 143379 */ /*GILLT_v32s8*//*Label 3135*/ GIMT_Encode4(143741),
50901 /* 143383 */ /*GILLT_v64s8*//*Label 3136*/ GIMT_Encode4(144056),
50902 /* 143387 */ /*GILLT_v8s16*//*Label 3137*/ GIMT_Encode4(144212),
50903 /* 143391 */ /*GILLT_v16s16*//*Label 3138*/ GIMT_Encode4(144554),
50904 /* 143395 */ /*GILLT_v32s16*//*Label 3139*/ GIMT_Encode4(144869),
50905 /* 143399 */ // Label 3134: @143399
50906 /* 143399 */ GIM_Try, /*On fail goto*//*Label 3141*/ GIMT_Encode4(143740),
50907 /* 143404 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
50908 /* 143407 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
50909 /* 143410 */ GIM_Try, /*On fail goto*//*Label 3142*/ GIMT_Encode4(143472), // Rule ID 23499 //
50910 /* 143415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50911 /* 143418 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50912 /* 143422 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50913 /* 143426 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50914 /* 143430 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50915 /* 143433 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50916 /* 143437 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50917 /* 143441 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50918 /* 143445 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50919 /* 143447 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50920 /* 143454 */ // (saddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPADDSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50921 /* 143454 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBrm),
50922 /* 143457 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50923 /* 143459 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50924 /* 143461 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50925 /* 143465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50926 /* 143470 */ GIR_RootConstrainSelectedInstOperands,
50927 /* 143471 */ // GIR_Coverage, 23499,
50928 /* 143471 */ GIR_EraseRootFromParent_Done,
50929 /* 143472 */ // Label 3142: @143472
50930 /* 143472 */ GIM_Try, /*On fail goto*//*Label 3143*/ GIMT_Encode4(143534), // Rule ID 23823 //
50931 /* 143477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50932 /* 143480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50933 /* 143484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
50934 /* 143488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50935 /* 143492 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50936 /* 143495 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50937 /* 143499 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50938 /* 143503 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50939 /* 143507 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50940 /* 143509 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50941 /* 143516 */ // (saddsat:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPADDSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50942 /* 143516 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rm),
50943 /* 143519 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50944 /* 143521 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
50945 /* 143523 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50946 /* 143527 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50947 /* 143532 */ GIR_RootConstrainSelectedInstOperands,
50948 /* 143533 */ // GIR_Coverage, 23823,
50949 /* 143533 */ GIR_EraseRootFromParent_Done,
50950 /* 143534 */ // Label 3143: @143534
50951 /* 143534 */ GIM_Try, /*On fail goto*//*Label 3144*/ GIMT_Encode4(143596), // Rule ID 2523 //
50952 /* 143539 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50953 /* 143542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50954 /* 143546 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50955 /* 143550 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50956 /* 143554 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50957 /* 143558 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50958 /* 143561 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50959 /* 143565 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50960 /* 143569 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50961 /* 143571 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50962 /* 143578 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50963 /* 143578 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBrm),
50964 /* 143581 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50965 /* 143583 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50966 /* 143585 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50967 /* 143589 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50968 /* 143594 */ GIR_RootConstrainSelectedInstOperands,
50969 /* 143595 */ // GIR_Coverage, 2523,
50970 /* 143595 */ GIR_EraseRootFromParent_Done,
50971 /* 143596 */ // Label 3144: @143596
50972 /* 143596 */ GIM_Try, /*On fail goto*//*Label 3145*/ GIMT_Encode4(143658), // Rule ID 4826 //
50973 /* 143601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
50974 /* 143604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50975 /* 143608 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
50976 /* 143612 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
50977 /* 143616 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
50978 /* 143620 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
50979 /* 143623 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
50980 /* 143627 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
50981 /* 143631 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
50982 /* 143633 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
50983 /* 143640 */ // (saddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
50984 /* 143640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rm),
50985 /* 143643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
50986 /* 143645 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
50987 /* 143647 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
50988 /* 143651 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
50989 /* 143656 */ GIR_RootConstrainSelectedInstOperands,
50990 /* 143657 */ // GIR_Coverage, 4826,
50991 /* 143657 */ GIR_EraseRootFromParent_Done,
50992 /* 143658 */ // Label 3145: @143658
50993 /* 143658 */ GIM_Try, /*On fail goto*//*Label 3146*/ GIMT_Encode4(143685), // Rule ID 2522 //
50994 /* 143663 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
50995 /* 143666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50996 /* 143670 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50997 /* 143674 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
50998 /* 143678 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPADDSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
50999 /* 143678 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBrr),
51000 /* 143683 */ GIR_RootConstrainSelectedInstOperands,
51001 /* 143684 */ // GIR_Coverage, 2522,
51002 /* 143684 */ GIR_Done,
51003 /* 143685 */ // Label 3146: @143685
51004 /* 143685 */ GIM_Try, /*On fail goto*//*Label 3147*/ GIMT_Encode4(143712), // Rule ID 2524 //
51005 /* 143690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
51006 /* 143693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51007 /* 143697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51008 /* 143701 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51009 /* 143705 */ // (saddsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PADDSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
51010 /* 143705 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDSBrr),
51011 /* 143710 */ GIR_RootConstrainSelectedInstOperands,
51012 /* 143711 */ // GIR_Coverage, 2524,
51013 /* 143711 */ GIR_Done,
51014 /* 143712 */ // Label 3147: @143712
51015 /* 143712 */ GIM_Try, /*On fail goto*//*Label 3148*/ GIMT_Encode4(143739), // Rule ID 4823 //
51016 /* 143717 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51017 /* 143720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51018 /* 143724 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51019 /* 143728 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51020 /* 143732 */ // (saddsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPADDSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
51021 /* 143732 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ128rr),
51022 /* 143737 */ GIR_RootConstrainSelectedInstOperands,
51023 /* 143738 */ // GIR_Coverage, 4823,
51024 /* 143738 */ GIR_Done,
51025 /* 143739 */ // Label 3148: @143739
51026 /* 143739 */ GIM_Reject,
51027 /* 143740 */ // Label 3141: @143740
51028 /* 143740 */ GIM_Reject,
51029 /* 143741 */ // Label 3135: @143741
51030 /* 143741 */ GIM_Try, /*On fail goto*//*Label 3149*/ GIMT_Encode4(144055),
51031 /* 143746 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
51032 /* 143749 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
51033 /* 143752 */ GIM_Try, /*On fail goto*//*Label 3150*/ GIMT_Encode4(143814), // Rule ID 23501 //
51034 /* 143757 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51035 /* 143760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51036 /* 143764 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51037 /* 143768 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51038 /* 143772 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51039 /* 143775 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51040 /* 143779 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51041 /* 143783 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51042 /* 143787 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51043 /* 143789 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51044 /* 143796 */ // (saddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPADDSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51045 /* 143796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrm),
51046 /* 143799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51047 /* 143801 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51048 /* 143803 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51049 /* 143807 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51050 /* 143812 */ GIR_RootConstrainSelectedInstOperands,
51051 /* 143813 */ // GIR_Coverage, 23501,
51052 /* 143813 */ GIR_EraseRootFromParent_Done,
51053 /* 143814 */ // Label 3150: @143814
51054 /* 143814 */ GIM_Try, /*On fail goto*//*Label 3151*/ GIMT_Encode4(143876), // Rule ID 23820 //
51055 /* 143819 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51056 /* 143822 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51057 /* 143826 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51058 /* 143830 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51059 /* 143834 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51060 /* 143837 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51061 /* 143841 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51062 /* 143845 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51063 /* 143849 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51064 /* 143851 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51065 /* 143858 */ // (saddsat:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPADDSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51066 /* 143858 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rm),
51067 /* 143861 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51068 /* 143863 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51069 /* 143865 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51070 /* 143869 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51071 /* 143874 */ GIR_RootConstrainSelectedInstOperands,
51072 /* 143875 */ // GIR_Coverage, 23820,
51073 /* 143875 */ GIR_EraseRootFromParent_Done,
51074 /* 143876 */ // Label 3151: @143876
51075 /* 143876 */ GIM_Try, /*On fail goto*//*Label 3152*/ GIMT_Encode4(143938), // Rule ID 2527 //
51076 /* 143881 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51077 /* 143884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51078 /* 143888 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51079 /* 143892 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51080 /* 143896 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51081 /* 143900 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51082 /* 143903 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51083 /* 143907 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51084 /* 143911 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51085 /* 143913 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51086 /* 143920 */ // (saddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51087 /* 143920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrm),
51088 /* 143923 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51089 /* 143925 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51090 /* 143927 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51091 /* 143931 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51092 /* 143936 */ GIR_RootConstrainSelectedInstOperands,
51093 /* 143937 */ // GIR_Coverage, 2527,
51094 /* 143937 */ GIR_EraseRootFromParent_Done,
51095 /* 143938 */ // Label 3152: @143938
51096 /* 143938 */ GIM_Try, /*On fail goto*//*Label 3153*/ GIMT_Encode4(144000), // Rule ID 4820 //
51097 /* 143943 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51098 /* 143946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51099 /* 143950 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51100 /* 143954 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51101 /* 143958 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51102 /* 143962 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51103 /* 143965 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51104 /* 143969 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51105 /* 143973 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51106 /* 143975 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51107 /* 143982 */ // (saddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51108 /* 143982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rm),
51109 /* 143985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51110 /* 143987 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51111 /* 143989 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51112 /* 143993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51113 /* 143998 */ GIR_RootConstrainSelectedInstOperands,
51114 /* 143999 */ // GIR_Coverage, 4820,
51115 /* 143999 */ GIR_EraseRootFromParent_Done,
51116 /* 144000 */ // Label 3153: @144000
51117 /* 144000 */ GIM_Try, /*On fail goto*//*Label 3154*/ GIMT_Encode4(144027), // Rule ID 2526 //
51118 /* 144005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51119 /* 144008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51120 /* 144012 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51121 /* 144016 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51122 /* 144020 */ // (saddsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPADDSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
51123 /* 144020 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBYrr),
51124 /* 144025 */ GIR_RootConstrainSelectedInstOperands,
51125 /* 144026 */ // GIR_Coverage, 2526,
51126 /* 144026 */ GIR_Done,
51127 /* 144027 */ // Label 3154: @144027
51128 /* 144027 */ GIM_Try, /*On fail goto*//*Label 3155*/ GIMT_Encode4(144054), // Rule ID 4817 //
51129 /* 144032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51130 /* 144035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51131 /* 144039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51132 /* 144043 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51133 /* 144047 */ // (saddsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPADDSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
51134 /* 144047 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZ256rr),
51135 /* 144052 */ GIR_RootConstrainSelectedInstOperands,
51136 /* 144053 */ // GIR_Coverage, 4817,
51137 /* 144053 */ GIR_Done,
51138 /* 144054 */ // Label 3155: @144054
51139 /* 144054 */ GIM_Reject,
51140 /* 144055 */ // Label 3149: @144055
51141 /* 144055 */ GIM_Reject,
51142 /* 144056 */ // Label 3136: @144056
51143 /* 144056 */ GIM_Try, /*On fail goto*//*Label 3156*/ GIMT_Encode4(144211),
51144 /* 144061 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
51145 /* 144064 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
51146 /* 144067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51147 /* 144071 */ GIM_Try, /*On fail goto*//*Label 3157*/ GIMT_Encode4(144129), // Rule ID 23817 //
51148 /* 144076 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51149 /* 144079 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51150 /* 144083 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51151 /* 144087 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51152 /* 144090 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51153 /* 144094 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51154 /* 144098 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51155 /* 144102 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51156 /* 144104 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51157 /* 144111 */ // (saddsat:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPADDSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51158 /* 144111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrm),
51159 /* 144114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51160 /* 144116 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51161 /* 144118 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51162 /* 144122 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51163 /* 144127 */ GIR_RootConstrainSelectedInstOperands,
51164 /* 144128 */ // GIR_Coverage, 23817,
51165 /* 144128 */ GIR_EraseRootFromParent_Done,
51166 /* 144129 */ // Label 3157: @144129
51167 /* 144129 */ GIM_Try, /*On fail goto*//*Label 3158*/ GIMT_Encode4(144187), // Rule ID 4814 //
51168 /* 144134 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51169 /* 144137 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51170 /* 144141 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51171 /* 144145 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51172 /* 144149 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51173 /* 144152 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51174 /* 144156 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51175 /* 144160 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51176 /* 144162 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51177 /* 144169 */ // (saddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51178 /* 144169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrm),
51179 /* 144172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51180 /* 144174 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51181 /* 144176 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51182 /* 144180 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51183 /* 144185 */ GIR_RootConstrainSelectedInstOperands,
51184 /* 144186 */ // GIR_Coverage, 4814,
51185 /* 144186 */ GIR_EraseRootFromParent_Done,
51186 /* 144187 */ // Label 3158: @144187
51187 /* 144187 */ GIM_Try, /*On fail goto*//*Label 3159*/ GIMT_Encode4(144210), // Rule ID 4811 //
51188 /* 144192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51189 /* 144195 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51190 /* 144199 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51191 /* 144203 */ // (saddsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPADDSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
51192 /* 144203 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSBZrr),
51193 /* 144208 */ GIR_RootConstrainSelectedInstOperands,
51194 /* 144209 */ // GIR_Coverage, 4811,
51195 /* 144209 */ GIR_Done,
51196 /* 144210 */ // Label 3159: @144210
51197 /* 144210 */ GIM_Reject,
51198 /* 144211 */ // Label 3156: @144211
51199 /* 144211 */ GIM_Reject,
51200 /* 144212 */ // Label 3137: @144212
51201 /* 144212 */ GIM_Try, /*On fail goto*//*Label 3160*/ GIMT_Encode4(144553),
51202 /* 144217 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
51203 /* 144220 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
51204 /* 144223 */ GIM_Try, /*On fail goto*//*Label 3161*/ GIMT_Encode4(144285), // Rule ID 23502 //
51205 /* 144228 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51206 /* 144231 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51207 /* 144235 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51208 /* 144239 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51209 /* 144243 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51210 /* 144246 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51211 /* 144250 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51212 /* 144254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51213 /* 144258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51214 /* 144260 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51215 /* 144267 */ // (saddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPADDSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51216 /* 144267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWrm),
51217 /* 144270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51218 /* 144272 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51219 /* 144274 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51220 /* 144278 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51221 /* 144283 */ GIR_RootConstrainSelectedInstOperands,
51222 /* 144284 */ // GIR_Coverage, 23502,
51223 /* 144284 */ GIR_EraseRootFromParent_Done,
51224 /* 144285 */ // Label 3161: @144285
51225 /* 144285 */ GIM_Try, /*On fail goto*//*Label 3162*/ GIMT_Encode4(144347), // Rule ID 23814 //
51226 /* 144290 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51227 /* 144293 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51228 /* 144297 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51229 /* 144301 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51230 /* 144305 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51231 /* 144308 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51232 /* 144312 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51233 /* 144316 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51234 /* 144320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51235 /* 144322 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51236 /* 144329 */ // (saddsat:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPADDSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51237 /* 144329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rm),
51238 /* 144332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51239 /* 144334 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51240 /* 144336 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51241 /* 144340 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51242 /* 144345 */ GIR_RootConstrainSelectedInstOperands,
51243 /* 144346 */ // GIR_Coverage, 23814,
51244 /* 144346 */ GIR_EraseRootFromParent_Done,
51245 /* 144347 */ // Label 3162: @144347
51246 /* 144347 */ GIM_Try, /*On fail goto*//*Label 3163*/ GIMT_Encode4(144409), // Rule ID 2529 //
51247 /* 144352 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51248 /* 144355 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51249 /* 144359 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51250 /* 144363 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51251 /* 144367 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51252 /* 144371 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51253 /* 144374 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51254 /* 144378 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51255 /* 144382 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51256 /* 144384 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51257 /* 144391 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51258 /* 144391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWrm),
51259 /* 144394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51260 /* 144396 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51261 /* 144398 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51262 /* 144402 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51263 /* 144407 */ GIR_RootConstrainSelectedInstOperands,
51264 /* 144408 */ // GIR_Coverage, 2529,
51265 /* 144408 */ GIR_EraseRootFromParent_Done,
51266 /* 144409 */ // Label 3163: @144409
51267 /* 144409 */ GIM_Try, /*On fail goto*//*Label 3164*/ GIMT_Encode4(144471), // Rule ID 4808 //
51268 /* 144414 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51269 /* 144417 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51270 /* 144421 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51271 /* 144425 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51272 /* 144429 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51273 /* 144433 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51274 /* 144436 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51275 /* 144440 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51276 /* 144444 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51277 /* 144446 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51278 /* 144453 */ // (saddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51279 /* 144453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rm),
51280 /* 144456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51281 /* 144458 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51282 /* 144460 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51283 /* 144464 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51284 /* 144469 */ GIR_RootConstrainSelectedInstOperands,
51285 /* 144470 */ // GIR_Coverage, 4808,
51286 /* 144470 */ GIR_EraseRootFromParent_Done,
51287 /* 144471 */ // Label 3164: @144471
51288 /* 144471 */ GIM_Try, /*On fail goto*//*Label 3165*/ GIMT_Encode4(144498), // Rule ID 2528 //
51289 /* 144476 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51290 /* 144479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51291 /* 144483 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51292 /* 144487 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51293 /* 144491 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPADDSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
51294 /* 144491 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWrr),
51295 /* 144496 */ GIR_RootConstrainSelectedInstOperands,
51296 /* 144497 */ // GIR_Coverage, 2528,
51297 /* 144497 */ GIR_Done,
51298 /* 144498 */ // Label 3165: @144498
51299 /* 144498 */ GIM_Try, /*On fail goto*//*Label 3166*/ GIMT_Encode4(144525), // Rule ID 2530 //
51300 /* 144503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
51301 /* 144506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51302 /* 144510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51303 /* 144514 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51304 /* 144518 */ // (saddsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PADDSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
51305 /* 144518 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PADDSWrr),
51306 /* 144523 */ GIR_RootConstrainSelectedInstOperands,
51307 /* 144524 */ // GIR_Coverage, 2530,
51308 /* 144524 */ GIR_Done,
51309 /* 144525 */ // Label 3166: @144525
51310 /* 144525 */ GIM_Try, /*On fail goto*//*Label 3167*/ GIMT_Encode4(144552), // Rule ID 4805 //
51311 /* 144530 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51312 /* 144533 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51313 /* 144537 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51314 /* 144541 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51315 /* 144545 */ // (saddsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPADDSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
51316 /* 144545 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ128rr),
51317 /* 144550 */ GIR_RootConstrainSelectedInstOperands,
51318 /* 144551 */ // GIR_Coverage, 4805,
51319 /* 144551 */ GIR_Done,
51320 /* 144552 */ // Label 3167: @144552
51321 /* 144552 */ GIM_Reject,
51322 /* 144553 */ // Label 3160: @144553
51323 /* 144553 */ GIM_Reject,
51324 /* 144554 */ // Label 3138: @144554
51325 /* 144554 */ GIM_Try, /*On fail goto*//*Label 3168*/ GIMT_Encode4(144868),
51326 /* 144559 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
51327 /* 144562 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
51328 /* 144565 */ GIM_Try, /*On fail goto*//*Label 3169*/ GIMT_Encode4(144627), // Rule ID 23504 //
51329 /* 144570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51330 /* 144573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51331 /* 144577 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51332 /* 144581 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51333 /* 144585 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51334 /* 144588 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51335 /* 144592 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51336 /* 144596 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51337 /* 144600 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51338 /* 144602 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51339 /* 144609 */ // (saddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPADDSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51340 /* 144609 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrm),
51341 /* 144612 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51342 /* 144614 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51343 /* 144616 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51344 /* 144620 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51345 /* 144625 */ GIR_RootConstrainSelectedInstOperands,
51346 /* 144626 */ // GIR_Coverage, 23504,
51347 /* 144626 */ GIR_EraseRootFromParent_Done,
51348 /* 144627 */ // Label 3169: @144627
51349 /* 144627 */ GIM_Try, /*On fail goto*//*Label 3170*/ GIMT_Encode4(144689), // Rule ID 23811 //
51350 /* 144632 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51351 /* 144635 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51352 /* 144639 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51353 /* 144643 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51354 /* 144647 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51355 /* 144650 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51356 /* 144654 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51357 /* 144658 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51358 /* 144662 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51359 /* 144664 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51360 /* 144671 */ // (saddsat:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPADDSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51361 /* 144671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rm),
51362 /* 144674 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51363 /* 144676 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51364 /* 144678 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51365 /* 144682 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51366 /* 144687 */ GIR_RootConstrainSelectedInstOperands,
51367 /* 144688 */ // GIR_Coverage, 23811,
51368 /* 144688 */ GIR_EraseRootFromParent_Done,
51369 /* 144689 */ // Label 3170: @144689
51370 /* 144689 */ GIM_Try, /*On fail goto*//*Label 3171*/ GIMT_Encode4(144751), // Rule ID 2533 //
51371 /* 144694 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51372 /* 144697 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51373 /* 144701 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51374 /* 144705 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51375 /* 144709 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51376 /* 144713 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51377 /* 144716 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51378 /* 144720 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51379 /* 144724 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51380 /* 144726 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51381 /* 144733 */ // (saddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51382 /* 144733 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrm),
51383 /* 144736 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51384 /* 144738 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51385 /* 144740 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51386 /* 144744 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51387 /* 144749 */ GIR_RootConstrainSelectedInstOperands,
51388 /* 144750 */ // GIR_Coverage, 2533,
51389 /* 144750 */ GIR_EraseRootFromParent_Done,
51390 /* 144751 */ // Label 3171: @144751
51391 /* 144751 */ GIM_Try, /*On fail goto*//*Label 3172*/ GIMT_Encode4(144813), // Rule ID 4802 //
51392 /* 144756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51393 /* 144759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51394 /* 144763 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51395 /* 144767 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51396 /* 144771 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51397 /* 144775 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51398 /* 144778 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51399 /* 144782 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51400 /* 144786 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51401 /* 144788 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51402 /* 144795 */ // (saddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51403 /* 144795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rm),
51404 /* 144798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51405 /* 144800 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51406 /* 144802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51407 /* 144806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51408 /* 144811 */ GIR_RootConstrainSelectedInstOperands,
51409 /* 144812 */ // GIR_Coverage, 4802,
51410 /* 144812 */ GIR_EraseRootFromParent_Done,
51411 /* 144813 */ // Label 3172: @144813
51412 /* 144813 */ GIM_Try, /*On fail goto*//*Label 3173*/ GIMT_Encode4(144840), // Rule ID 2532 //
51413 /* 144818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51414 /* 144821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51415 /* 144825 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51416 /* 144829 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51417 /* 144833 */ // (saddsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPADDSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
51418 /* 144833 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWYrr),
51419 /* 144838 */ GIR_RootConstrainSelectedInstOperands,
51420 /* 144839 */ // GIR_Coverage, 2532,
51421 /* 144839 */ GIR_Done,
51422 /* 144840 */ // Label 3173: @144840
51423 /* 144840 */ GIM_Try, /*On fail goto*//*Label 3174*/ GIMT_Encode4(144867), // Rule ID 4799 //
51424 /* 144845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51425 /* 144848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51426 /* 144852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51427 /* 144856 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51428 /* 144860 */ // (saddsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPADDSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
51429 /* 144860 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZ256rr),
51430 /* 144865 */ GIR_RootConstrainSelectedInstOperands,
51431 /* 144866 */ // GIR_Coverage, 4799,
51432 /* 144866 */ GIR_Done,
51433 /* 144867 */ // Label 3174: @144867
51434 /* 144867 */ GIM_Reject,
51435 /* 144868 */ // Label 3168: @144868
51436 /* 144868 */ GIM_Reject,
51437 /* 144869 */ // Label 3139: @144869
51438 /* 144869 */ GIM_Try, /*On fail goto*//*Label 3175*/ GIMT_Encode4(145024),
51439 /* 144874 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
51440 /* 144877 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
51441 /* 144880 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51442 /* 144884 */ GIM_Try, /*On fail goto*//*Label 3176*/ GIMT_Encode4(144942), // Rule ID 23808 //
51443 /* 144889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51444 /* 144892 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
51445 /* 144896 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51446 /* 144900 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51447 /* 144903 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51448 /* 144907 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51449 /* 144911 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51450 /* 144915 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51451 /* 144917 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51452 /* 144924 */ // (saddsat:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPADDSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51453 /* 144924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrm),
51454 /* 144927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51455 /* 144929 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
51456 /* 144931 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51457 /* 144935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51458 /* 144940 */ GIR_RootConstrainSelectedInstOperands,
51459 /* 144941 */ // GIR_Coverage, 23808,
51460 /* 144941 */ GIR_EraseRootFromParent_Done,
51461 /* 144942 */ // Label 3176: @144942
51462 /* 144942 */ GIM_Try, /*On fail goto*//*Label 3177*/ GIMT_Encode4(145000), // Rule ID 4796 //
51463 /* 144947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51464 /* 144950 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51465 /* 144954 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51466 /* 144958 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51467 /* 144962 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51468 /* 144965 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51469 /* 144969 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51470 /* 144973 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51471 /* 144975 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51472 /* 144982 */ // (saddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPADDSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51473 /* 144982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrm),
51474 /* 144985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51475 /* 144987 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51476 /* 144989 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51477 /* 144993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51478 /* 144998 */ GIR_RootConstrainSelectedInstOperands,
51479 /* 144999 */ // GIR_Coverage, 4796,
51480 /* 144999 */ GIR_EraseRootFromParent_Done,
51481 /* 145000 */ // Label 3177: @145000
51482 /* 145000 */ GIM_Try, /*On fail goto*//*Label 3178*/ GIMT_Encode4(145023), // Rule ID 4793 //
51483 /* 145005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51484 /* 145008 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51485 /* 145012 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51486 /* 145016 */ // (saddsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPADDSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
51487 /* 145016 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPADDSWZrr),
51488 /* 145021 */ GIR_RootConstrainSelectedInstOperands,
51489 /* 145022 */ // GIR_Coverage, 4793,
51490 /* 145022 */ GIR_Done,
51491 /* 145023 */ // Label 3178: @145023
51492 /* 145023 */ GIM_Reject,
51493 /* 145024 */ // Label 3175: @145024
51494 /* 145024 */ GIM_Reject,
51495 /* 145025 */ // Label 3140: @145025
51496 /* 145025 */ GIM_Reject,
51497 /* 145026 */ // Label 40: @145026
51498 /* 145026 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(19), /*)*//*default:*//*Label 3185*/ GIMT_Encode4(146067),
51499 /* 145037 */ /*GILLT_v16s8*//*Label 3179*/ GIMT_Encode4(145061),
51500 /* 145041 */ /*GILLT_v32s8*//*Label 3180*/ GIMT_Encode4(145279),
51501 /* 145045 */ /*GILLT_v64s8*//*Label 3181*/ GIMT_Encode4(145470),
51502 /* 145049 */ /*GILLT_v8s16*//*Label 3182*/ GIMT_Encode4(145564),
51503 /* 145053 */ /*GILLT_v16s16*//*Label 3183*/ GIMT_Encode4(145782),
51504 /* 145057 */ /*GILLT_v32s16*//*Label 3184*/ GIMT_Encode4(145973),
51505 /* 145061 */ // Label 3179: @145061
51506 /* 145061 */ GIM_Try, /*On fail goto*//*Label 3186*/ GIMT_Encode4(145278),
51507 /* 145066 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
51508 /* 145069 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
51509 /* 145072 */ GIM_Try, /*On fail goto*//*Label 3187*/ GIMT_Encode4(145134), // Rule ID 2601 //
51510 /* 145077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51511 /* 145080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51512 /* 145084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51513 /* 145088 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51514 /* 145092 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51515 /* 145096 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51516 /* 145099 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51517 /* 145103 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51518 /* 145107 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51519 /* 145109 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51520 /* 145116 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51521 /* 145116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBrm),
51522 /* 145119 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51523 /* 145121 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51524 /* 145123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51525 /* 145127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51526 /* 145132 */ GIR_RootConstrainSelectedInstOperands,
51527 /* 145133 */ // GIR_Coverage, 2601,
51528 /* 145133 */ GIR_EraseRootFromParent_Done,
51529 /* 145134 */ // Label 3187: @145134
51530 /* 145134 */ GIM_Try, /*On fail goto*//*Label 3188*/ GIMT_Encode4(145196), // Rule ID 4934 //
51531 /* 145139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51532 /* 145142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51533 /* 145146 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51534 /* 145150 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51535 /* 145154 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51536 /* 145158 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51537 /* 145161 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51538 /* 145165 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51539 /* 145169 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51540 /* 145171 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51541 /* 145178 */ // (usubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51542 /* 145178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ128rm),
51543 /* 145181 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51544 /* 145183 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51545 /* 145185 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51546 /* 145189 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51547 /* 145194 */ GIR_RootConstrainSelectedInstOperands,
51548 /* 145195 */ // GIR_Coverage, 4934,
51549 /* 145195 */ GIR_EraseRootFromParent_Done,
51550 /* 145196 */ // Label 3188: @145196
51551 /* 145196 */ GIM_Try, /*On fail goto*//*Label 3189*/ GIMT_Encode4(145223), // Rule ID 2600 //
51552 /* 145201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51553 /* 145204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51554 /* 145208 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51555 /* 145212 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51556 /* 145216 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
51557 /* 145216 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBrr),
51558 /* 145221 */ GIR_RootConstrainSelectedInstOperands,
51559 /* 145222 */ // GIR_Coverage, 2600,
51560 /* 145222 */ GIR_Done,
51561 /* 145223 */ // Label 3189: @145223
51562 /* 145223 */ GIM_Try, /*On fail goto*//*Label 3190*/ GIMT_Encode4(145250), // Rule ID 2602 //
51563 /* 145228 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
51564 /* 145231 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51565 /* 145235 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51566 /* 145239 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51567 /* 145243 */ // (usubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBUSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
51568 /* 145243 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBUSBrr),
51569 /* 145248 */ GIR_RootConstrainSelectedInstOperands,
51570 /* 145249 */ // GIR_Coverage, 2602,
51571 /* 145249 */ GIR_Done,
51572 /* 145250 */ // Label 3190: @145250
51573 /* 145250 */ GIM_Try, /*On fail goto*//*Label 3191*/ GIMT_Encode4(145277), // Rule ID 4931 //
51574 /* 145255 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51575 /* 145258 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51576 /* 145262 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51577 /* 145266 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51578 /* 145270 */ // (usubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBUSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
51579 /* 145270 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ128rr),
51580 /* 145275 */ GIR_RootConstrainSelectedInstOperands,
51581 /* 145276 */ // GIR_Coverage, 4931,
51582 /* 145276 */ GIR_Done,
51583 /* 145277 */ // Label 3191: @145277
51584 /* 145277 */ GIM_Reject,
51585 /* 145278 */ // Label 3186: @145278
51586 /* 145278 */ GIM_Reject,
51587 /* 145279 */ // Label 3180: @145279
51588 /* 145279 */ GIM_Try, /*On fail goto*//*Label 3192*/ GIMT_Encode4(145469),
51589 /* 145284 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
51590 /* 145287 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
51591 /* 145290 */ GIM_Try, /*On fail goto*//*Label 3193*/ GIMT_Encode4(145352), // Rule ID 2605 //
51592 /* 145295 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51593 /* 145298 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51594 /* 145302 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51595 /* 145306 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51596 /* 145310 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51597 /* 145314 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51598 /* 145317 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51599 /* 145321 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51600 /* 145325 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51601 /* 145327 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51602 /* 145334 */ // (usubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51603 /* 145334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBYrm),
51604 /* 145337 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51605 /* 145339 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51606 /* 145341 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51607 /* 145345 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51608 /* 145350 */ GIR_RootConstrainSelectedInstOperands,
51609 /* 145351 */ // GIR_Coverage, 2605,
51610 /* 145351 */ GIR_EraseRootFromParent_Done,
51611 /* 145352 */ // Label 3193: @145352
51612 /* 145352 */ GIM_Try, /*On fail goto*//*Label 3194*/ GIMT_Encode4(145414), // Rule ID 4928 //
51613 /* 145357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51614 /* 145360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51615 /* 145364 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51616 /* 145368 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51617 /* 145372 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51618 /* 145376 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51619 /* 145379 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51620 /* 145383 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51621 /* 145387 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51622 /* 145389 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51623 /* 145396 */ // (usubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51624 /* 145396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ256rm),
51625 /* 145399 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51626 /* 145401 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51627 /* 145403 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51628 /* 145407 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51629 /* 145412 */ GIR_RootConstrainSelectedInstOperands,
51630 /* 145413 */ // GIR_Coverage, 4928,
51631 /* 145413 */ GIR_EraseRootFromParent_Done,
51632 /* 145414 */ // Label 3194: @145414
51633 /* 145414 */ GIM_Try, /*On fail goto*//*Label 3195*/ GIMT_Encode4(145441), // Rule ID 2604 //
51634 /* 145419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51635 /* 145422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51636 /* 145426 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51637 /* 145430 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51638 /* 145434 */ // (usubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBUSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
51639 /* 145434 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBYrr),
51640 /* 145439 */ GIR_RootConstrainSelectedInstOperands,
51641 /* 145440 */ // GIR_Coverage, 2604,
51642 /* 145440 */ GIR_Done,
51643 /* 145441 */ // Label 3195: @145441
51644 /* 145441 */ GIM_Try, /*On fail goto*//*Label 3196*/ GIMT_Encode4(145468), // Rule ID 4925 //
51645 /* 145446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51646 /* 145449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51647 /* 145453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51648 /* 145457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51649 /* 145461 */ // (usubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBUSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
51650 /* 145461 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZ256rr),
51651 /* 145466 */ GIR_RootConstrainSelectedInstOperands,
51652 /* 145467 */ // GIR_Coverage, 4925,
51653 /* 145467 */ GIR_Done,
51654 /* 145468 */ // Label 3196: @145468
51655 /* 145468 */ GIM_Reject,
51656 /* 145469 */ // Label 3192: @145469
51657 /* 145469 */ GIM_Reject,
51658 /* 145470 */ // Label 3181: @145470
51659 /* 145470 */ GIM_Try, /*On fail goto*//*Label 3197*/ GIMT_Encode4(145563),
51660 /* 145475 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
51661 /* 145478 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
51662 /* 145481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51663 /* 145485 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51664 /* 145489 */ GIM_Try, /*On fail goto*//*Label 3198*/ GIMT_Encode4(145543), // Rule ID 4922 //
51665 /* 145494 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51666 /* 145497 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51667 /* 145501 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51668 /* 145505 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51669 /* 145508 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51670 /* 145512 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51671 /* 145516 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51672 /* 145518 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51673 /* 145525 */ // (usubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51674 /* 145525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZrm),
51675 /* 145528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51676 /* 145530 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51677 /* 145532 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51678 /* 145536 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51679 /* 145541 */ GIR_RootConstrainSelectedInstOperands,
51680 /* 145542 */ // GIR_Coverage, 4922,
51681 /* 145542 */ GIR_EraseRootFromParent_Done,
51682 /* 145543 */ // Label 3198: @145543
51683 /* 145543 */ GIM_Try, /*On fail goto*//*Label 3199*/ GIMT_Encode4(145562), // Rule ID 4919 //
51684 /* 145548 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51685 /* 145551 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51686 /* 145555 */ // (usubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBUSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
51687 /* 145555 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSBZrr),
51688 /* 145560 */ GIR_RootConstrainSelectedInstOperands,
51689 /* 145561 */ // GIR_Coverage, 4919,
51690 /* 145561 */ GIR_Done,
51691 /* 145562 */ // Label 3199: @145562
51692 /* 145562 */ GIM_Reject,
51693 /* 145563 */ // Label 3197: @145563
51694 /* 145563 */ GIM_Reject,
51695 /* 145564 */ // Label 3182: @145564
51696 /* 145564 */ GIM_Try, /*On fail goto*//*Label 3200*/ GIMT_Encode4(145781),
51697 /* 145569 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
51698 /* 145572 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
51699 /* 145575 */ GIM_Try, /*On fail goto*//*Label 3201*/ GIMT_Encode4(145637), // Rule ID 2607 //
51700 /* 145580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51701 /* 145583 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51702 /* 145587 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51703 /* 145591 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51704 /* 145595 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51705 /* 145599 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51706 /* 145602 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51707 /* 145606 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51708 /* 145610 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51709 /* 145612 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51710 /* 145619 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51711 /* 145619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWrm),
51712 /* 145622 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51713 /* 145624 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51714 /* 145626 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51715 /* 145630 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51716 /* 145635 */ GIR_RootConstrainSelectedInstOperands,
51717 /* 145636 */ // GIR_Coverage, 2607,
51718 /* 145636 */ GIR_EraseRootFromParent_Done,
51719 /* 145637 */ // Label 3201: @145637
51720 /* 145637 */ GIM_Try, /*On fail goto*//*Label 3202*/ GIMT_Encode4(145699), // Rule ID 4916 //
51721 /* 145642 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51722 /* 145645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51723 /* 145649 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51724 /* 145653 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51725 /* 145657 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51726 /* 145661 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51727 /* 145664 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51728 /* 145668 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51729 /* 145672 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51730 /* 145674 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51731 /* 145681 */ // (usubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51732 /* 145681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ128rm),
51733 /* 145684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51734 /* 145686 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51735 /* 145688 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51736 /* 145692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51737 /* 145697 */ GIR_RootConstrainSelectedInstOperands,
51738 /* 145698 */ // GIR_Coverage, 4916,
51739 /* 145698 */ GIR_EraseRootFromParent_Done,
51740 /* 145699 */ // Label 3202: @145699
51741 /* 145699 */ GIM_Try, /*On fail goto*//*Label 3203*/ GIMT_Encode4(145726), // Rule ID 2606 //
51742 /* 145704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51743 /* 145707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51744 /* 145711 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51745 /* 145715 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51746 /* 145719 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
51747 /* 145719 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWrr),
51748 /* 145724 */ GIR_RootConstrainSelectedInstOperands,
51749 /* 145725 */ // GIR_Coverage, 2606,
51750 /* 145725 */ GIR_Done,
51751 /* 145726 */ // Label 3203: @145726
51752 /* 145726 */ GIM_Try, /*On fail goto*//*Label 3204*/ GIMT_Encode4(145753), // Rule ID 2608 //
51753 /* 145731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
51754 /* 145734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51755 /* 145738 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51756 /* 145742 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51757 /* 145746 */ // (usubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBUSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
51758 /* 145746 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBUSWrr),
51759 /* 145751 */ GIR_RootConstrainSelectedInstOperands,
51760 /* 145752 */ // GIR_Coverage, 2608,
51761 /* 145752 */ GIR_Done,
51762 /* 145753 */ // Label 3204: @145753
51763 /* 145753 */ GIM_Try, /*On fail goto*//*Label 3205*/ GIMT_Encode4(145780), // Rule ID 4913 //
51764 /* 145758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51765 /* 145761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51766 /* 145765 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51767 /* 145769 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51768 /* 145773 */ // (usubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBUSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
51769 /* 145773 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ128rr),
51770 /* 145778 */ GIR_RootConstrainSelectedInstOperands,
51771 /* 145779 */ // GIR_Coverage, 4913,
51772 /* 145779 */ GIR_Done,
51773 /* 145780 */ // Label 3205: @145780
51774 /* 145780 */ GIM_Reject,
51775 /* 145781 */ // Label 3200: @145781
51776 /* 145781 */ GIM_Reject,
51777 /* 145782 */ // Label 3183: @145782
51778 /* 145782 */ GIM_Try, /*On fail goto*//*Label 3206*/ GIMT_Encode4(145972),
51779 /* 145787 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
51780 /* 145790 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
51781 /* 145793 */ GIM_Try, /*On fail goto*//*Label 3207*/ GIMT_Encode4(145855), // Rule ID 2611 //
51782 /* 145798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51783 /* 145801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51784 /* 145805 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51785 /* 145809 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51786 /* 145813 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51787 /* 145817 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51788 /* 145820 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51789 /* 145824 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51790 /* 145828 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51791 /* 145830 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51792 /* 145837 */ // (usubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51793 /* 145837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWYrm),
51794 /* 145840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51795 /* 145842 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51796 /* 145844 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51797 /* 145848 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51798 /* 145853 */ GIR_RootConstrainSelectedInstOperands,
51799 /* 145854 */ // GIR_Coverage, 2611,
51800 /* 145854 */ GIR_EraseRootFromParent_Done,
51801 /* 145855 */ // Label 3207: @145855
51802 /* 145855 */ GIM_Try, /*On fail goto*//*Label 3208*/ GIMT_Encode4(145917), // Rule ID 4910 //
51803 /* 145860 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51804 /* 145863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51805 /* 145867 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51806 /* 145871 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51807 /* 145875 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51808 /* 145879 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51809 /* 145882 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51810 /* 145886 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51811 /* 145890 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51812 /* 145892 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51813 /* 145899 */ // (usubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51814 /* 145899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ256rm),
51815 /* 145902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51816 /* 145904 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51817 /* 145906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51818 /* 145910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51819 /* 145915 */ GIR_RootConstrainSelectedInstOperands,
51820 /* 145916 */ // GIR_Coverage, 4910,
51821 /* 145916 */ GIR_EraseRootFromParent_Done,
51822 /* 145917 */ // Label 3208: @145917
51823 /* 145917 */ GIM_Try, /*On fail goto*//*Label 3209*/ GIMT_Encode4(145944), // Rule ID 2610 //
51824 /* 145922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51825 /* 145925 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51826 /* 145929 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51827 /* 145933 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51828 /* 145937 */ // (usubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBUSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
51829 /* 145937 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWYrr),
51830 /* 145942 */ GIR_RootConstrainSelectedInstOperands,
51831 /* 145943 */ // GIR_Coverage, 2610,
51832 /* 145943 */ GIR_Done,
51833 /* 145944 */ // Label 3209: @145944
51834 /* 145944 */ GIM_Try, /*On fail goto*//*Label 3210*/ GIMT_Encode4(145971), // Rule ID 4907 //
51835 /* 145949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51836 /* 145952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51837 /* 145956 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51838 /* 145960 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
51839 /* 145964 */ // (usubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBUSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
51840 /* 145964 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZ256rr),
51841 /* 145969 */ GIR_RootConstrainSelectedInstOperands,
51842 /* 145970 */ // GIR_Coverage, 4907,
51843 /* 145970 */ GIR_Done,
51844 /* 145971 */ // Label 3210: @145971
51845 /* 145971 */ GIM_Reject,
51846 /* 145972 */ // Label 3206: @145972
51847 /* 145972 */ GIM_Reject,
51848 /* 145973 */ // Label 3184: @145973
51849 /* 145973 */ GIM_Try, /*On fail goto*//*Label 3211*/ GIMT_Encode4(146066),
51850 /* 145978 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
51851 /* 145981 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
51852 /* 145984 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51853 /* 145988 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51854 /* 145992 */ GIM_Try, /*On fail goto*//*Label 3212*/ GIMT_Encode4(146046), // Rule ID 4904 //
51855 /* 145997 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51856 /* 146000 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51857 /* 146004 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51858 /* 146008 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51859 /* 146011 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51860 /* 146015 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51861 /* 146019 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51862 /* 146021 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51863 /* 146028 */ // (usubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBUSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
51864 /* 146028 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZrm),
51865 /* 146031 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51866 /* 146033 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51867 /* 146035 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51868 /* 146039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51869 /* 146044 */ GIR_RootConstrainSelectedInstOperands,
51870 /* 146045 */ // GIR_Coverage, 4904,
51871 /* 146045 */ GIR_EraseRootFromParent_Done,
51872 /* 146046 */ // Label 3212: @146046
51873 /* 146046 */ GIM_Try, /*On fail goto*//*Label 3213*/ GIMT_Encode4(146065), // Rule ID 4901 //
51874 /* 146051 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
51875 /* 146054 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
51876 /* 146058 */ // (usubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBUSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
51877 /* 146058 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBUSWZrr),
51878 /* 146063 */ GIR_RootConstrainSelectedInstOperands,
51879 /* 146064 */ // GIR_Coverage, 4901,
51880 /* 146064 */ GIR_Done,
51881 /* 146065 */ // Label 3213: @146065
51882 /* 146065 */ GIM_Reject,
51883 /* 146066 */ // Label 3211: @146066
51884 /* 146066 */ GIM_Reject,
51885 /* 146067 */ // Label 3185: @146067
51886 /* 146067 */ GIM_Reject,
51887 /* 146068 */ // Label 41: @146068
51888 /* 146068 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(19), /*)*//*default:*//*Label 3220*/ GIMT_Encode4(147109),
51889 /* 146079 */ /*GILLT_v16s8*//*Label 3214*/ GIMT_Encode4(146103),
51890 /* 146083 */ /*GILLT_v32s8*//*Label 3215*/ GIMT_Encode4(146321),
51891 /* 146087 */ /*GILLT_v64s8*//*Label 3216*/ GIMT_Encode4(146512),
51892 /* 146091 */ /*GILLT_v8s16*//*Label 3217*/ GIMT_Encode4(146606),
51893 /* 146095 */ /*GILLT_v16s16*//*Label 3218*/ GIMT_Encode4(146824),
51894 /* 146099 */ /*GILLT_v32s16*//*Label 3219*/ GIMT_Encode4(147015),
51895 /* 146103 */ // Label 3214: @146103
51896 /* 146103 */ GIM_Try, /*On fail goto*//*Label 3221*/ GIMT_Encode4(146320),
51897 /* 146108 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
51898 /* 146111 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
51899 /* 146114 */ GIM_Try, /*On fail goto*//*Label 3222*/ GIMT_Encode4(146176), // Rule ID 2589 //
51900 /* 146119 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51901 /* 146122 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51902 /* 146126 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51903 /* 146130 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51904 /* 146134 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51905 /* 146138 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51906 /* 146141 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51907 /* 146145 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51908 /* 146149 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51909 /* 146151 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51910 /* 146158 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51911 /* 146158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBrm),
51912 /* 146161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51913 /* 146163 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51914 /* 146165 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51915 /* 146169 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51916 /* 146174 */ GIR_RootConstrainSelectedInstOperands,
51917 /* 146175 */ // GIR_Coverage, 2589,
51918 /* 146175 */ GIR_EraseRootFromParent_Done,
51919 /* 146176 */ // Label 3222: @146176
51920 /* 146176 */ GIM_Try, /*On fail goto*//*Label 3223*/ GIMT_Encode4(146238), // Rule ID 4862 //
51921 /* 146181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51922 /* 146184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51923 /* 146188 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51924 /* 146192 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51925 /* 146196 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51926 /* 146200 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51927 /* 146203 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51928 /* 146207 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51929 /* 146211 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51930 /* 146213 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51931 /* 146220 */ // (ssubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51932 /* 146220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ128rm),
51933 /* 146223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51934 /* 146225 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51935 /* 146227 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51936 /* 146231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51937 /* 146236 */ GIR_RootConstrainSelectedInstOperands,
51938 /* 146237 */ // GIR_Coverage, 4862,
51939 /* 146237 */ GIR_EraseRootFromParent_Done,
51940 /* 146238 */ // Label 3223: @146238
51941 /* 146238 */ GIM_Try, /*On fail goto*//*Label 3224*/ GIMT_Encode4(146265), // Rule ID 2588 //
51942 /* 146243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
51943 /* 146246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51944 /* 146250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51945 /* 146254 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51946 /* 146258 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPSUBSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
51947 /* 146258 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBrr),
51948 /* 146263 */ GIR_RootConstrainSelectedInstOperands,
51949 /* 146264 */ // GIR_Coverage, 2588,
51950 /* 146264 */ GIR_Done,
51951 /* 146265 */ // Label 3224: @146265
51952 /* 146265 */ GIM_Try, /*On fail goto*//*Label 3225*/ GIMT_Encode4(146292), // Rule ID 2590 //
51953 /* 146270 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
51954 /* 146273 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51955 /* 146277 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51956 /* 146281 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
51957 /* 146285 */ // (ssubsat:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PSUBSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
51958 /* 146285 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBSBrr),
51959 /* 146290 */ GIR_RootConstrainSelectedInstOperands,
51960 /* 146291 */ // GIR_Coverage, 2590,
51961 /* 146291 */ GIR_Done,
51962 /* 146292 */ // Label 3225: @146292
51963 /* 146292 */ GIM_Try, /*On fail goto*//*Label 3226*/ GIMT_Encode4(146319), // Rule ID 4859 //
51964 /* 146297 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
51965 /* 146300 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51966 /* 146304 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51967 /* 146308 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
51968 /* 146312 */ // (ssubsat:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPSUBSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
51969 /* 146312 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ128rr),
51970 /* 146317 */ GIR_RootConstrainSelectedInstOperands,
51971 /* 146318 */ // GIR_Coverage, 4859,
51972 /* 146318 */ GIR_Done,
51973 /* 146319 */ // Label 3226: @146319
51974 /* 146319 */ GIM_Reject,
51975 /* 146320 */ // Label 3221: @146320
51976 /* 146320 */ GIM_Reject,
51977 /* 146321 */ // Label 3215: @146321
51978 /* 146321 */ GIM_Try, /*On fail goto*//*Label 3227*/ GIMT_Encode4(146511),
51979 /* 146326 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
51980 /* 146329 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
51981 /* 146332 */ GIM_Try, /*On fail goto*//*Label 3228*/ GIMT_Encode4(146394), // Rule ID 2593 //
51982 /* 146337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
51983 /* 146340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51984 /* 146344 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
51985 /* 146348 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
51986 /* 146352 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
51987 /* 146356 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
51988 /* 146359 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
51989 /* 146363 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
51990 /* 146367 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
51991 /* 146369 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
51992 /* 146376 */ // (ssubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
51993 /* 146376 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBYrm),
51994 /* 146379 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
51995 /* 146381 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
51996 /* 146383 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
51997 /* 146387 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
51998 /* 146392 */ GIR_RootConstrainSelectedInstOperands,
51999 /* 146393 */ // GIR_Coverage, 2593,
52000 /* 146393 */ GIR_EraseRootFromParent_Done,
52001 /* 146394 */ // Label 3228: @146394
52002 /* 146394 */ GIM_Try, /*On fail goto*//*Label 3229*/ GIMT_Encode4(146456), // Rule ID 4856 //
52003 /* 146399 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52004 /* 146402 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52005 /* 146406 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52006 /* 146410 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52007 /* 146414 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52008 /* 146418 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52009 /* 146421 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52010 /* 146425 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52011 /* 146429 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52012 /* 146431 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52013 /* 146438 */ // (ssubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52014 /* 146438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ256rm),
52015 /* 146441 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52016 /* 146443 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52017 /* 146445 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52018 /* 146449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52019 /* 146454 */ GIR_RootConstrainSelectedInstOperands,
52020 /* 146455 */ // GIR_Coverage, 4856,
52021 /* 146455 */ GIR_EraseRootFromParent_Done,
52022 /* 146456 */ // Label 3229: @146456
52023 /* 146456 */ GIM_Try, /*On fail goto*//*Label 3230*/ GIMT_Encode4(146483), // Rule ID 2592 //
52024 /* 146461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
52025 /* 146464 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52026 /* 146468 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52027 /* 146472 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52028 /* 146476 */ // (ssubsat:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPSUBSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
52029 /* 146476 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBYrr),
52030 /* 146481 */ GIR_RootConstrainSelectedInstOperands,
52031 /* 146482 */ // GIR_Coverage, 2592,
52032 /* 146482 */ GIR_Done,
52033 /* 146483 */ // Label 3230: @146483
52034 /* 146483 */ GIM_Try, /*On fail goto*//*Label 3231*/ GIMT_Encode4(146510), // Rule ID 4853 //
52035 /* 146488 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52036 /* 146491 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52037 /* 146495 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52038 /* 146499 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52039 /* 146503 */ // (ssubsat:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPSUBSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
52040 /* 146503 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZ256rr),
52041 /* 146508 */ GIR_RootConstrainSelectedInstOperands,
52042 /* 146509 */ // GIR_Coverage, 4853,
52043 /* 146509 */ GIR_Done,
52044 /* 146510 */ // Label 3231: @146510
52045 /* 146510 */ GIM_Reject,
52046 /* 146511 */ // Label 3227: @146511
52047 /* 146511 */ GIM_Reject,
52048 /* 146512 */ // Label 3216: @146512
52049 /* 146512 */ GIM_Try, /*On fail goto*//*Label 3232*/ GIMT_Encode4(146605),
52050 /* 146517 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
52051 /* 146520 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
52052 /* 146523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52053 /* 146527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52054 /* 146531 */ GIM_Try, /*On fail goto*//*Label 3233*/ GIMT_Encode4(146585), // Rule ID 4850 //
52055 /* 146536 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52056 /* 146539 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52057 /* 146543 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52058 /* 146547 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52059 /* 146550 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52060 /* 146554 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52061 /* 146558 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52062 /* 146560 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52063 /* 146567 */ // (ssubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
52064 /* 146567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZrm),
52065 /* 146570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52066 /* 146572 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52067 /* 146574 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52068 /* 146578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52069 /* 146583 */ GIR_RootConstrainSelectedInstOperands,
52070 /* 146584 */ // GIR_Coverage, 4850,
52071 /* 146584 */ GIR_EraseRootFromParent_Done,
52072 /* 146585 */ // Label 3233: @146585
52073 /* 146585 */ GIM_Try, /*On fail goto*//*Label 3234*/ GIMT_Encode4(146604), // Rule ID 4847 //
52074 /* 146590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52075 /* 146593 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52076 /* 146597 */ // (ssubsat:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPSUBSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
52077 /* 146597 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSBZrr),
52078 /* 146602 */ GIR_RootConstrainSelectedInstOperands,
52079 /* 146603 */ // GIR_Coverage, 4847,
52080 /* 146603 */ GIR_Done,
52081 /* 146604 */ // Label 3234: @146604
52082 /* 146604 */ GIM_Reject,
52083 /* 146605 */ // Label 3232: @146605
52084 /* 146605 */ GIM_Reject,
52085 /* 146606 */ // Label 3217: @146606
52086 /* 146606 */ GIM_Try, /*On fail goto*//*Label 3235*/ GIMT_Encode4(146823),
52087 /* 146611 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
52088 /* 146614 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
52089 /* 146617 */ GIM_Try, /*On fail goto*//*Label 3236*/ GIMT_Encode4(146679), // Rule ID 2595 //
52090 /* 146622 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
52091 /* 146625 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52092 /* 146629 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52093 /* 146633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52094 /* 146637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52095 /* 146641 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52096 /* 146644 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52097 /* 146648 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52098 /* 146652 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52099 /* 146654 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52100 /* 146661 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52101 /* 146661 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWrm),
52102 /* 146664 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52103 /* 146666 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52104 /* 146668 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52105 /* 146672 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52106 /* 146677 */ GIR_RootConstrainSelectedInstOperands,
52107 /* 146678 */ // GIR_Coverage, 2595,
52108 /* 146678 */ GIR_EraseRootFromParent_Done,
52109 /* 146679 */ // Label 3236: @146679
52110 /* 146679 */ GIM_Try, /*On fail goto*//*Label 3237*/ GIMT_Encode4(146741), // Rule ID 4844 //
52111 /* 146684 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52112 /* 146687 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52113 /* 146691 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52114 /* 146695 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52115 /* 146699 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52116 /* 146703 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52117 /* 146706 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52118 /* 146710 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52119 /* 146714 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52120 /* 146716 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52121 /* 146723 */ // (ssubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52122 /* 146723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ128rm),
52123 /* 146726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52124 /* 146728 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52125 /* 146730 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52126 /* 146734 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52127 /* 146739 */ GIR_RootConstrainSelectedInstOperands,
52128 /* 146740 */ // GIR_Coverage, 4844,
52129 /* 146740 */ GIR_EraseRootFromParent_Done,
52130 /* 146741 */ // Label 3237: @146741
52131 /* 146741 */ GIM_Try, /*On fail goto*//*Label 3238*/ GIMT_Encode4(146768), // Rule ID 2594 //
52132 /* 146746 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
52133 /* 146749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52134 /* 146753 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52135 /* 146757 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52136 /* 146761 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPSUBSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
52137 /* 146761 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWrr),
52138 /* 146766 */ GIR_RootConstrainSelectedInstOperands,
52139 /* 146767 */ // GIR_Coverage, 2594,
52140 /* 146767 */ GIR_Done,
52141 /* 146768 */ // Label 3238: @146768
52142 /* 146768 */ GIM_Try, /*On fail goto*//*Label 3239*/ GIMT_Encode4(146795), // Rule ID 2596 //
52143 /* 146773 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
52144 /* 146776 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52145 /* 146780 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52146 /* 146784 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
52147 /* 146788 */ // (ssubsat:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PSUBSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
52148 /* 146788 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PSUBSWrr),
52149 /* 146793 */ GIR_RootConstrainSelectedInstOperands,
52150 /* 146794 */ // GIR_Coverage, 2596,
52151 /* 146794 */ GIR_Done,
52152 /* 146795 */ // Label 3239: @146795
52153 /* 146795 */ GIM_Try, /*On fail goto*//*Label 3240*/ GIMT_Encode4(146822), // Rule ID 4841 //
52154 /* 146800 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52155 /* 146803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52156 /* 146807 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52157 /* 146811 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
52158 /* 146815 */ // (ssubsat:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPSUBSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
52159 /* 146815 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ128rr),
52160 /* 146820 */ GIR_RootConstrainSelectedInstOperands,
52161 /* 146821 */ // GIR_Coverage, 4841,
52162 /* 146821 */ GIR_Done,
52163 /* 146822 */ // Label 3240: @146822
52164 /* 146822 */ GIM_Reject,
52165 /* 146823 */ // Label 3235: @146823
52166 /* 146823 */ GIM_Reject,
52167 /* 146824 */ // Label 3218: @146824
52168 /* 146824 */ GIM_Try, /*On fail goto*//*Label 3241*/ GIMT_Encode4(147014),
52169 /* 146829 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
52170 /* 146832 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
52171 /* 146835 */ GIM_Try, /*On fail goto*//*Label 3242*/ GIMT_Encode4(146897), // Rule ID 2599 //
52172 /* 146840 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
52173 /* 146843 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52174 /* 146847 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52175 /* 146851 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52176 /* 146855 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52177 /* 146859 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52178 /* 146862 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52179 /* 146866 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52180 /* 146870 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52181 /* 146872 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52182 /* 146879 */ // (ssubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52183 /* 146879 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWYrm),
52184 /* 146882 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52185 /* 146884 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52186 /* 146886 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52187 /* 146890 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52188 /* 146895 */ GIR_RootConstrainSelectedInstOperands,
52189 /* 146896 */ // GIR_Coverage, 2599,
52190 /* 146896 */ GIR_EraseRootFromParent_Done,
52191 /* 146897 */ // Label 3242: @146897
52192 /* 146897 */ GIM_Try, /*On fail goto*//*Label 3243*/ GIMT_Encode4(146959), // Rule ID 4838 //
52193 /* 146902 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52194 /* 146905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52195 /* 146909 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52196 /* 146913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52197 /* 146917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52198 /* 146921 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52199 /* 146924 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52200 /* 146928 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52201 /* 146932 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52202 /* 146934 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52203 /* 146941 */ // (ssubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52204 /* 146941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ256rm),
52205 /* 146944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52206 /* 146946 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52207 /* 146948 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52208 /* 146952 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52209 /* 146957 */ GIR_RootConstrainSelectedInstOperands,
52210 /* 146958 */ // GIR_Coverage, 4838,
52211 /* 146958 */ GIR_EraseRootFromParent_Done,
52212 /* 146959 */ // Label 3243: @146959
52213 /* 146959 */ GIM_Try, /*On fail goto*//*Label 3244*/ GIMT_Encode4(146986), // Rule ID 2598 //
52214 /* 146964 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
52215 /* 146967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52216 /* 146971 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52217 /* 146975 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
52218 /* 146979 */ // (ssubsat:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPSUBSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
52219 /* 146979 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWYrr),
52220 /* 146984 */ GIR_RootConstrainSelectedInstOperands,
52221 /* 146985 */ // GIR_Coverage, 2598,
52222 /* 146985 */ GIR_Done,
52223 /* 146986 */ // Label 3244: @146986
52224 /* 146986 */ GIM_Try, /*On fail goto*//*Label 3245*/ GIMT_Encode4(147013), // Rule ID 4835 //
52225 /* 146991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
52226 /* 146994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52227 /* 146998 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52228 /* 147002 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
52229 /* 147006 */ // (ssubsat:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPSUBSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
52230 /* 147006 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZ256rr),
52231 /* 147011 */ GIR_RootConstrainSelectedInstOperands,
52232 /* 147012 */ // GIR_Coverage, 4835,
52233 /* 147012 */ GIR_Done,
52234 /* 147013 */ // Label 3245: @147013
52235 /* 147013 */ GIM_Reject,
52236 /* 147014 */ // Label 3241: @147014
52237 /* 147014 */ GIM_Reject,
52238 /* 147015 */ // Label 3219: @147015
52239 /* 147015 */ GIM_Try, /*On fail goto*//*Label 3246*/ GIMT_Encode4(147108),
52240 /* 147020 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
52241 /* 147023 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
52242 /* 147026 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52243 /* 147030 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52244 /* 147034 */ GIM_Try, /*On fail goto*//*Label 3247*/ GIMT_Encode4(147088), // Rule ID 4832 //
52245 /* 147039 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52246 /* 147042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52247 /* 147046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52248 /* 147050 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52249 /* 147053 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52250 /* 147057 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52251 /* 147061 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52252 /* 147063 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52253 /* 147070 */ // (ssubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPSUBSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
52254 /* 147070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZrm),
52255 /* 147073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52256 /* 147075 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52257 /* 147077 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52258 /* 147081 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52259 /* 147086 */ GIR_RootConstrainSelectedInstOperands,
52260 /* 147087 */ // GIR_Coverage, 4832,
52261 /* 147087 */ GIR_EraseRootFromParent_Done,
52262 /* 147088 */ // Label 3247: @147088
52263 /* 147088 */ GIM_Try, /*On fail goto*//*Label 3248*/ GIMT_Encode4(147107), // Rule ID 4829 //
52264 /* 147093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
52265 /* 147096 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
52266 /* 147100 */ // (ssubsat:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPSUBSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
52267 /* 147100 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPSUBSWZrr),
52268 /* 147105 */ GIR_RootConstrainSelectedInstOperands,
52269 /* 147106 */ // GIR_Coverage, 4829,
52270 /* 147106 */ GIR_Done,
52271 /* 147107 */ // Label 3248: @147107
52272 /* 147107 */ GIM_Reject,
52273 /* 147108 */ // Label 3246: @147108
52274 /* 147108 */ GIM_Reject,
52275 /* 147109 */ // Label 3220: @147109
52276 /* 147109 */ GIM_Reject,
52277 /* 147110 */ // Label 42: @147110
52278 /* 147110 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 3262*/ GIMT_Encode4(153031),
52279 /* 147121 */ /*GILLT_s16*//*Label 3249*/ GIMT_Encode4(147213),
52280 /* 147125 */ /*GILLT_s32*//*Label 3250*/ GIMT_Encode4(147373),
52281 /* 147129 */ /*GILLT_s64*//*Label 3251*/ GIMT_Encode4(148770),
52282 /* 147133 */ /*GILLT_s80*//*Label 3252*/ GIMT_Encode4(150311), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
52283 /* 147177 */ /*GILLT_v8s16*//*Label 3253*/ GIMT_Encode4(150877),
52284 /* 147181 */ /*GILLT_v16s16*//*Label 3254*/ GIMT_Encode4(151037),
52285 /* 147185 */ /*GILLT_v32s16*//*Label 3255*/ GIMT_Encode4(151197),
52286 /* 147189 */ /*GILLT_v4s32*//*Label 3256*/ GIMT_Encode4(151357),
52287 /* 147193 */ /*GILLT_v8s32*//*Label 3257*/ GIMT_Encode4(151711),
52288 /* 147197 */ /*GILLT_v16s32*//*Label 3258*/ GIMT_Encode4(152034),
52289 /* 147201 */ /*GILLT_v2s64*//*Label 3259*/ GIMT_Encode4(152194),
52290 /* 147205 */ /*GILLT_v4s64*//*Label 3260*/ GIMT_Encode4(152548),
52291 /* 147209 */ /*GILLT_v8s64*//*Label 3261*/ GIMT_Encode4(152871),
52292 /* 147213 */ // Label 3249: @147213
52293 /* 147213 */ GIM_Try, /*On fail goto*//*Label 3263*/ GIMT_Encode4(147372),
52294 /* 147218 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
52295 /* 147221 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
52296 /* 147224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
52297 /* 147228 */ GIM_Try, /*On fail goto*//*Label 3264*/ GIMT_Encode4(147286), // Rule ID 24308 //
52298 /* 147233 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
52299 /* 147236 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52300 /* 147240 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52301 /* 147244 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52302 /* 147247 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52303 /* 147251 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52304 /* 147255 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
52305 /* 147259 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52306 /* 147261 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52307 /* 147268 */ // (fadd:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1) => (VADDSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52308 /* 147268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
52309 /* 147271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52310 /* 147273 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52311 /* 147275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52312 /* 147279 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52313 /* 147284 */ GIR_RootConstrainSelectedInstOperands,
52314 /* 147285 */ // GIR_Coverage, 24308,
52315 /* 147285 */ GIR_EraseRootFromParent_Done,
52316 /* 147286 */ // Label 3264: @147286
52317 /* 147286 */ GIM_Try, /*On fail goto*//*Label 3265*/ GIMT_Encode4(147344), // Rule ID 5935 //
52318 /* 147291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
52319 /* 147294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
52320 /* 147298 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52321 /* 147302 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52322 /* 147306 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52323 /* 147309 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52324 /* 147313 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52325 /* 147317 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52326 /* 147319 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52327 /* 147326 */ // (fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
52328 /* 147326 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
52329 /* 147329 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52330 /* 147331 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52331 /* 147333 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52332 /* 147337 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52333 /* 147342 */ GIR_RootConstrainSelectedInstOperands,
52334 /* 147343 */ // GIR_Coverage, 5935,
52335 /* 147343 */ GIR_EraseRootFromParent_Done,
52336 /* 147344 */ // Label 3265: @147344
52337 /* 147344 */ GIM_Try, /*On fail goto*//*Label 3266*/ GIMT_Encode4(147371), // Rule ID 5933 //
52338 /* 147349 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
52339 /* 147352 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
52340 /* 147356 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
52341 /* 147360 */ // (fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VADDSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
52342 /* 147360 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSHZrr),
52343 /* 147365 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52344 /* 147369 */ GIR_RootConstrainSelectedInstOperands,
52345 /* 147370 */ // GIR_Coverage, 5933,
52346 /* 147370 */ GIR_Done,
52347 /* 147371 */ // Label 3266: @147371
52348 /* 147371 */ GIM_Reject,
52349 /* 147372 */ // Label 3263: @147372
52350 /* 147372 */ GIM_Reject,
52351 /* 147373 */ // Label 3250: @147373
52352 /* 147373 */ GIM_Try, /*On fail goto*//*Label 3267*/ GIMT_Encode4(148769),
52353 /* 147378 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
52354 /* 147381 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
52355 /* 147384 */ GIM_Try, /*On fail goto*//*Label 3268*/ GIMT_Encode4(147466), // Rule ID 26076 //
52356 /* 147389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52357 /* 147392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52358 /* 147396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52359 /* 147400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52360 /* 147404 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52361 /* 147408 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52362 /* 147412 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52363 /* 147416 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52364 /* 147419 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52365 /* 147423 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52366 /* 147430 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52367 /* 147434 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52368 /* 147438 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52369 /* 147440 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52370 /* 147447 */ // (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)
52371 /* 147447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
52372 /* 147450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52373 /* 147452 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52374 /* 147454 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52375 /* 147458 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52376 /* 147464 */ GIR_RootConstrainSelectedInstOperands,
52377 /* 147465 */ // GIR_Coverage, 26076,
52378 /* 147465 */ GIR_EraseRootFromParent_Done,
52379 /* 147466 */ // Label 3268: @147466
52380 /* 147466 */ GIM_Try, /*On fail goto*//*Label 3269*/ GIMT_Encode4(147548), // Rule ID 26077 //
52381 /* 147471 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52382 /* 147474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52383 /* 147478 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52384 /* 147482 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52385 /* 147486 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52386 /* 147490 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52387 /* 147494 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52388 /* 147498 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52389 /* 147501 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52390 /* 147505 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52391 /* 147512 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52392 /* 147516 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52393 /* 147520 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52394 /* 147522 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52395 /* 147529 */ // (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)
52396 /* 147529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
52397 /* 147532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52398 /* 147534 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52399 /* 147536 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52400 /* 147540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52401 /* 147546 */ GIR_RootConstrainSelectedInstOperands,
52402 /* 147547 */ // GIR_Coverage, 26077,
52403 /* 147547 */ GIR_EraseRootFromParent_Done,
52404 /* 147548 */ // Label 3269: @147548
52405 /* 147548 */ GIM_Try, /*On fail goto*//*Label 3270*/ GIMT_Encode4(147630), // Rule ID 26078 //
52406 /* 147553 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52407 /* 147556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52408 /* 147560 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52409 /* 147564 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52410 /* 147568 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52411 /* 147572 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52412 /* 147576 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52413 /* 147580 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52414 /* 147583 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52415 /* 147587 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52416 /* 147594 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52417 /* 147598 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52418 /* 147602 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52419 /* 147604 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52420 /* 147611 */ // (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)
52421 /* 147611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
52422 /* 147614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52423 /* 147616 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52424 /* 147618 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52425 /* 147622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52426 /* 147628 */ GIR_RootConstrainSelectedInstOperands,
52427 /* 147629 */ // GIR_Coverage, 26078,
52428 /* 147629 */ GIR_EraseRootFromParent_Done,
52429 /* 147630 */ // Label 3270: @147630
52430 /* 147630 */ GIM_Try, /*On fail goto*//*Label 3271*/ GIMT_Encode4(147712), // Rule ID 22504 //
52431 /* 147635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52432 /* 147638 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52433 /* 147642 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52434 /* 147646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52435 /* 147650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52436 /* 147654 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52437 /* 147658 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52438 /* 147662 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52439 /* 147666 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52440 /* 147669 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52441 /* 147673 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52442 /* 147680 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52443 /* 147684 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52444 /* 147686 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52445 /* 147693 */ // (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)
52446 /* 147693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
52447 /* 147696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52448 /* 147698 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52449 /* 147700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52450 /* 147704 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52451 /* 147710 */ GIR_RootConstrainSelectedInstOperands,
52452 /* 147711 */ // GIR_Coverage, 22504,
52453 /* 147711 */ GIR_EraseRootFromParent_Done,
52454 /* 147712 */ // Label 3271: @147712
52455 /* 147712 */ GIM_Try, /*On fail goto*//*Label 3272*/ GIMT_Encode4(147794), // Rule ID 22505 //
52456 /* 147717 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52457 /* 147720 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52458 /* 147724 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52459 /* 147728 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52460 /* 147732 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52461 /* 147736 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52462 /* 147740 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52463 /* 147744 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52464 /* 147748 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52465 /* 147751 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52466 /* 147755 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52467 /* 147762 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52468 /* 147766 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52469 /* 147768 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52470 /* 147775 */ // (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)
52471 /* 147775 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
52472 /* 147778 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52473 /* 147780 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52474 /* 147782 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52475 /* 147786 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52476 /* 147792 */ GIR_RootConstrainSelectedInstOperands,
52477 /* 147793 */ // GIR_Coverage, 22505,
52478 /* 147793 */ GIR_EraseRootFromParent_Done,
52479 /* 147794 */ // Label 3272: @147794
52480 /* 147794 */ GIM_Try, /*On fail goto*//*Label 3273*/ GIMT_Encode4(147876), // Rule ID 22506 //
52481 /* 147799 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52482 /* 147802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52483 /* 147806 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52484 /* 147810 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52485 /* 147814 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52486 /* 147818 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
52487 /* 147822 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52488 /* 147826 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52489 /* 147830 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52490 /* 147833 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52491 /* 147837 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52492 /* 147844 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52493 /* 147848 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52494 /* 147850 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52495 /* 147857 */ // (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)
52496 /* 147857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
52497 /* 147860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52498 /* 147862 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52499 /* 147864 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52500 /* 147868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52501 /* 147874 */ GIR_RootConstrainSelectedInstOperands,
52502 /* 147875 */ // GIR_Coverage, 22506,
52503 /* 147875 */ GIR_EraseRootFromParent_Done,
52504 /* 147876 */ // Label 3273: @147876
52505 /* 147876 */ GIM_Try, /*On fail goto*//*Label 3274*/ GIMT_Encode4(147941), // Rule ID 23305 //
52506 /* 147881 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52507 /* 147884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52508 /* 147888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52509 /* 147892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52510 /* 147896 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
52511 /* 147903 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52512 /* 147907 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52513 /* 147911 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52514 /* 147913 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52515 /* 147920 */ // (fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52516 /* 147920 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
52517 /* 147923 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52518 /* 147925 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52519 /* 147927 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52520 /* 147931 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52521 /* 147934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52522 /* 147939 */ GIR_RootConstrainSelectedInstOperands,
52523 /* 147940 */ // GIR_Coverage, 23305,
52524 /* 147940 */ GIR_EraseRootFromParent_Done,
52525 /* 147941 */ // Label 3274: @147941
52526 /* 147941 */ GIM_Try, /*On fail goto*//*Label 3275*/ GIMT_Encode4(148006), // Rule ID 23307 //
52527 /* 147946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52528 /* 147949 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52529 /* 147953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52530 /* 147957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52531 /* 147961 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52532 /* 147968 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52533 /* 147972 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52534 /* 147976 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52535 /* 147978 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52536 /* 147985 */ // (fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52537 /* 147985 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
52538 /* 147988 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52539 /* 147990 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52540 /* 147992 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52541 /* 147996 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52542 /* 147999 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52543 /* 148004 */ GIR_RootConstrainSelectedInstOperands,
52544 /* 148005 */ // GIR_Coverage, 23307,
52545 /* 148005 */ GIR_EraseRootFromParent_Done,
52546 /* 148006 */ // Label 3275: @148006
52547 /* 148006 */ GIM_Try, /*On fail goto*//*Label 3276*/ GIMT_Encode4(148071), // Rule ID 23295 //
52548 /* 148011 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52549 /* 148014 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52550 /* 148018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52551 /* 148022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52552 /* 148026 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52553 /* 148029 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52554 /* 148033 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52555 /* 148037 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52556 /* 148041 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52557 /* 148043 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52558 /* 148050 */ // (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)
52559 /* 148050 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
52560 /* 148053 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52561 /* 148055 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52562 /* 148057 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52563 /* 148061 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52564 /* 148064 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52565 /* 148069 */ GIR_RootConstrainSelectedInstOperands,
52566 /* 148070 */ // GIR_Coverage, 23295,
52567 /* 148070 */ GIR_EraseRootFromParent_Done,
52568 /* 148071 */ // Label 3276: @148071
52569 /* 148071 */ GIM_Try, /*On fail goto*//*Label 3277*/ GIMT_Encode4(148133), // Rule ID 23440 //
52570 /* 148076 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52571 /* 148079 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52572 /* 148083 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52573 /* 148087 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52574 /* 148091 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52575 /* 148094 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52576 /* 148098 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52577 /* 148102 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52578 /* 148106 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52579 /* 148108 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52580 /* 148115 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (VADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52581 /* 148115 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
52582 /* 148118 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52583 /* 148120 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52584 /* 148122 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52585 /* 148126 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52586 /* 148131 */ GIR_RootConstrainSelectedInstOperands,
52587 /* 148132 */ // GIR_Coverage, 23440,
52588 /* 148132 */ GIR_EraseRootFromParent_Done,
52589 /* 148133 */ // Label 3277: @148133
52590 /* 148133 */ GIM_Try, /*On fail goto*//*Label 3278*/ GIMT_Encode4(148195), // Rule ID 23444 //
52591 /* 148138 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52592 /* 148141 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52593 /* 148145 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52594 /* 148149 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52595 /* 148153 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52596 /* 148156 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52597 /* 148160 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52598 /* 148164 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52599 /* 148168 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52600 /* 148170 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52601 /* 148177 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (ADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52602 /* 148177 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
52603 /* 148180 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52604 /* 148182 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52605 /* 148184 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52606 /* 148188 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52607 /* 148193 */ GIR_RootConstrainSelectedInstOperands,
52608 /* 148194 */ // GIR_Coverage, 23444,
52609 /* 148194 */ GIR_EraseRootFromParent_Done,
52610 /* 148195 */ // Label 3278: @148195
52611 /* 148195 */ GIM_Try, /*On fail goto*//*Label 3279*/ GIMT_Encode4(148257), // Rule ID 24304 //
52612 /* 148200 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52613 /* 148203 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52614 /* 148207 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52615 /* 148211 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52616 /* 148215 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52617 /* 148218 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52618 /* 148222 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52619 /* 148226 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52620 /* 148230 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52621 /* 148232 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52622 /* 148239 */ // (fadd:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1) => (VADDSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52623 /* 148239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
52624 /* 148242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52625 /* 148244 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52626 /* 148246 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52627 /* 148250 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52628 /* 148255 */ GIR_RootConstrainSelectedInstOperands,
52629 /* 148256 */ // GIR_Coverage, 24304,
52630 /* 148256 */ GIR_EraseRootFromParent_Done,
52631 /* 148257 */ // Label 3279: @148257
52632 /* 148257 */ GIM_Try, /*On fail goto*//*Label 3280*/ GIMT_Encode4(148322), // Rule ID 897 //
52633 /* 148262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52634 /* 148265 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52635 /* 148269 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52636 /* 148273 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52637 /* 148277 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52638 /* 148281 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
52639 /* 148288 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52640 /* 148292 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52641 /* 148294 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52642 /* 148301 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52643 /* 148301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
52644 /* 148304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52645 /* 148306 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52646 /* 148308 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52647 /* 148312 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52648 /* 148315 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52649 /* 148320 */ GIR_RootConstrainSelectedInstOperands,
52650 /* 148321 */ // GIR_Coverage, 897,
52651 /* 148321 */ GIR_EraseRootFromParent_Done,
52652 /* 148322 */ // Label 3280: @148322
52653 /* 148322 */ GIM_Try, /*On fail goto*//*Label 3281*/ GIMT_Encode4(148387), // Rule ID 899 //
52654 /* 148327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52655 /* 148330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52656 /* 148334 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52657 /* 148338 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52658 /* 148342 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52659 /* 148346 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52660 /* 148353 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52661 /* 148357 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52662 /* 148359 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52663 /* 148366 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52664 /* 148366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
52665 /* 148369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52666 /* 148371 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52667 /* 148373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52668 /* 148377 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52669 /* 148380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52670 /* 148385 */ GIR_RootConstrainSelectedInstOperands,
52671 /* 148386 */ // GIR_Coverage, 899,
52672 /* 148386 */ GIR_EraseRootFromParent_Done,
52673 /* 148387 */ // Label 3281: @148387
52674 /* 148387 */ GIM_Try, /*On fail goto*//*Label 3282*/ GIMT_Encode4(148452), // Rule ID 887 //
52675 /* 148392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52676 /* 148395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52677 /* 148399 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52678 /* 148403 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52679 /* 148407 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52680 /* 148411 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52681 /* 148414 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52682 /* 148418 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52683 /* 148422 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52684 /* 148424 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52685 /* 148431 */ // (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)
52686 /* 148431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
52687 /* 148434 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52688 /* 148436 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52689 /* 148438 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52690 /* 148442 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52691 /* 148445 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52692 /* 148450 */ GIR_RootConstrainSelectedInstOperands,
52693 /* 148451 */ // GIR_Coverage, 887,
52694 /* 148451 */ GIR_EraseRootFromParent_Done,
52695 /* 148452 */ // Label 3282: @148452
52696 /* 148452 */ GIM_Try, /*On fail goto*//*Label 3283*/ GIMT_Encode4(148514), // Rule ID 2137 //
52697 /* 148457 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52698 /* 148460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52699 /* 148464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52700 /* 148468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52701 /* 148472 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52702 /* 148476 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52703 /* 148479 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52704 /* 148483 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52705 /* 148487 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52706 /* 148489 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52707 /* 148496 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52708 /* 148496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
52709 /* 148499 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52710 /* 148501 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52711 /* 148503 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52712 /* 148507 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52713 /* 148512 */ GIR_RootConstrainSelectedInstOperands,
52714 /* 148513 */ // GIR_Coverage, 2137,
52715 /* 148513 */ GIR_EraseRootFromParent_Done,
52716 /* 148514 */ // Label 3283: @148514
52717 /* 148514 */ GIM_Try, /*On fail goto*//*Label 3284*/ GIMT_Encode4(148576), // Rule ID 2145 //
52718 /* 148519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52719 /* 148522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52720 /* 148526 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52721 /* 148530 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52722 /* 148534 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52723 /* 148538 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52724 /* 148541 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52725 /* 148545 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52726 /* 148549 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52727 /* 148551 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52728 /* 148558 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADDSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52729 /* 148558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
52730 /* 148561 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52731 /* 148563 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52732 /* 148565 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52733 /* 148569 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52734 /* 148574 */ GIR_RootConstrainSelectedInstOperands,
52735 /* 148575 */ // GIR_Coverage, 2145,
52736 /* 148575 */ GIR_EraseRootFromParent_Done,
52737 /* 148576 */ // Label 3284: @148576
52738 /* 148576 */ GIM_Try, /*On fail goto*//*Label 3285*/ GIMT_Encode4(148638), // Rule ID 5897 //
52739 /* 148581 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52740 /* 148584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52741 /* 148588 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52742 /* 148592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52743 /* 148596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
52744 /* 148600 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
52745 /* 148603 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
52746 /* 148607 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52747 /* 148611 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52748 /* 148613 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52749 /* 148620 */ // (fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
52750 /* 148620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
52751 /* 148623 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52752 /* 148625 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52753 /* 148627 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52754 /* 148631 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52755 /* 148636 */ GIR_RootConstrainSelectedInstOperands,
52756 /* 148637 */ // GIR_Coverage, 5897,
52757 /* 148637 */ GIR_EraseRootFromParent_Done,
52758 /* 148638 */ // Label 3285: @148638
52759 /* 148638 */ GIM_Try, /*On fail goto*//*Label 3286*/ GIMT_Encode4(148675), // Rule ID 863 //
52760 /* 148643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
52761 /* 148646 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52762 /* 148650 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52763 /* 148654 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
52764 /* 148658 */ // (fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (ADD_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
52765 /* 148658 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32),
52766 /* 148663 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
52767 /* 148669 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
52768 /* 148673 */ GIR_RootConstrainSelectedInstOperands,
52769 /* 148674 */ // GIR_Coverage, 863,
52770 /* 148674 */ GIR_Done,
52771 /* 148675 */ // Label 3286: @148675
52772 /* 148675 */ GIM_Try, /*On fail goto*//*Label 3287*/ GIMT_Encode4(148706), // Rule ID 2135 //
52773 /* 148680 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52774 /* 148683 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52775 /* 148687 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52776 /* 148691 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52777 /* 148695 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
52778 /* 148695 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSrr),
52779 /* 148700 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52780 /* 148704 */ GIR_RootConstrainSelectedInstOperands,
52781 /* 148705 */ // GIR_Coverage, 2135,
52782 /* 148705 */ GIR_Done,
52783 /* 148706 */ // Label 3287: @148706
52784 /* 148706 */ GIM_Try, /*On fail goto*//*Label 3288*/ GIMT_Encode4(148737), // Rule ID 2143 //
52785 /* 148711 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52786 /* 148714 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52787 /* 148718 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52788 /* 148722 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
52789 /* 148726 */ // (fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (ADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
52790 /* 148726 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSSrr),
52791 /* 148731 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52792 /* 148735 */ GIR_RootConstrainSelectedInstOperands,
52793 /* 148736 */ // GIR_Coverage, 2143,
52794 /* 148736 */ GIR_Done,
52795 /* 148737 */ // Label 3288: @148737
52796 /* 148737 */ GIM_Try, /*On fail goto*//*Label 3289*/ GIMT_Encode4(148768), // Rule ID 5895 //
52797 /* 148742 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52798 /* 148745 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52799 /* 148749 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52800 /* 148753 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
52801 /* 148757 */ // (fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VADDSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
52802 /* 148757 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSZrr),
52803 /* 148762 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
52804 /* 148766 */ GIR_RootConstrainSelectedInstOperands,
52805 /* 148767 */ // GIR_Coverage, 5895,
52806 /* 148767 */ GIR_Done,
52807 /* 148768 */ // Label 3289: @148768
52808 /* 148768 */ GIM_Reject,
52809 /* 148769 */ // Label 3267: @148769
52810 /* 148769 */ GIM_Reject,
52811 /* 148770 */ // Label 3251: @148770
52812 /* 148770 */ GIM_Try, /*On fail goto*//*Label 3290*/ GIMT_Encode4(150310),
52813 /* 148775 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
52814 /* 148778 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
52815 /* 148781 */ GIM_Try, /*On fail goto*//*Label 3291*/ GIMT_Encode4(148863), // Rule ID 26079 //
52816 /* 148786 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52817 /* 148789 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52818 /* 148793 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52819 /* 148797 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52820 /* 148801 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
52821 /* 148805 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52822 /* 148809 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52823 /* 148813 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52824 /* 148816 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52825 /* 148820 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
52826 /* 148827 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52827 /* 148831 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52828 /* 148835 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52829 /* 148837 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52830 /* 148844 */ // (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)
52831 /* 148844 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
52832 /* 148847 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52833 /* 148849 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52834 /* 148851 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52835 /* 148855 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52836 /* 148861 */ GIR_RootConstrainSelectedInstOperands,
52837 /* 148862 */ // GIR_Coverage, 26079,
52838 /* 148862 */ GIR_EraseRootFromParent_Done,
52839 /* 148863 */ // Label 3291: @148863
52840 /* 148863 */ GIM_Try, /*On fail goto*//*Label 3292*/ GIMT_Encode4(148945), // Rule ID 26080 //
52841 /* 148868 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52842 /* 148871 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52843 /* 148875 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52844 /* 148879 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52845 /* 148883 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
52846 /* 148887 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52847 /* 148891 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52848 /* 148895 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52849 /* 148898 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52850 /* 148902 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
52851 /* 148909 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52852 /* 148913 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52853 /* 148917 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52854 /* 148919 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52855 /* 148926 */ // (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)
52856 /* 148926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
52857 /* 148929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52858 /* 148931 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52859 /* 148933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52860 /* 148937 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52861 /* 148943 */ GIR_RootConstrainSelectedInstOperands,
52862 /* 148944 */ // GIR_Coverage, 26080,
52863 /* 148944 */ GIR_EraseRootFromParent_Done,
52864 /* 148945 */ // Label 3292: @148945
52865 /* 148945 */ GIM_Try, /*On fail goto*//*Label 3293*/ GIMT_Encode4(149027), // Rule ID 26081 //
52866 /* 148950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52867 /* 148953 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52868 /* 148957 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52869 /* 148961 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52870 /* 148965 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
52871 /* 148969 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52872 /* 148973 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52873 /* 148977 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52874 /* 148980 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52875 /* 148984 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
52876 /* 148991 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52877 /* 148995 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52878 /* 148999 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52879 /* 149001 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52880 /* 149008 */ // (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)
52881 /* 149008 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
52882 /* 149011 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52883 /* 149013 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52884 /* 149015 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52885 /* 149019 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52886 /* 149025 */ GIR_RootConstrainSelectedInstOperands,
52887 /* 149026 */ // GIR_Coverage, 26081,
52888 /* 149026 */ GIR_EraseRootFromParent_Done,
52889 /* 149027 */ // Label 3293: @149027
52890 /* 149027 */ GIM_Try, /*On fail goto*//*Label 3294*/ GIMT_Encode4(149109), // Rule ID 22507 //
52891 /* 149032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
52892 /* 149035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52893 /* 149039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52894 /* 149043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52895 /* 149047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52896 /* 149051 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
52897 /* 149055 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52898 /* 149059 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52899 /* 149063 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52900 /* 149066 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52901 /* 149070 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
52902 /* 149077 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52903 /* 149081 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52904 /* 149083 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52905 /* 149090 */ // (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)
52906 /* 149090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
52907 /* 149093 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52908 /* 149095 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52909 /* 149097 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52910 /* 149101 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52911 /* 149107 */ GIR_RootConstrainSelectedInstOperands,
52912 /* 149108 */ // GIR_Coverage, 22507,
52913 /* 149108 */ GIR_EraseRootFromParent_Done,
52914 /* 149109 */ // Label 3294: @149109
52915 /* 149109 */ GIM_Try, /*On fail goto*//*Label 3295*/ GIMT_Encode4(149191), // Rule ID 22508 //
52916 /* 149114 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
52917 /* 149117 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52918 /* 149121 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
52919 /* 149125 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52920 /* 149129 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52921 /* 149133 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
52922 /* 149137 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52923 /* 149141 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52924 /* 149145 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52925 /* 149148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52926 /* 149152 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
52927 /* 149159 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52928 /* 149163 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52929 /* 149165 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52930 /* 149172 */ // (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)
52931 /* 149172 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
52932 /* 149175 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52933 /* 149177 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52934 /* 149179 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52935 /* 149183 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52936 /* 149189 */ GIR_RootConstrainSelectedInstOperands,
52937 /* 149190 */ // GIR_Coverage, 22508,
52938 /* 149190 */ GIR_EraseRootFromParent_Done,
52939 /* 149191 */ // Label 3295: @149191
52940 /* 149191 */ GIM_Try, /*On fail goto*//*Label 3296*/ GIMT_Encode4(149273), // Rule ID 22509 //
52941 /* 149196 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
52942 /* 149199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52943 /* 149203 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
52944 /* 149207 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
52945 /* 149211 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
52946 /* 149215 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
52947 /* 149219 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
52948 /* 149223 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
52949 /* 149227 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
52950 /* 149230 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
52951 /* 149234 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
52952 /* 149241 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
52953 /* 149245 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
52954 /* 149247 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52955 /* 149254 */ // (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)
52956 /* 149254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
52957 /* 149257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52958 /* 149259 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
52959 /* 149261 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52960 /* 149265 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
52961 /* 149271 */ GIR_RootConstrainSelectedInstOperands,
52962 /* 149272 */ // GIR_Coverage, 22509,
52963 /* 149272 */ GIR_EraseRootFromParent_Done,
52964 /* 149273 */ // Label 3296: @149273
52965 /* 149273 */ GIM_Try, /*On fail goto*//*Label 3297*/ GIMT_Encode4(149338), // Rule ID 23309 //
52966 /* 149278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
52967 /* 149281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52968 /* 149285 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52969 /* 149289 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52970 /* 149293 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
52971 /* 149300 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52972 /* 149304 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52973 /* 149308 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52974 /* 149310 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52975 /* 149317 */ // (fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52976 /* 149317 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
52977 /* 149320 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52978 /* 149322 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
52979 /* 149324 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
52980 /* 149328 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
52981 /* 149331 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
52982 /* 149336 */ GIR_RootConstrainSelectedInstOperands,
52983 /* 149337 */ // GIR_Coverage, 23309,
52984 /* 149337 */ GIR_EraseRootFromParent_Done,
52985 /* 149338 */ // Label 3297: @149338
52986 /* 149338 */ GIM_Try, /*On fail goto*//*Label 3298*/ GIMT_Encode4(149403), // Rule ID 23311 //
52987 /* 149343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
52988 /* 149346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52989 /* 149350 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
52990 /* 149354 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
52991 /* 149358 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
52992 /* 149365 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
52993 /* 149369 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
52994 /* 149373 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
52995 /* 149375 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
52996 /* 149382 */ // (fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
52997 /* 149382 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
52998 /* 149385 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
52999 /* 149387 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53000 /* 149389 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53001 /* 149393 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53002 /* 149396 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53003 /* 149401 */ GIR_RootConstrainSelectedInstOperands,
53004 /* 149402 */ // GIR_Coverage, 23311,
53005 /* 149402 */ GIR_EraseRootFromParent_Done,
53006 /* 149403 */ // Label 3298: @149403
53007 /* 149403 */ GIM_Try, /*On fail goto*//*Label 3299*/ GIMT_Encode4(149468), // Rule ID 23297 //
53008 /* 149408 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
53009 /* 149411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53010 /* 149415 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53011 /* 149419 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53012 /* 149423 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53013 /* 149426 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53014 /* 149430 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53015 /* 149434 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53016 /* 149438 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53017 /* 149440 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53018 /* 149447 */ // (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)
53019 /* 149447 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
53020 /* 149450 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53021 /* 149452 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53022 /* 149454 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53023 /* 149458 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53024 /* 149461 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53025 /* 149466 */ GIR_RootConstrainSelectedInstOperands,
53026 /* 149467 */ // GIR_Coverage, 23297,
53027 /* 149467 */ GIR_EraseRootFromParent_Done,
53028 /* 149468 */ // Label 3299: @149468
53029 /* 149468 */ GIM_Try, /*On fail goto*//*Label 3300*/ GIMT_Encode4(149540), // Rule ID 23299 //
53030 /* 149473 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
53031 /* 149476 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53032 /* 149480 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53033 /* 149484 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53034 /* 149488 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53035 /* 149491 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53036 /* 149495 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53037 /* 149502 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53038 /* 149506 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53039 /* 149510 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53040 /* 149512 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53041 /* 149519 */ // (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)
53042 /* 149519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
53043 /* 149522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53044 /* 149524 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53045 /* 149526 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53046 /* 149530 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53047 /* 149533 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53048 /* 149538 */ GIR_RootConstrainSelectedInstOperands,
53049 /* 149539 */ // GIR_Coverage, 23299,
53050 /* 149539 */ GIR_EraseRootFromParent_Done,
53051 /* 149540 */ // Label 3300: @149540
53052 /* 149540 */ GIM_Try, /*On fail goto*//*Label 3301*/ GIMT_Encode4(149602), // Rule ID 23442 //
53053 /* 149545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
53054 /* 149548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53055 /* 149552 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53056 /* 149556 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53057 /* 149560 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53058 /* 149563 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53059 /* 149567 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53060 /* 149571 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53061 /* 149575 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53062 /* 149577 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53063 /* 149584 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (VADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53064 /* 149584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
53065 /* 149587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53066 /* 149589 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53067 /* 149591 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53068 /* 149595 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53069 /* 149600 */ GIR_RootConstrainSelectedInstOperands,
53070 /* 149601 */ // GIR_Coverage, 23442,
53071 /* 149601 */ GIR_EraseRootFromParent_Done,
53072 /* 149602 */ // Label 3301: @149602
53073 /* 149602 */ GIM_Try, /*On fail goto*//*Label 3302*/ GIMT_Encode4(149664), // Rule ID 23446 //
53074 /* 149607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
53075 /* 149610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53076 /* 149614 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53077 /* 149618 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53078 /* 149622 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53079 /* 149625 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53080 /* 149629 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53081 /* 149633 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53082 /* 149637 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53083 /* 149639 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53084 /* 149646 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (ADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53085 /* 149646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
53086 /* 149649 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53087 /* 149651 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53088 /* 149653 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53089 /* 149657 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53090 /* 149662 */ GIR_RootConstrainSelectedInstOperands,
53091 /* 149663 */ // GIR_Coverage, 23446,
53092 /* 149663 */ GIR_EraseRootFromParent_Done,
53093 /* 149664 */ // Label 3302: @149664
53094 /* 149664 */ GIM_Try, /*On fail goto*//*Label 3303*/ GIMT_Encode4(149726), // Rule ID 24306 //
53095 /* 149669 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53096 /* 149672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53097 /* 149676 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53098 /* 149680 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53099 /* 149684 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53100 /* 149687 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53101 /* 149691 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53102 /* 149695 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53103 /* 149699 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53104 /* 149701 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53105 /* 149708 */ // (fadd:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1) => (VADDSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53106 /* 149708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
53107 /* 149711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53108 /* 149713 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53109 /* 149715 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53110 /* 149719 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53111 /* 149724 */ GIR_RootConstrainSelectedInstOperands,
53112 /* 149725 */ // GIR_Coverage, 24306,
53113 /* 149725 */ GIR_EraseRootFromParent_Done,
53114 /* 149726 */ // Label 3303: @149726
53115 /* 149726 */ GIM_Try, /*On fail goto*//*Label 3304*/ GIMT_Encode4(149791), // Rule ID 901 //
53116 /* 149731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
53117 /* 149734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53118 /* 149738 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53119 /* 149742 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53120 /* 149746 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53121 /* 149750 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53122 /* 149757 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53123 /* 149761 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53124 /* 149763 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53125 /* 149770 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53126 /* 149770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
53127 /* 149773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53128 /* 149775 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53129 /* 149777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53130 /* 149781 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53131 /* 149784 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53132 /* 149789 */ GIR_RootConstrainSelectedInstOperands,
53133 /* 149790 */ // GIR_Coverage, 901,
53134 /* 149790 */ GIR_EraseRootFromParent_Done,
53135 /* 149791 */ // Label 3304: @149791
53136 /* 149791 */ GIM_Try, /*On fail goto*//*Label 3305*/ GIMT_Encode4(149856), // Rule ID 903 //
53137 /* 149796 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
53138 /* 149799 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53139 /* 149803 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53140 /* 149807 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53141 /* 149811 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53142 /* 149815 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53143 /* 149822 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53144 /* 149826 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53145 /* 149828 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53146 /* 149835 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53147 /* 149835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
53148 /* 149838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53149 /* 149840 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53150 /* 149842 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53151 /* 149846 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53152 /* 149849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53153 /* 149854 */ GIR_RootConstrainSelectedInstOperands,
53154 /* 149855 */ // GIR_Coverage, 903,
53155 /* 149855 */ GIR_EraseRootFromParent_Done,
53156 /* 149856 */ // Label 3305: @149856
53157 /* 149856 */ GIM_Try, /*On fail goto*//*Label 3306*/ GIMT_Encode4(149921), // Rule ID 889 //
53158 /* 149861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
53159 /* 149864 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53160 /* 149868 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53161 /* 149872 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53162 /* 149876 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53163 /* 149880 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53164 /* 149883 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53165 /* 149887 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53166 /* 149891 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53167 /* 149893 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53168 /* 149900 */ // (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)
53169 /* 149900 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
53170 /* 149903 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53171 /* 149905 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53172 /* 149907 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53173 /* 149911 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53174 /* 149914 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53175 /* 149919 */ GIR_RootConstrainSelectedInstOperands,
53176 /* 149920 */ // GIR_Coverage, 889,
53177 /* 149920 */ GIR_EraseRootFromParent_Done,
53178 /* 149921 */ // Label 3306: @149921
53179 /* 149921 */ GIM_Try, /*On fail goto*//*Label 3307*/ GIMT_Encode4(149993), // Rule ID 891 //
53180 /* 149926 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
53181 /* 149929 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53182 /* 149933 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53183 /* 149937 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53184 /* 149941 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53185 /* 149945 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53186 /* 149948 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53187 /* 149952 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53188 /* 149959 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53189 /* 149963 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53190 /* 149965 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53191 /* 149972 */ // (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)
53192 /* 149972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
53193 /* 149975 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53194 /* 149977 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53195 /* 149979 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53196 /* 149983 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53197 /* 149986 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53198 /* 149991 */ GIR_RootConstrainSelectedInstOperands,
53199 /* 149992 */ // GIR_Coverage, 891,
53200 /* 149992 */ GIR_EraseRootFromParent_Done,
53201 /* 149993 */ // Label 3307: @149993
53202 /* 149993 */ GIM_Try, /*On fail goto*//*Label 3308*/ GIMT_Encode4(150055), // Rule ID 2141 //
53203 /* 149998 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
53204 /* 150001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53205 /* 150005 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53206 /* 150009 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53207 /* 150013 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53208 /* 150017 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53209 /* 150020 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53210 /* 150024 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53211 /* 150028 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53212 /* 150030 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53213 /* 150037 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53214 /* 150037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
53215 /* 150040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53216 /* 150042 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53217 /* 150044 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53218 /* 150048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53219 /* 150053 */ GIR_RootConstrainSelectedInstOperands,
53220 /* 150054 */ // GIR_Coverage, 2141,
53221 /* 150054 */ GIR_EraseRootFromParent_Done,
53222 /* 150055 */ // Label 3308: @150055
53223 /* 150055 */ GIM_Try, /*On fail goto*//*Label 3309*/ GIMT_Encode4(150117), // Rule ID 2149 //
53224 /* 150060 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
53225 /* 150063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53226 /* 150067 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53227 /* 150071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53228 /* 150075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53229 /* 150079 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53230 /* 150082 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53231 /* 150086 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53232 /* 150090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53233 /* 150092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53234 /* 150099 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (ADDSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53235 /* 150099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
53236 /* 150102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53237 /* 150104 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53238 /* 150106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53239 /* 150110 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53240 /* 150115 */ GIR_RootConstrainSelectedInstOperands,
53241 /* 150116 */ // GIR_Coverage, 2149,
53242 /* 150116 */ GIR_EraseRootFromParent_Done,
53243 /* 150117 */ // Label 3309: @150117
53244 /* 150117 */ GIM_Try, /*On fail goto*//*Label 3310*/ GIMT_Encode4(150179), // Rule ID 5916 //
53245 /* 150122 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53246 /* 150125 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53247 /* 150129 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53248 /* 150133 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53249 /* 150137 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53250 /* 150141 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53251 /* 150144 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53252 /* 150148 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53253 /* 150152 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53254 /* 150154 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53255 /* 150161 */ // (fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53256 /* 150161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
53257 /* 150164 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53258 /* 150166 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53259 /* 150168 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53260 /* 150172 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53261 /* 150177 */ GIR_RootConstrainSelectedInstOperands,
53262 /* 150178 */ // GIR_Coverage, 5916,
53263 /* 150178 */ GIR_EraseRootFromParent_Done,
53264 /* 150179 */ // Label 3310: @150179
53265 /* 150179 */ GIM_Try, /*On fail goto*//*Label 3311*/ GIMT_Encode4(150216), // Rule ID 865 //
53266 /* 150184 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
53267 /* 150187 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53268 /* 150191 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53269 /* 150195 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
53270 /* 150199 */ // (fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (ADD_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
53271 /* 150199 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64),
53272 /* 150204 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
53273 /* 150210 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
53274 /* 150214 */ GIR_RootConstrainSelectedInstOperands,
53275 /* 150215 */ // GIR_Coverage, 865,
53276 /* 150215 */ GIR_Done,
53277 /* 150216 */ // Label 3311: @150216
53278 /* 150216 */ GIM_Try, /*On fail goto*//*Label 3312*/ GIMT_Encode4(150247), // Rule ID 2139 //
53279 /* 150221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
53280 /* 150224 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53281 /* 150228 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53282 /* 150232 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53283 /* 150236 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
53284 /* 150236 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDrr),
53285 /* 150241 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53286 /* 150245 */ GIR_RootConstrainSelectedInstOperands,
53287 /* 150246 */ // GIR_Coverage, 2139,
53288 /* 150246 */ GIR_Done,
53289 /* 150247 */ // Label 3312: @150247
53290 /* 150247 */ GIM_Try, /*On fail goto*//*Label 3313*/ GIMT_Encode4(150278), // Rule ID 2147 //
53291 /* 150252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
53292 /* 150255 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53293 /* 150259 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53294 /* 150263 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
53295 /* 150267 */ // (fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (ADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
53296 /* 150267 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSDrr),
53297 /* 150272 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53298 /* 150276 */ GIR_RootConstrainSelectedInstOperands,
53299 /* 150277 */ // GIR_Coverage, 2147,
53300 /* 150277 */ GIR_Done,
53301 /* 150278 */ // Label 3313: @150278
53302 /* 150278 */ GIM_Try, /*On fail goto*//*Label 3314*/ GIMT_Encode4(150309), // Rule ID 5914 //
53303 /* 150283 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53304 /* 150286 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53305 /* 150290 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53306 /* 150294 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
53307 /* 150298 */ // (fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VADDSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
53308 /* 150298 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDZrr),
53309 /* 150303 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53310 /* 150307 */ GIR_RootConstrainSelectedInstOperands,
53311 /* 150308 */ // GIR_Coverage, 5914,
53312 /* 150308 */ GIR_Done,
53313 /* 150309 */ // Label 3314: @150309
53314 /* 150309 */ GIM_Reject,
53315 /* 150310 */ // Label 3290: @150310
53316 /* 150310 */ GIM_Reject,
53317 /* 150311 */ // Label 3252: @150311
53318 /* 150311 */ GIM_Try, /*On fail goto*//*Label 3315*/ GIMT_Encode4(150876),
53319 /* 150316 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
53320 /* 150319 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
53321 /* 150322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53322 /* 150326 */ GIM_Try, /*On fail goto*//*Label 3316*/ GIMT_Encode4(150387), // Rule ID 23313 //
53323 /* 150331 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53324 /* 150334 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53325 /* 150338 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53326 /* 150342 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53327 /* 150349 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53328 /* 150353 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53329 /* 150357 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53330 /* 150359 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53331 /* 150366 */ // (fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53332 /* 150366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
53333 /* 150369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53334 /* 150371 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53335 /* 150373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53336 /* 150377 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53337 /* 150380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53338 /* 150385 */ GIR_RootConstrainSelectedInstOperands,
53339 /* 150386 */ // GIR_Coverage, 23313,
53340 /* 150386 */ GIR_EraseRootFromParent_Done,
53341 /* 150387 */ // Label 3316: @150387
53342 /* 150387 */ GIM_Try, /*On fail goto*//*Label 3317*/ GIMT_Encode4(150448), // Rule ID 23315 //
53343 /* 150392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53344 /* 150395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53345 /* 150399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53346 /* 150403 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53347 /* 150410 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53348 /* 150414 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53349 /* 150418 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53350 /* 150420 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53351 /* 150427 */ // (fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53352 /* 150427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
53353 /* 150430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53354 /* 150432 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53355 /* 150434 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53356 /* 150438 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53357 /* 150441 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53358 /* 150446 */ GIR_RootConstrainSelectedInstOperands,
53359 /* 150447 */ // GIR_Coverage, 23315,
53360 /* 150447 */ GIR_EraseRootFromParent_Done,
53361 /* 150448 */ // Label 3317: @150448
53362 /* 150448 */ GIM_Try, /*On fail goto*//*Label 3318*/ GIMT_Encode4(150516), // Rule ID 23301 //
53363 /* 150453 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53364 /* 150456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53365 /* 150460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53366 /* 150464 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53367 /* 150467 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53368 /* 150471 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53369 /* 150478 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53370 /* 150482 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53371 /* 150486 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53372 /* 150488 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53373 /* 150495 */ // (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)
53374 /* 150495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
53375 /* 150498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53376 /* 150500 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53377 /* 150502 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53378 /* 150506 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53379 /* 150509 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53380 /* 150514 */ GIR_RootConstrainSelectedInstOperands,
53381 /* 150515 */ // GIR_Coverage, 23301,
53382 /* 150515 */ GIR_EraseRootFromParent_Done,
53383 /* 150516 */ // Label 3318: @150516
53384 /* 150516 */ GIM_Try, /*On fail goto*//*Label 3319*/ GIMT_Encode4(150584), // Rule ID 23303 //
53385 /* 150521 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53386 /* 150524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53387 /* 150528 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53388 /* 150532 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53389 /* 150535 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53390 /* 150539 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53391 /* 150546 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53392 /* 150550 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53393 /* 150554 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53394 /* 150556 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53395 /* 150563 */ // (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)
53396 /* 150563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
53397 /* 150566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53398 /* 150568 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53399 /* 150570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53400 /* 150574 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53401 /* 150577 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53402 /* 150582 */ GIR_RootConstrainSelectedInstOperands,
53403 /* 150583 */ // GIR_Coverage, 23303,
53404 /* 150583 */ GIR_EraseRootFromParent_Done,
53405 /* 150584 */ // Label 3319: @150584
53406 /* 150584 */ GIM_Try, /*On fail goto*//*Label 3320*/ GIMT_Encode4(150645), // Rule ID 905 //
53407 /* 150589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53408 /* 150592 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53409 /* 150596 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53410 /* 150600 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53411 /* 150604 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
53412 /* 150611 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53413 /* 150615 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53414 /* 150617 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53415 /* 150624 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53416 /* 150624 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
53417 /* 150627 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53418 /* 150629 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53419 /* 150631 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53420 /* 150635 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53421 /* 150638 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53422 /* 150643 */ GIR_RootConstrainSelectedInstOperands,
53423 /* 150644 */ // GIR_Coverage, 905,
53424 /* 150644 */ GIR_EraseRootFromParent_Done,
53425 /* 150645 */ // Label 3320: @150645
53426 /* 150645 */ GIM_Try, /*On fail goto*//*Label 3321*/ GIMT_Encode4(150706), // Rule ID 907 //
53427 /* 150650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53428 /* 150653 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53429 /* 150657 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53430 /* 150661 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
53431 /* 150665 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53432 /* 150672 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53433 /* 150676 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53434 /* 150678 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53435 /* 150685 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
53436 /* 150685 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
53437 /* 150688 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53438 /* 150690 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53439 /* 150692 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53440 /* 150696 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53441 /* 150699 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53442 /* 150704 */ GIR_RootConstrainSelectedInstOperands,
53443 /* 150705 */ // GIR_Coverage, 907,
53444 /* 150705 */ GIR_EraseRootFromParent_Done,
53445 /* 150706 */ // Label 3321: @150706
53446 /* 150706 */ GIM_Try, /*On fail goto*//*Label 3322*/ GIMT_Encode4(150774), // Rule ID 893 //
53447 /* 150711 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53448 /* 150714 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53449 /* 150718 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53450 /* 150722 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53451 /* 150726 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53452 /* 150729 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53453 /* 150733 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
53454 /* 150740 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53455 /* 150744 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53456 /* 150746 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53457 /* 150753 */ // (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)
53458 /* 150753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
53459 /* 150756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53460 /* 150758 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53461 /* 150760 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53462 /* 150764 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53463 /* 150767 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53464 /* 150772 */ GIR_RootConstrainSelectedInstOperands,
53465 /* 150773 */ // GIR_Coverage, 893,
53466 /* 150773 */ GIR_EraseRootFromParent_Done,
53467 /* 150774 */ // Label 3322: @150774
53468 /* 150774 */ GIM_Try, /*On fail goto*//*Label 3323*/ GIMT_Encode4(150842), // Rule ID 895 //
53469 /* 150779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53470 /* 150782 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53471 /* 150786 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53472 /* 150790 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53473 /* 150794 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53474 /* 150797 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53475 /* 150801 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
53476 /* 150808 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53477 /* 150812 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53478 /* 150814 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53479 /* 150821 */ // (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)
53480 /* 150821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
53481 /* 150824 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53482 /* 150826 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53483 /* 150828 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53484 /* 150832 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
53485 /* 150835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53486 /* 150840 */ GIR_RootConstrainSelectedInstOperands,
53487 /* 150841 */ // GIR_Coverage, 895,
53488 /* 150841 */ GIR_EraseRootFromParent_Done,
53489 /* 150842 */ // Label 3323: @150842
53490 /* 150842 */ GIM_Try, /*On fail goto*//*Label 3324*/ GIMT_Encode4(150875), // Rule ID 867 //
53491 /* 150847 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
53492 /* 150850 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53493 /* 150854 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
53494 /* 150858 */ // (fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (ADD_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
53495 /* 150858 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80),
53496 /* 150863 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
53497 /* 150869 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
53498 /* 150873 */ GIR_RootConstrainSelectedInstOperands,
53499 /* 150874 */ // GIR_Coverage, 867,
53500 /* 150874 */ GIR_Done,
53501 /* 150875 */ // Label 3324: @150875
53502 /* 150875 */ GIM_Reject,
53503 /* 150876 */ // Label 3315: @150876
53504 /* 150876 */ GIM_Reject,
53505 /* 150877 */ // Label 3253: @150877
53506 /* 150877 */ GIM_Try, /*On fail goto*//*Label 3325*/ GIMT_Encode4(151036),
53507 /* 150882 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
53508 /* 150885 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
53509 /* 150888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53510 /* 150892 */ GIM_Try, /*On fail goto*//*Label 3326*/ GIMT_Encode4(150950), // Rule ID 24378 //
53511 /* 150897 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
53512 /* 150900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53513 /* 150904 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53514 /* 150908 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53515 /* 150911 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53516 /* 150915 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53517 /* 150919 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53518 /* 150923 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53519 /* 150925 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53520 /* 150932 */ // (fadd:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1) => (VADDPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53521 /* 150932 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
53522 /* 150935 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53523 /* 150937 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53524 /* 150939 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53525 /* 150943 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53526 /* 150948 */ GIR_RootConstrainSelectedInstOperands,
53527 /* 150949 */ // GIR_Coverage, 24378,
53528 /* 150949 */ GIR_EraseRootFromParent_Done,
53529 /* 150950 */ // Label 3326: @150950
53530 /* 150950 */ GIM_Try, /*On fail goto*//*Label 3327*/ GIMT_Encode4(151008), // Rule ID 6325 //
53531 /* 150955 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
53532 /* 150958 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53533 /* 150962 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53534 /* 150966 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53535 /* 150970 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53536 /* 150973 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53537 /* 150977 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53538 /* 150981 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53539 /* 150983 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53540 /* 150990 */ // (fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53541 /* 150990 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
53542 /* 150993 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53543 /* 150995 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53544 /* 150997 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53545 /* 151001 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53546 /* 151006 */ GIR_RootConstrainSelectedInstOperands,
53547 /* 151007 */ // GIR_Coverage, 6325,
53548 /* 151007 */ GIR_EraseRootFromParent_Done,
53549 /* 151008 */ // Label 3327: @151008
53550 /* 151008 */ GIM_Try, /*On fail goto*//*Label 3328*/ GIMT_Encode4(151035), // Rule ID 6321 //
53551 /* 151013 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
53552 /* 151016 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53553 /* 151020 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53554 /* 151024 */ // (fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VADDPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
53555 /* 151024 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rr),
53556 /* 151029 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53557 /* 151033 */ GIR_RootConstrainSelectedInstOperands,
53558 /* 151034 */ // GIR_Coverage, 6321,
53559 /* 151034 */ GIR_Done,
53560 /* 151035 */ // Label 3328: @151035
53561 /* 151035 */ GIM_Reject,
53562 /* 151036 */ // Label 3325: @151036
53563 /* 151036 */ GIM_Reject,
53564 /* 151037 */ // Label 3254: @151037
53565 /* 151037 */ GIM_Try, /*On fail goto*//*Label 3329*/ GIMT_Encode4(151196),
53566 /* 151042 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
53567 /* 151045 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
53568 /* 151048 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53569 /* 151052 */ GIM_Try, /*On fail goto*//*Label 3330*/ GIMT_Encode4(151110), // Rule ID 24386 //
53570 /* 151057 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
53571 /* 151060 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53572 /* 151064 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53573 /* 151068 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53574 /* 151071 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53575 /* 151075 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53576 /* 151079 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53577 /* 151083 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53578 /* 151085 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53579 /* 151092 */ // (fadd:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1) => (VADDPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53580 /* 151092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
53581 /* 151095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53582 /* 151097 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53583 /* 151099 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53584 /* 151103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53585 /* 151108 */ GIR_RootConstrainSelectedInstOperands,
53586 /* 151109 */ // GIR_Coverage, 24386,
53587 /* 151109 */ GIR_EraseRootFromParent_Done,
53588 /* 151110 */ // Label 3330: @151110
53589 /* 151110 */ GIM_Try, /*On fail goto*//*Label 3331*/ GIMT_Encode4(151168), // Rule ID 6337 //
53590 /* 151115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
53591 /* 151118 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53592 /* 151122 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53593 /* 151126 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53594 /* 151130 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53595 /* 151133 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53596 /* 151137 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53597 /* 151141 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53598 /* 151143 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53599 /* 151150 */ // (fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53600 /* 151150 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
53601 /* 151153 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53602 /* 151155 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53603 /* 151157 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53604 /* 151161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53605 /* 151166 */ GIR_RootConstrainSelectedInstOperands,
53606 /* 151167 */ // GIR_Coverage, 6337,
53607 /* 151167 */ GIR_EraseRootFromParent_Done,
53608 /* 151168 */ // Label 3331: @151168
53609 /* 151168 */ GIM_Try, /*On fail goto*//*Label 3332*/ GIMT_Encode4(151195), // Rule ID 6333 //
53610 /* 151173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
53611 /* 151176 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53612 /* 151180 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53613 /* 151184 */ // (fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VADDPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
53614 /* 151184 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rr),
53615 /* 151189 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53616 /* 151193 */ GIR_RootConstrainSelectedInstOperands,
53617 /* 151194 */ // GIR_Coverage, 6333,
53618 /* 151194 */ GIR_Done,
53619 /* 151195 */ // Label 3332: @151195
53620 /* 151195 */ GIM_Reject,
53621 /* 151196 */ // Label 3329: @151196
53622 /* 151196 */ GIM_Reject,
53623 /* 151197 */ // Label 3255: @151197
53624 /* 151197 */ GIM_Try, /*On fail goto*//*Label 3333*/ GIMT_Encode4(151356),
53625 /* 151202 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
53626 /* 151205 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
53627 /* 151208 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53628 /* 151212 */ GIM_Try, /*On fail goto*//*Label 3334*/ GIMT_Encode4(151270), // Rule ID 24370 //
53629 /* 151217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
53630 /* 151220 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53631 /* 151224 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53632 /* 151228 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53633 /* 151231 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53634 /* 151235 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53635 /* 151239 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53636 /* 151243 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53637 /* 151245 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53638 /* 151252 */ // (fadd:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1) => (VADDPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53639 /* 151252 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
53640 /* 151255 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53641 /* 151257 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53642 /* 151259 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53643 /* 151263 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53644 /* 151268 */ GIR_RootConstrainSelectedInstOperands,
53645 /* 151269 */ // GIR_Coverage, 24370,
53646 /* 151269 */ GIR_EraseRootFromParent_Done,
53647 /* 151270 */ // Label 3334: @151270
53648 /* 151270 */ GIM_Try, /*On fail goto*//*Label 3335*/ GIMT_Encode4(151328), // Rule ID 6313 //
53649 /* 151275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
53650 /* 151278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53651 /* 151282 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53652 /* 151286 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53653 /* 151290 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53654 /* 151293 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53655 /* 151297 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53656 /* 151301 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53657 /* 151303 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53658 /* 151310 */ // (fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
53659 /* 151310 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
53660 /* 151313 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53661 /* 151315 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53662 /* 151317 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53663 /* 151321 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53664 /* 151326 */ GIR_RootConstrainSelectedInstOperands,
53665 /* 151327 */ // GIR_Coverage, 6313,
53666 /* 151327 */ GIR_EraseRootFromParent_Done,
53667 /* 151328 */ // Label 3335: @151328
53668 /* 151328 */ GIM_Try, /*On fail goto*//*Label 3336*/ GIMT_Encode4(151355), // Rule ID 6309 //
53669 /* 151333 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
53670 /* 151336 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53671 /* 151340 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53672 /* 151344 */ // (fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VADDPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
53673 /* 151344 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZrr),
53674 /* 151349 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53675 /* 151353 */ GIR_RootConstrainSelectedInstOperands,
53676 /* 151354 */ // GIR_Coverage, 6309,
53677 /* 151354 */ GIR_Done,
53678 /* 151355 */ // Label 3336: @151355
53679 /* 151355 */ GIM_Reject,
53680 /* 151356 */ // Label 3333: @151356
53681 /* 151356 */ GIM_Reject,
53682 /* 151357 */ // Label 3256: @151357
53683 /* 151357 */ GIM_Try, /*On fail goto*//*Label 3337*/ GIMT_Encode4(151710),
53684 /* 151362 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
53685 /* 151365 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
53686 /* 151368 */ GIM_Try, /*On fail goto*//*Label 3338*/ GIMT_Encode4(151430), // Rule ID 23428 //
53687 /* 151373 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53688 /* 151376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53689 /* 151380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53690 /* 151384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53691 /* 151388 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53692 /* 151391 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53693 /* 151395 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53694 /* 151399 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53695 /* 151403 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53696 /* 151405 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53697 /* 151412 */ // (fadd:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1) => (VADDPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53698 /* 151412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
53699 /* 151415 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53700 /* 151417 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53701 /* 151419 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53702 /* 151423 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53703 /* 151428 */ GIR_RootConstrainSelectedInstOperands,
53704 /* 151429 */ // GIR_Coverage, 23428,
53705 /* 151429 */ GIR_EraseRootFromParent_Done,
53706 /* 151430 */ // Label 3338: @151430
53707 /* 151430 */ GIM_Try, /*On fail goto*//*Label 3339*/ GIMT_Encode4(151492), // Rule ID 24338 //
53708 /* 151435 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53709 /* 151438 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53710 /* 151442 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53711 /* 151446 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53712 /* 151450 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53713 /* 151453 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53714 /* 151457 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53715 /* 151461 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53716 /* 151465 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53717 /* 151467 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53718 /* 151474 */ // (fadd:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1) => (VADDPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53719 /* 151474 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
53720 /* 151477 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53721 /* 151479 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53722 /* 151481 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53723 /* 151485 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53724 /* 151490 */ GIR_RootConstrainSelectedInstOperands,
53725 /* 151491 */ // GIR_Coverage, 24338,
53726 /* 151491 */ GIR_EraseRootFromParent_Done,
53727 /* 151492 */ // Label 3339: @151492
53728 /* 151492 */ GIM_Try, /*On fail goto*//*Label 3340*/ GIMT_Encode4(151554), // Rule ID 2113 //
53729 /* 151497 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53730 /* 151500 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53731 /* 151504 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53732 /* 151508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53733 /* 151512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53734 /* 151516 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53735 /* 151519 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53736 /* 151523 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53737 /* 151527 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53738 /* 151529 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53739 /* 151536 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53740 /* 151536 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
53741 /* 151539 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53742 /* 151541 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53743 /* 151543 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53744 /* 151547 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53745 /* 151552 */ GIR_RootConstrainSelectedInstOperands,
53746 /* 151553 */ // GIR_Coverage, 2113,
53747 /* 151553 */ GIR_EraseRootFromParent_Done,
53748 /* 151554 */ // Label 3340: @151554
53749 /* 151554 */ GIM_Try, /*On fail goto*//*Label 3341*/ GIMT_Encode4(151616), // Rule ID 6265 //
53750 /* 151559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53751 /* 151562 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53752 /* 151566 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53753 /* 151570 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53754 /* 151574 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53755 /* 151578 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53756 /* 151581 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53757 /* 151585 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53758 /* 151589 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53759 /* 151591 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53760 /* 151598 */ // (fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53761 /* 151598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
53762 /* 151601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53763 /* 151603 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53764 /* 151605 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53765 /* 151609 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53766 /* 151614 */ GIR_RootConstrainSelectedInstOperands,
53767 /* 151615 */ // GIR_Coverage, 6265,
53768 /* 151615 */ GIR_EraseRootFromParent_Done,
53769 /* 151616 */ // Label 3341: @151616
53770 /* 151616 */ GIM_Try, /*On fail goto*//*Label 3342*/ GIMT_Encode4(151647), // Rule ID 2111 //
53771 /* 151621 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53772 /* 151624 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53773 /* 151628 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53774 /* 151632 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53775 /* 151636 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
53776 /* 151636 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSrr),
53777 /* 151641 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53778 /* 151645 */ GIR_RootConstrainSelectedInstOperands,
53779 /* 151646 */ // GIR_Coverage, 2111,
53780 /* 151646 */ GIR_Done,
53781 /* 151647 */ // Label 3342: @151647
53782 /* 151647 */ GIM_Try, /*On fail goto*//*Label 3343*/ GIMT_Encode4(151678), // Rule ID 2127 //
53783 /* 151652 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
53784 /* 151655 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53785 /* 151659 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53786 /* 151663 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53787 /* 151667 */ // (fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (ADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
53788 /* 151667 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPSrr),
53789 /* 151672 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53790 /* 151676 */ GIR_RootConstrainSelectedInstOperands,
53791 /* 151677 */ // GIR_Coverage, 2127,
53792 /* 151677 */ GIR_Done,
53793 /* 151678 */ // Label 3343: @151678
53794 /* 151678 */ GIM_Try, /*On fail goto*//*Label 3344*/ GIMT_Encode4(151709), // Rule ID 6261 //
53795 /* 151683 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53796 /* 151686 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53797 /* 151690 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53798 /* 151694 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
53799 /* 151698 */ // (fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VADDPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
53800 /* 151698 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rr),
53801 /* 151703 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53802 /* 151707 */ GIR_RootConstrainSelectedInstOperands,
53803 /* 151708 */ // GIR_Coverage, 6261,
53804 /* 151708 */ GIR_Done,
53805 /* 151709 */ // Label 3344: @151709
53806 /* 151709 */ GIM_Reject,
53807 /* 151710 */ // Label 3337: @151710
53808 /* 151710 */ GIM_Reject,
53809 /* 151711 */ // Label 3257: @151711
53810 /* 151711 */ GIM_Try, /*On fail goto*//*Label 3345*/ GIMT_Encode4(152033),
53811 /* 151716 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
53812 /* 151719 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
53813 /* 151722 */ GIM_Try, /*On fail goto*//*Label 3346*/ GIMT_Encode4(151784), // Rule ID 23432 //
53814 /* 151727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53815 /* 151730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53816 /* 151734 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53817 /* 151738 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53818 /* 151742 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53819 /* 151745 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53820 /* 151749 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53821 /* 151753 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53822 /* 151757 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53823 /* 151759 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53824 /* 151766 */ // (fadd:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1) => (VADDPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53825 /* 151766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
53826 /* 151769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53827 /* 151771 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53828 /* 151773 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53829 /* 151777 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53830 /* 151782 */ GIR_RootConstrainSelectedInstOperands,
53831 /* 151783 */ // GIR_Coverage, 23432,
53832 /* 151783 */ GIR_EraseRootFromParent_Done,
53833 /* 151784 */ // Label 3346: @151784
53834 /* 151784 */ GIM_Try, /*On fail goto*//*Label 3347*/ GIMT_Encode4(151846), // Rule ID 24346 //
53835 /* 151789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53836 /* 151792 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53837 /* 151796 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53838 /* 151800 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53839 /* 151804 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53840 /* 151807 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53841 /* 151811 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53842 /* 151815 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53843 /* 151819 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53844 /* 151821 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53845 /* 151828 */ // (fadd:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1) => (VADDPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53846 /* 151828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
53847 /* 151831 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53848 /* 151833 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53849 /* 151835 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53850 /* 151839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53851 /* 151844 */ GIR_RootConstrainSelectedInstOperands,
53852 /* 151845 */ // GIR_Coverage, 24346,
53853 /* 151845 */ GIR_EraseRootFromParent_Done,
53854 /* 151846 */ // Label 3347: @151846
53855 /* 151846 */ GIM_Try, /*On fail goto*//*Label 3348*/ GIMT_Encode4(151908), // Rule ID 2121 //
53856 /* 151851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53857 /* 151854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53858 /* 151858 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53859 /* 151862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53860 /* 151866 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53861 /* 151870 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53862 /* 151873 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53863 /* 151877 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53864 /* 151881 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53865 /* 151883 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53866 /* 151890 */ // (fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53867 /* 151890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
53868 /* 151893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53869 /* 151895 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53870 /* 151897 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53871 /* 151901 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53872 /* 151906 */ GIR_RootConstrainSelectedInstOperands,
53873 /* 151907 */ // GIR_Coverage, 2121,
53874 /* 151907 */ GIR_EraseRootFromParent_Done,
53875 /* 151908 */ // Label 3348: @151908
53876 /* 151908 */ GIM_Try, /*On fail goto*//*Label 3349*/ GIMT_Encode4(151970), // Rule ID 6277 //
53877 /* 151913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53878 /* 151916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53879 /* 151920 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53880 /* 151924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53881 /* 151928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53882 /* 151932 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53883 /* 151935 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53884 /* 151939 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53885 /* 151943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53886 /* 151945 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53887 /* 151952 */ // (fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53888 /* 151952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
53889 /* 151955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53890 /* 151957 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53891 /* 151959 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53892 /* 151963 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53893 /* 151968 */ GIR_RootConstrainSelectedInstOperands,
53894 /* 151969 */ // GIR_Coverage, 6277,
53895 /* 151969 */ GIR_EraseRootFromParent_Done,
53896 /* 151970 */ // Label 3349: @151970
53897 /* 151970 */ GIM_Try, /*On fail goto*//*Label 3350*/ GIMT_Encode4(152001), // Rule ID 2119 //
53898 /* 151975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53899 /* 151978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53900 /* 151982 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53901 /* 151986 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
53902 /* 151990 */ // (fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VADDPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
53903 /* 151990 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSYrr),
53904 /* 151995 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53905 /* 151999 */ GIR_RootConstrainSelectedInstOperands,
53906 /* 152000 */ // GIR_Coverage, 2119,
53907 /* 152000 */ GIR_Done,
53908 /* 152001 */ // Label 3350: @152001
53909 /* 152001 */ GIM_Try, /*On fail goto*//*Label 3351*/ GIMT_Encode4(152032), // Rule ID 6273 //
53910 /* 152006 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
53911 /* 152009 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53912 /* 152013 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53913 /* 152017 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
53914 /* 152021 */ // (fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VADDPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
53915 /* 152021 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rr),
53916 /* 152026 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53917 /* 152030 */ GIR_RootConstrainSelectedInstOperands,
53918 /* 152031 */ // GIR_Coverage, 6273,
53919 /* 152031 */ GIR_Done,
53920 /* 152032 */ // Label 3351: @152032
53921 /* 152032 */ GIM_Reject,
53922 /* 152033 */ // Label 3345: @152033
53923 /* 152033 */ GIM_Reject,
53924 /* 152034 */ // Label 3258: @152034
53925 /* 152034 */ GIM_Try, /*On fail goto*//*Label 3352*/ GIMT_Encode4(152193),
53926 /* 152039 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
53927 /* 152042 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
53928 /* 152045 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53929 /* 152049 */ GIM_Try, /*On fail goto*//*Label 3353*/ GIMT_Encode4(152107), // Rule ID 24322 //
53930 /* 152054 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53931 /* 152057 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53932 /* 152061 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53933 /* 152065 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53934 /* 152068 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53935 /* 152072 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53936 /* 152076 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53937 /* 152080 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53938 /* 152082 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53939 /* 152089 */ // (fadd:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1) => (VADDPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53940 /* 152089 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
53941 /* 152092 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53942 /* 152094 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
53943 /* 152096 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53944 /* 152100 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53945 /* 152105 */ GIR_RootConstrainSelectedInstOperands,
53946 /* 152106 */ // GIR_Coverage, 24322,
53947 /* 152106 */ GIR_EraseRootFromParent_Done,
53948 /* 152107 */ // Label 3353: @152107
53949 /* 152107 */ GIM_Try, /*On fail goto*//*Label 3354*/ GIMT_Encode4(152165), // Rule ID 6241 //
53950 /* 152112 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53951 /* 152115 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53952 /* 152119 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
53953 /* 152123 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53954 /* 152127 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53955 /* 152130 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53956 /* 152134 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53957 /* 152138 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53958 /* 152140 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53959 /* 152147 */ // (fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
53960 /* 152147 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
53961 /* 152150 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
53962 /* 152152 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
53963 /* 152154 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
53964 /* 152158 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
53965 /* 152163 */ GIR_RootConstrainSelectedInstOperands,
53966 /* 152164 */ // GIR_Coverage, 6241,
53967 /* 152164 */ GIR_EraseRootFromParent_Done,
53968 /* 152165 */ // Label 3354: @152165
53969 /* 152165 */ GIM_Try, /*On fail goto*//*Label 3355*/ GIMT_Encode4(152192), // Rule ID 6237 //
53970 /* 152170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
53971 /* 152173 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53972 /* 152177 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
53973 /* 152181 */ // (fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VADDPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
53974 /* 152181 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZrr),
53975 /* 152186 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
53976 /* 152190 */ GIR_RootConstrainSelectedInstOperands,
53977 /* 152191 */ // GIR_Coverage, 6237,
53978 /* 152191 */ GIR_Done,
53979 /* 152192 */ // Label 3355: @152192
53980 /* 152192 */ GIM_Reject,
53981 /* 152193 */ // Label 3352: @152193
53982 /* 152193 */ GIM_Reject,
53983 /* 152194 */ // Label 3259: @152194
53984 /* 152194 */ GIM_Try, /*On fail goto*//*Label 3356*/ GIMT_Encode4(152547),
53985 /* 152199 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
53986 /* 152202 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
53987 /* 152205 */ GIM_Try, /*On fail goto*//*Label 3357*/ GIMT_Encode4(152267), // Rule ID 23430 //
53988 /* 152210 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
53989 /* 152213 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53990 /* 152217 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
53991 /* 152221 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
53992 /* 152225 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
53993 /* 152228 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
53994 /* 152232 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
53995 /* 152236 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
53996 /* 152240 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
53997 /* 152242 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
53998 /* 152249 */ // (fadd:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1) => (VADDPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
53999 /* 152249 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
54000 /* 152252 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54001 /* 152254 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54002 /* 152256 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54003 /* 152260 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54004 /* 152265 */ GIR_RootConstrainSelectedInstOperands,
54005 /* 152266 */ // GIR_Coverage, 23430,
54006 /* 152266 */ GIR_EraseRootFromParent_Done,
54007 /* 152267 */ // Label 3357: @152267
54008 /* 152267 */ GIM_Try, /*On fail goto*//*Label 3358*/ GIMT_Encode4(152329), // Rule ID 24354 //
54009 /* 152272 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54010 /* 152275 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54011 /* 152279 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54012 /* 152283 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54013 /* 152287 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54014 /* 152290 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54015 /* 152294 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54016 /* 152298 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54017 /* 152302 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54018 /* 152304 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54019 /* 152311 */ // (fadd:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1) => (VADDPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54020 /* 152311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
54021 /* 152314 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54022 /* 152316 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54023 /* 152318 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54024 /* 152322 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54025 /* 152327 */ GIR_RootConstrainSelectedInstOperands,
54026 /* 152328 */ // GIR_Coverage, 24354,
54027 /* 152328 */ GIR_EraseRootFromParent_Done,
54028 /* 152329 */ // Label 3358: @152329
54029 /* 152329 */ GIM_Try, /*On fail goto*//*Label 3359*/ GIMT_Encode4(152391), // Rule ID 2117 //
54030 /* 152334 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54031 /* 152337 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54032 /* 152341 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54033 /* 152345 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54034 /* 152349 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54035 /* 152353 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54036 /* 152356 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54037 /* 152360 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54038 /* 152364 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54039 /* 152366 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54040 /* 152373 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54041 /* 152373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
54042 /* 152376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54043 /* 152378 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54044 /* 152380 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54045 /* 152384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54046 /* 152389 */ GIR_RootConstrainSelectedInstOperands,
54047 /* 152390 */ // GIR_Coverage, 2117,
54048 /* 152390 */ GIR_EraseRootFromParent_Done,
54049 /* 152391 */ // Label 3359: @152391
54050 /* 152391 */ GIM_Try, /*On fail goto*//*Label 3360*/ GIMT_Encode4(152453), // Rule ID 6289 //
54051 /* 152396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54052 /* 152399 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54053 /* 152403 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54054 /* 152407 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54055 /* 152411 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54056 /* 152415 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54057 /* 152418 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54058 /* 152422 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54059 /* 152426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54060 /* 152428 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54061 /* 152435 */ // (fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54062 /* 152435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
54063 /* 152438 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54064 /* 152440 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54065 /* 152442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54066 /* 152446 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54067 /* 152451 */ GIR_RootConstrainSelectedInstOperands,
54068 /* 152452 */ // GIR_Coverage, 6289,
54069 /* 152452 */ GIR_EraseRootFromParent_Done,
54070 /* 152453 */ // Label 3360: @152453
54071 /* 152453 */ GIM_Try, /*On fail goto*//*Label 3361*/ GIMT_Encode4(152484), // Rule ID 2115 //
54072 /* 152458 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54073 /* 152461 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54074 /* 152465 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54075 /* 152469 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54076 /* 152473 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
54077 /* 152473 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDrr),
54078 /* 152478 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54079 /* 152482 */ GIR_RootConstrainSelectedInstOperands,
54080 /* 152483 */ // GIR_Coverage, 2115,
54081 /* 152483 */ GIR_Done,
54082 /* 152484 */ // Label 3361: @152484
54083 /* 152484 */ GIM_Try, /*On fail goto*//*Label 3362*/ GIMT_Encode4(152515), // Rule ID 2131 //
54084 /* 152489 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
54085 /* 152492 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54086 /* 152496 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54087 /* 152500 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
54088 /* 152504 */ // (fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (ADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
54089 /* 152504 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPDrr),
54090 /* 152509 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54091 /* 152513 */ GIR_RootConstrainSelectedInstOperands,
54092 /* 152514 */ // GIR_Coverage, 2131,
54093 /* 152514 */ GIR_Done,
54094 /* 152515 */ // Label 3362: @152515
54095 /* 152515 */ GIM_Try, /*On fail goto*//*Label 3363*/ GIMT_Encode4(152546), // Rule ID 6285 //
54096 /* 152520 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54097 /* 152523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54098 /* 152527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54099 /* 152531 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
54100 /* 152535 */ // (fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VADDPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
54101 /* 152535 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rr),
54102 /* 152540 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54103 /* 152544 */ GIR_RootConstrainSelectedInstOperands,
54104 /* 152545 */ // GIR_Coverage, 6285,
54105 /* 152545 */ GIR_Done,
54106 /* 152546 */ // Label 3363: @152546
54107 /* 152546 */ GIM_Reject,
54108 /* 152547 */ // Label 3356: @152547
54109 /* 152547 */ GIM_Reject,
54110 /* 152548 */ // Label 3260: @152548
54111 /* 152548 */ GIM_Try, /*On fail goto*//*Label 3364*/ GIMT_Encode4(152870),
54112 /* 152553 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
54113 /* 152556 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
54114 /* 152559 */ GIM_Try, /*On fail goto*//*Label 3365*/ GIMT_Encode4(152621), // Rule ID 23434 //
54115 /* 152564 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54116 /* 152567 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54117 /* 152571 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54118 /* 152575 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54119 /* 152579 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54120 /* 152582 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54121 /* 152586 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54122 /* 152590 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54123 /* 152594 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54124 /* 152596 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54125 /* 152603 */ // (fadd:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1) => (VADDPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54126 /* 152603 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
54127 /* 152606 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54128 /* 152608 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54129 /* 152610 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54130 /* 152614 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54131 /* 152619 */ GIR_RootConstrainSelectedInstOperands,
54132 /* 152620 */ // GIR_Coverage, 23434,
54133 /* 152620 */ GIR_EraseRootFromParent_Done,
54134 /* 152621 */ // Label 3365: @152621
54135 /* 152621 */ GIM_Try, /*On fail goto*//*Label 3366*/ GIMT_Encode4(152683), // Rule ID 24362 //
54136 /* 152626 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54137 /* 152629 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54138 /* 152633 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54139 /* 152637 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54140 /* 152641 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54141 /* 152644 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54142 /* 152648 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54143 /* 152652 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54144 /* 152656 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54145 /* 152658 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54146 /* 152665 */ // (fadd:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1) => (VADDPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54147 /* 152665 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
54148 /* 152668 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54149 /* 152670 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54150 /* 152672 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54151 /* 152676 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54152 /* 152681 */ GIR_RootConstrainSelectedInstOperands,
54153 /* 152682 */ // GIR_Coverage, 24362,
54154 /* 152682 */ GIR_EraseRootFromParent_Done,
54155 /* 152683 */ // Label 3366: @152683
54156 /* 152683 */ GIM_Try, /*On fail goto*//*Label 3367*/ GIMT_Encode4(152745), // Rule ID 2125 //
54157 /* 152688 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54158 /* 152691 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54159 /* 152695 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54160 /* 152699 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54161 /* 152703 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54162 /* 152707 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54163 /* 152710 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54164 /* 152714 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54165 /* 152718 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54166 /* 152720 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54167 /* 152727 */ // (fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54168 /* 152727 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
54169 /* 152730 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54170 /* 152732 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54171 /* 152734 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54172 /* 152738 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54173 /* 152743 */ GIR_RootConstrainSelectedInstOperands,
54174 /* 152744 */ // GIR_Coverage, 2125,
54175 /* 152744 */ GIR_EraseRootFromParent_Done,
54176 /* 152745 */ // Label 3367: @152745
54177 /* 152745 */ GIM_Try, /*On fail goto*//*Label 3368*/ GIMT_Encode4(152807), // Rule ID 6301 //
54178 /* 152750 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54179 /* 152753 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54180 /* 152757 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54181 /* 152761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54182 /* 152765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54183 /* 152769 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54184 /* 152772 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54185 /* 152776 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54186 /* 152780 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54187 /* 152782 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54188 /* 152789 */ // (fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54189 /* 152789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
54190 /* 152792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54191 /* 152794 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54192 /* 152796 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54193 /* 152800 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54194 /* 152805 */ GIR_RootConstrainSelectedInstOperands,
54195 /* 152806 */ // GIR_Coverage, 6301,
54196 /* 152806 */ GIR_EraseRootFromParent_Done,
54197 /* 152807 */ // Label 3368: @152807
54198 /* 152807 */ GIM_Try, /*On fail goto*//*Label 3369*/ GIMT_Encode4(152838), // Rule ID 2123 //
54199 /* 152812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
54200 /* 152815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54201 /* 152819 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54202 /* 152823 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
54203 /* 152827 */ // (fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VADDPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
54204 /* 152827 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDYrr),
54205 /* 152832 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54206 /* 152836 */ GIR_RootConstrainSelectedInstOperands,
54207 /* 152837 */ // GIR_Coverage, 2123,
54208 /* 152837 */ GIR_Done,
54209 /* 152838 */ // Label 3369: @152838
54210 /* 152838 */ GIM_Try, /*On fail goto*//*Label 3370*/ GIMT_Encode4(152869), // Rule ID 6297 //
54211 /* 152843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
54212 /* 152846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54213 /* 152850 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54214 /* 152854 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
54215 /* 152858 */ // (fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VADDPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
54216 /* 152858 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rr),
54217 /* 152863 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54218 /* 152867 */ GIR_RootConstrainSelectedInstOperands,
54219 /* 152868 */ // GIR_Coverage, 6297,
54220 /* 152868 */ GIR_Done,
54221 /* 152869 */ // Label 3370: @152869
54222 /* 152869 */ GIM_Reject,
54223 /* 152870 */ // Label 3364: @152870
54224 /* 152870 */ GIM_Reject,
54225 /* 152871 */ // Label 3261: @152871
54226 /* 152871 */ GIM_Try, /*On fail goto*//*Label 3371*/ GIMT_Encode4(153030),
54227 /* 152876 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
54228 /* 152879 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
54229 /* 152882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54230 /* 152886 */ GIM_Try, /*On fail goto*//*Label 3372*/ GIMT_Encode4(152944), // Rule ID 24330 //
54231 /* 152891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54232 /* 152894 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54233 /* 152898 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54234 /* 152902 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54235 /* 152905 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54236 /* 152909 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54237 /* 152913 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54238 /* 152917 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54239 /* 152919 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54240 /* 152926 */ // (fadd:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1) => (VADDPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54241 /* 152926 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
54242 /* 152929 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54243 /* 152931 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54244 /* 152933 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54245 /* 152937 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54246 /* 152942 */ GIR_RootConstrainSelectedInstOperands,
54247 /* 152943 */ // GIR_Coverage, 24330,
54248 /* 152943 */ GIR_EraseRootFromParent_Done,
54249 /* 152944 */ // Label 3372: @152944
54250 /* 152944 */ GIM_Try, /*On fail goto*//*Label 3373*/ GIMT_Encode4(153002), // Rule ID 6253 //
54251 /* 152949 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54252 /* 152952 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54253 /* 152956 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54254 /* 152960 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54255 /* 152964 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54256 /* 152967 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54257 /* 152971 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54258 /* 152975 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54259 /* 152977 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54260 /* 152984 */ // (fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VADDPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54261 /* 152984 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
54262 /* 152987 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54263 /* 152989 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54264 /* 152991 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54265 /* 152995 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54266 /* 153000 */ GIR_RootConstrainSelectedInstOperands,
54267 /* 153001 */ // GIR_Coverage, 6253,
54268 /* 153001 */ GIR_EraseRootFromParent_Done,
54269 /* 153002 */ // Label 3373: @153002
54270 /* 153002 */ GIM_Try, /*On fail goto*//*Label 3374*/ GIMT_Encode4(153029), // Rule ID 6249 //
54271 /* 153007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54272 /* 153010 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54273 /* 153014 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
54274 /* 153018 */ // (fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VADDPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
54275 /* 153018 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZrr),
54276 /* 153023 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54277 /* 153027 */ GIR_RootConstrainSelectedInstOperands,
54278 /* 153028 */ // GIR_Coverage, 6249,
54279 /* 153028 */ GIR_Done,
54280 /* 153029 */ // Label 3374: @153029
54281 /* 153029 */ GIM_Reject,
54282 /* 153030 */ // Label 3371: @153030
54283 /* 153030 */ GIM_Reject,
54284 /* 153031 */ // Label 3262: @153031
54285 /* 153031 */ GIM_Reject,
54286 /* 153032 */ // Label 43: @153032
54287 /* 153032 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 3388*/ GIMT_Encode4(157221),
54288 /* 153043 */ /*GILLT_s16*//*Label 3375*/ GIMT_Encode4(153135),
54289 /* 153047 */ /*GILLT_s32*//*Label 3376*/ GIMT_Encode4(153233),
54290 /* 153051 */ /*GILLT_s64*//*Label 3377*/ GIMT_Encode4(154198),
54291 /* 153055 */ /*GILLT_s80*//*Label 3378*/ GIMT_Encode4(155307), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
54292 /* 153099 */ /*GILLT_v8s16*//*Label 3379*/ GIMT_Encode4(155873),
54293 /* 153103 */ /*GILLT_v16s16*//*Label 3380*/ GIMT_Encode4(155971),
54294 /* 153107 */ /*GILLT_v32s16*//*Label 3381*/ GIMT_Encode4(156069),
54295 /* 153111 */ /*GILLT_v4s32*//*Label 3382*/ GIMT_Encode4(156167),
54296 /* 153115 */ /*GILLT_v8s32*//*Label 3383*/ GIMT_Encode4(156397),
54297 /* 153119 */ /*GILLT_v16s32*//*Label 3384*/ GIMT_Encode4(156596),
54298 /* 153123 */ /*GILLT_v2s64*//*Label 3385*/ GIMT_Encode4(156694),
54299 /* 153127 */ /*GILLT_v4s64*//*Label 3386*/ GIMT_Encode4(156924),
54300 /* 153131 */ /*GILLT_v8s64*//*Label 3387*/ GIMT_Encode4(157123),
54301 /* 153135 */ // Label 3375: @153135
54302 /* 153135 */ GIM_Try, /*On fail goto*//*Label 3389*/ GIMT_Encode4(153232),
54303 /* 153140 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
54304 /* 153143 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
54305 /* 153146 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
54306 /* 153150 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
54307 /* 153154 */ GIM_Try, /*On fail goto*//*Label 3390*/ GIMT_Encode4(153208), // Rule ID 6049 //
54308 /* 153159 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
54309 /* 153162 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54310 /* 153166 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54311 /* 153170 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54312 /* 153173 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54313 /* 153177 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54314 /* 153181 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54315 /* 153183 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54316 /* 153190 */ // (fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
54317 /* 153190 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrm),
54318 /* 153193 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54319 /* 153195 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54320 /* 153197 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54321 /* 153201 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54322 /* 153206 */ GIR_RootConstrainSelectedInstOperands,
54323 /* 153207 */ // GIR_Coverage, 6049,
54324 /* 153207 */ GIR_EraseRootFromParent_Done,
54325 /* 153208 */ // Label 3390: @153208
54326 /* 153208 */ GIM_Try, /*On fail goto*//*Label 3391*/ GIMT_Encode4(153231), // Rule ID 6047 //
54327 /* 153213 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
54328 /* 153216 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
54329 /* 153220 */ // (fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VSUBSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
54330 /* 153220 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrr),
54331 /* 153225 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54332 /* 153229 */ GIR_RootConstrainSelectedInstOperands,
54333 /* 153230 */ // GIR_Coverage, 6047,
54334 /* 153230 */ GIR_Done,
54335 /* 153231 */ // Label 3391: @153231
54336 /* 153231 */ GIM_Reject,
54337 /* 153232 */ // Label 3389: @153232
54338 /* 153232 */ GIM_Reject,
54339 /* 153233 */ // Label 3376: @153233
54340 /* 153233 */ GIM_Try, /*On fail goto*//*Label 3392*/ GIMT_Encode4(154197),
54341 /* 153238 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
54342 /* 153241 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
54343 /* 153244 */ GIM_Try, /*On fail goto*//*Label 3393*/ GIMT_Encode4(153326), // Rule ID 22510 //
54344 /* 153249 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
54345 /* 153252 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54346 /* 153256 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54347 /* 153260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54348 /* 153264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54349 /* 153268 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54350 /* 153272 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54351 /* 153276 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54352 /* 153280 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54353 /* 153283 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54354 /* 153287 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54355 /* 153294 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54356 /* 153298 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54357 /* 153300 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54358 /* 153307 */ // (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)
54359 /* 153307 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
54360 /* 153310 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54361 /* 153312 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54362 /* 153314 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54363 /* 153318 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54364 /* 153324 */ GIR_RootConstrainSelectedInstOperands,
54365 /* 153325 */ // GIR_Coverage, 22510,
54366 /* 153325 */ GIR_EraseRootFromParent_Done,
54367 /* 153326 */ // Label 3393: @153326
54368 /* 153326 */ GIM_Try, /*On fail goto*//*Label 3394*/ GIMT_Encode4(153408), // Rule ID 22511 //
54369 /* 153331 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54370 /* 153334 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54371 /* 153338 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54372 /* 153342 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54373 /* 153346 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54374 /* 153350 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54375 /* 153354 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54376 /* 153358 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54377 /* 153362 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54378 /* 153365 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54379 /* 153369 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54380 /* 153376 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54381 /* 153380 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54382 /* 153382 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54383 /* 153389 */ // (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)
54384 /* 153389 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
54385 /* 153392 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54386 /* 153394 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54387 /* 153396 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54388 /* 153400 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54389 /* 153406 */ GIR_RootConstrainSelectedInstOperands,
54390 /* 153407 */ // GIR_Coverage, 22511,
54391 /* 153407 */ GIR_EraseRootFromParent_Done,
54392 /* 153408 */ // Label 3394: @153408
54393 /* 153408 */ GIM_Try, /*On fail goto*//*Label 3395*/ GIMT_Encode4(153490), // Rule ID 22512 //
54394 /* 153413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54395 /* 153416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54396 /* 153420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54397 /* 153424 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54398 /* 153428 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54399 /* 153432 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
54400 /* 153436 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54401 /* 153440 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54402 /* 153444 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54403 /* 153447 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54404 /* 153451 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54405 /* 153458 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54406 /* 153462 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54407 /* 153464 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54408 /* 153471 */ // (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)
54409 /* 153471 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
54410 /* 153474 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54411 /* 153476 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54412 /* 153478 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54413 /* 153482 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54414 /* 153488 */ GIR_RootConstrainSelectedInstOperands,
54415 /* 153489 */ // GIR_Coverage, 22512,
54416 /* 153489 */ GIR_EraseRootFromParent_Done,
54417 /* 153490 */ // Label 3395: @153490
54418 /* 153490 */ GIM_Try, /*On fail goto*//*Label 3396*/ GIMT_Encode4(153555), // Rule ID 941 //
54419 /* 153495 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54420 /* 153498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54421 /* 153502 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54422 /* 153506 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54423 /* 153510 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54424 /* 153517 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54425 /* 153521 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54426 /* 153525 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54427 /* 153527 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54428 /* 153534 */ // (fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54429 /* 153534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m32),
54430 /* 153537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54431 /* 153539 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54432 /* 153541 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54433 /* 153545 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54434 /* 153548 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54435 /* 153553 */ GIR_RootConstrainSelectedInstOperands,
54436 /* 153554 */ // GIR_Coverage, 941,
54437 /* 153554 */ GIR_EraseRootFromParent_Done,
54438 /* 153555 */ // Label 3396: @153555
54439 /* 153555 */ GIM_Try, /*On fail goto*//*Label 3397*/ GIMT_Encode4(153620), // Rule ID 943 //
54440 /* 153560 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54441 /* 153563 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54442 /* 153567 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54443 /* 153571 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54444 /* 153575 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54445 /* 153582 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54446 /* 153586 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54447 /* 153590 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54448 /* 153592 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54449 /* 153599 */ // (fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54450 /* 153599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m32),
54451 /* 153602 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54452 /* 153604 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54453 /* 153606 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54454 /* 153610 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54455 /* 153613 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54456 /* 153618 */ GIR_RootConstrainSelectedInstOperands,
54457 /* 153619 */ // GIR_Coverage, 943,
54458 /* 153619 */ GIR_EraseRootFromParent_Done,
54459 /* 153620 */ // Label 3397: @153620
54460 /* 153620 */ GIM_Try, /*On fail goto*//*Label 3398*/ GIMT_Encode4(153685), // Rule ID 931 //
54461 /* 153625 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54462 /* 153628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54463 /* 153632 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54464 /* 153636 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54465 /* 153640 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54466 /* 153643 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54467 /* 153647 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54468 /* 153651 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54469 /* 153655 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54470 /* 153657 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54471 /* 153664 */ // (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)
54472 /* 153664 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp32m),
54473 /* 153667 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54474 /* 153669 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54475 /* 153671 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54476 /* 153675 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54477 /* 153678 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54478 /* 153683 */ GIR_RootConstrainSelectedInstOperands,
54479 /* 153684 */ // GIR_Coverage, 931,
54480 /* 153684 */ GIR_EraseRootFromParent_Done,
54481 /* 153685 */ // Label 3398: @153685
54482 /* 153685 */ GIM_Try, /*On fail goto*//*Label 3399*/ GIMT_Encode4(153750), // Rule ID 919 //
54483 /* 153690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54484 /* 153693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54485 /* 153697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54486 /* 153701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54487 /* 153705 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54488 /* 153709 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54489 /* 153716 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54490 /* 153720 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54491 /* 153722 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54492 /* 153729 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54493 /* 153729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m32),
54494 /* 153732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54495 /* 153734 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54496 /* 153736 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54497 /* 153740 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54498 /* 153743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54499 /* 153748 */ GIR_RootConstrainSelectedInstOperands,
54500 /* 153749 */ // GIR_Coverage, 919,
54501 /* 153749 */ GIR_EraseRootFromParent_Done,
54502 /* 153750 */ // Label 3399: @153750
54503 /* 153750 */ GIM_Try, /*On fail goto*//*Label 3400*/ GIMT_Encode4(153815), // Rule ID 921 //
54504 /* 153755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54505 /* 153758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54506 /* 153762 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54507 /* 153766 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54508 /* 153770 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54509 /* 153774 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54510 /* 153781 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54511 /* 153785 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54512 /* 153787 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54513 /* 153794 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54514 /* 153794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m32),
54515 /* 153797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54516 /* 153799 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54517 /* 153801 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54518 /* 153805 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54519 /* 153808 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54520 /* 153813 */ GIR_RootConstrainSelectedInstOperands,
54521 /* 153814 */ // GIR_Coverage, 921,
54522 /* 153814 */ GIR_EraseRootFromParent_Done,
54523 /* 153815 */ // Label 3400: @153815
54524 /* 153815 */ GIM_Try, /*On fail goto*//*Label 3401*/ GIMT_Encode4(153880), // Rule ID 909 //
54525 /* 153820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54526 /* 153823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54527 /* 153827 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54528 /* 153831 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54529 /* 153835 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54530 /* 153839 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54531 /* 153842 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54532 /* 153846 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54533 /* 153850 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54534 /* 153852 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54535 /* 153859 */ // (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)
54536 /* 153859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32m),
54537 /* 153862 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54538 /* 153864 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54539 /* 153866 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54540 /* 153870 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54541 /* 153873 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54542 /* 153878 */ GIR_RootConstrainSelectedInstOperands,
54543 /* 153879 */ // GIR_Coverage, 909,
54544 /* 153879 */ GIR_EraseRootFromParent_Done,
54545 /* 153880 */ // Label 3401: @153880
54546 /* 153880 */ GIM_Try, /*On fail goto*//*Label 3402*/ GIMT_Encode4(153942), // Rule ID 2217 //
54547 /* 153885 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54548 /* 153888 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54549 /* 153892 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54550 /* 153896 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54551 /* 153900 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54552 /* 153904 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54553 /* 153907 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54554 /* 153911 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54555 /* 153915 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54556 /* 153917 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54557 /* 153924 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54558 /* 153924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
54559 /* 153927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54560 /* 153929 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54561 /* 153931 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54562 /* 153935 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54563 /* 153940 */ GIR_RootConstrainSelectedInstOperands,
54564 /* 153941 */ // GIR_Coverage, 2217,
54565 /* 153941 */ GIR_EraseRootFromParent_Done,
54566 /* 153942 */ // Label 3402: @153942
54567 /* 153942 */ GIM_Try, /*On fail goto*//*Label 3403*/ GIMT_Encode4(154004), // Rule ID 2225 //
54568 /* 153947 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
54569 /* 153950 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54570 /* 153954 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54571 /* 153958 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54572 /* 153962 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54573 /* 153966 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54574 /* 153969 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54575 /* 153973 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54576 /* 153977 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54577 /* 153979 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54578 /* 153986 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUBSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54579 /* 153986 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
54580 /* 153989 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54581 /* 153991 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54582 /* 153993 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54583 /* 153997 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54584 /* 154002 */ GIR_RootConstrainSelectedInstOperands,
54585 /* 154003 */ // GIR_Coverage, 2225,
54586 /* 154003 */ GIR_EraseRootFromParent_Done,
54587 /* 154004 */ // Label 3403: @154004
54588 /* 154004 */ GIM_Try, /*On fail goto*//*Label 3404*/ GIMT_Encode4(154066), // Rule ID 6011 //
54589 /* 154009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54590 /* 154012 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54591 /* 154016 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54592 /* 154020 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54593 /* 154024 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54594 /* 154028 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54595 /* 154031 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54596 /* 154035 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54597 /* 154039 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54598 /* 154041 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54599 /* 154048 */ // (fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
54600 /* 154048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
54601 /* 154051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54602 /* 154053 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54603 /* 154055 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54604 /* 154059 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54605 /* 154064 */ GIR_RootConstrainSelectedInstOperands,
54606 /* 154065 */ // GIR_Coverage, 6011,
54607 /* 154065 */ GIR_EraseRootFromParent_Done,
54608 /* 154066 */ // Label 3404: @154066
54609 /* 154066 */ GIM_Try, /*On fail goto*//*Label 3405*/ GIMT_Encode4(154103), // Rule ID 869 //
54610 /* 154071 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
54611 /* 154074 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54612 /* 154078 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54613 /* 154082 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
54614 /* 154086 */ // (fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (SUB_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
54615 /* 154086 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32),
54616 /* 154091 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
54617 /* 154097 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
54618 /* 154101 */ GIR_RootConstrainSelectedInstOperands,
54619 /* 154102 */ // GIR_Coverage, 869,
54620 /* 154102 */ GIR_Done,
54621 /* 154103 */ // Label 3405: @154103
54622 /* 154103 */ GIM_Try, /*On fail goto*//*Label 3406*/ GIMT_Encode4(154134), // Rule ID 2215 //
54623 /* 154108 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54624 /* 154111 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54625 /* 154115 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54626 /* 154119 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54627 /* 154123 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VSUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
54628 /* 154123 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSrr),
54629 /* 154128 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54630 /* 154132 */ GIR_RootConstrainSelectedInstOperands,
54631 /* 154133 */ // GIR_Coverage, 2215,
54632 /* 154133 */ GIR_Done,
54633 /* 154134 */ // Label 3406: @154134
54634 /* 154134 */ GIM_Try, /*On fail goto*//*Label 3407*/ GIMT_Encode4(154165), // Rule ID 2223 //
54635 /* 154139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
54636 /* 154142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54637 /* 154146 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54638 /* 154150 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
54639 /* 154154 */ // (fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (SUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
54640 /* 154154 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSSrr),
54641 /* 154159 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54642 /* 154163 */ GIR_RootConstrainSelectedInstOperands,
54643 /* 154164 */ // GIR_Coverage, 2223,
54644 /* 154164 */ GIR_Done,
54645 /* 154165 */ // Label 3407: @154165
54646 /* 154165 */ GIM_Try, /*On fail goto*//*Label 3408*/ GIMT_Encode4(154196), // Rule ID 6009 //
54647 /* 154170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54648 /* 154173 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54649 /* 154177 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54650 /* 154181 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
54651 /* 154185 */ // (fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VSUBSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
54652 /* 154185 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrr),
54653 /* 154190 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54654 /* 154194 */ GIR_RootConstrainSelectedInstOperands,
54655 /* 154195 */ // GIR_Coverage, 6009,
54656 /* 154195 */ GIR_Done,
54657 /* 154196 */ // Label 3408: @154196
54658 /* 154196 */ GIM_Reject,
54659 /* 154197 */ // Label 3392: @154197
54660 /* 154197 */ GIM_Reject,
54661 /* 154198 */ // Label 3377: @154198
54662 /* 154198 */ GIM_Try, /*On fail goto*//*Label 3409*/ GIMT_Encode4(155306),
54663 /* 154203 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
54664 /* 154206 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
54665 /* 154209 */ GIM_Try, /*On fail goto*//*Label 3410*/ GIMT_Encode4(154291), // Rule ID 22513 //
54666 /* 154214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
54667 /* 154217 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54668 /* 154221 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54669 /* 154225 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54670 /* 154229 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54671 /* 154233 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54672 /* 154237 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54673 /* 154241 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54674 /* 154245 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54675 /* 154248 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54676 /* 154252 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54677 /* 154259 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54678 /* 154263 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54679 /* 154265 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54680 /* 154272 */ // (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)
54681 /* 154272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
54682 /* 154275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54683 /* 154277 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54684 /* 154279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54685 /* 154283 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54686 /* 154289 */ GIR_RootConstrainSelectedInstOperands,
54687 /* 154290 */ // GIR_Coverage, 22513,
54688 /* 154290 */ GIR_EraseRootFromParent_Done,
54689 /* 154291 */ // Label 3410: @154291
54690 /* 154291 */ GIM_Try, /*On fail goto*//*Label 3411*/ GIMT_Encode4(154373), // Rule ID 22514 //
54691 /* 154296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54692 /* 154299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54693 /* 154303 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54694 /* 154307 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54695 /* 154311 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54696 /* 154315 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54697 /* 154319 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54698 /* 154323 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54699 /* 154327 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54700 /* 154330 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54701 /* 154334 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54702 /* 154341 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54703 /* 154345 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54704 /* 154347 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54705 /* 154354 */ // (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)
54706 /* 154354 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
54707 /* 154357 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54708 /* 154359 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54709 /* 154361 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54710 /* 154365 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54711 /* 154371 */ GIR_RootConstrainSelectedInstOperands,
54712 /* 154372 */ // GIR_Coverage, 22514,
54713 /* 154372 */ GIR_EraseRootFromParent_Done,
54714 /* 154373 */ // Label 3411: @154373
54715 /* 154373 */ GIM_Try, /*On fail goto*//*Label 3412*/ GIMT_Encode4(154455), // Rule ID 22515 //
54716 /* 154378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54717 /* 154381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54718 /* 154385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54719 /* 154389 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54720 /* 154393 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
54721 /* 154397 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
54722 /* 154401 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
54723 /* 154405 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
54724 /* 154409 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
54725 /* 154412 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
54726 /* 154416 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
54727 /* 154423 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
54728 /* 154427 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
54729 /* 154429 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54730 /* 154436 */ // (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)
54731 /* 154436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
54732 /* 154439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54733 /* 154441 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54734 /* 154443 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54735 /* 154447 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
54736 /* 154453 */ GIR_RootConstrainSelectedInstOperands,
54737 /* 154454 */ // GIR_Coverage, 22515,
54738 /* 154454 */ GIR_EraseRootFromParent_Done,
54739 /* 154455 */ // Label 3412: @154455
54740 /* 154455 */ GIM_Try, /*On fail goto*//*Label 3413*/ GIMT_Encode4(154520), // Rule ID 945 //
54741 /* 154460 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54742 /* 154463 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54743 /* 154467 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54744 /* 154471 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54745 /* 154475 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54746 /* 154482 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54747 /* 154486 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54748 /* 154490 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54749 /* 154492 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54750 /* 154499 */ // (fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54751 /* 154499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m64),
54752 /* 154502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54753 /* 154504 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54754 /* 154506 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54755 /* 154510 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54756 /* 154513 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54757 /* 154518 */ GIR_RootConstrainSelectedInstOperands,
54758 /* 154519 */ // GIR_Coverage, 945,
54759 /* 154519 */ GIR_EraseRootFromParent_Done,
54760 /* 154520 */ // Label 3413: @154520
54761 /* 154520 */ GIM_Try, /*On fail goto*//*Label 3414*/ GIMT_Encode4(154585), // Rule ID 947 //
54762 /* 154525 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54763 /* 154528 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54764 /* 154532 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54765 /* 154536 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54766 /* 154540 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54767 /* 154547 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54768 /* 154551 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54769 /* 154555 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54770 /* 154557 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54771 /* 154564 */ // (fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54772 /* 154564 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m64),
54773 /* 154567 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54774 /* 154569 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54775 /* 154571 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54776 /* 154575 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54777 /* 154578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54778 /* 154583 */ GIR_RootConstrainSelectedInstOperands,
54779 /* 154584 */ // GIR_Coverage, 947,
54780 /* 154584 */ GIR_EraseRootFromParent_Done,
54781 /* 154585 */ // Label 3414: @154585
54782 /* 154585 */ GIM_Try, /*On fail goto*//*Label 3415*/ GIMT_Encode4(154650), // Rule ID 933 //
54783 /* 154590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54784 /* 154593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54785 /* 154597 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54786 /* 154601 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54787 /* 154605 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54788 /* 154608 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54789 /* 154612 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54790 /* 154616 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54791 /* 154620 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54792 /* 154622 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54793 /* 154629 */ // (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)
54794 /* 154629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m),
54795 /* 154632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54796 /* 154634 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54797 /* 154636 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54798 /* 154640 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54799 /* 154643 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54800 /* 154648 */ GIR_RootConstrainSelectedInstOperands,
54801 /* 154649 */ // GIR_Coverage, 933,
54802 /* 154649 */ GIR_EraseRootFromParent_Done,
54803 /* 154650 */ // Label 3415: @154650
54804 /* 154650 */ GIM_Try, /*On fail goto*//*Label 3416*/ GIMT_Encode4(154722), // Rule ID 935 //
54805 /* 154655 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54806 /* 154658 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54807 /* 154662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
54808 /* 154666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54809 /* 154670 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54810 /* 154673 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54811 /* 154677 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54812 /* 154684 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54813 /* 154688 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54814 /* 154692 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54815 /* 154694 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54816 /* 154701 */ // (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)
54817 /* 154701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m32),
54818 /* 154704 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54819 /* 154706 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
54820 /* 154708 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54821 /* 154712 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54822 /* 154715 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54823 /* 154720 */ GIR_RootConstrainSelectedInstOperands,
54824 /* 154721 */ // GIR_Coverage, 935,
54825 /* 154721 */ GIR_EraseRootFromParent_Done,
54826 /* 154722 */ // Label 3416: @154722
54827 /* 154722 */ GIM_Try, /*On fail goto*//*Label 3417*/ GIMT_Encode4(154787), // Rule ID 923 //
54828 /* 154727 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54829 /* 154730 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54830 /* 154734 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54831 /* 154738 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54832 /* 154742 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54833 /* 154746 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
54834 /* 154753 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54835 /* 154757 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54836 /* 154759 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54837 /* 154766 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54838 /* 154766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m64),
54839 /* 154769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54840 /* 154771 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54841 /* 154773 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54842 /* 154777 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54843 /* 154780 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54844 /* 154785 */ GIR_RootConstrainSelectedInstOperands,
54845 /* 154786 */ // GIR_Coverage, 923,
54846 /* 154786 */ GIR_EraseRootFromParent_Done,
54847 /* 154787 */ // Label 3417: @154787
54848 /* 154787 */ GIM_Try, /*On fail goto*//*Label 3418*/ GIMT_Encode4(154852), // Rule ID 925 //
54849 /* 154792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54850 /* 154795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54851 /* 154799 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54852 /* 154803 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54853 /* 154807 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
54854 /* 154811 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54855 /* 154818 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54856 /* 154822 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54857 /* 154824 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54858 /* 154831 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54859 /* 154831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m64),
54860 /* 154834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54861 /* 154836 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54862 /* 154838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54863 /* 154842 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54864 /* 154845 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54865 /* 154850 */ GIR_RootConstrainSelectedInstOperands,
54866 /* 154851 */ // GIR_Coverage, 925,
54867 /* 154851 */ GIR_EraseRootFromParent_Done,
54868 /* 154852 */ // Label 3418: @154852
54869 /* 154852 */ GIM_Try, /*On fail goto*//*Label 3419*/ GIMT_Encode4(154917), // Rule ID 911 //
54870 /* 154857 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54871 /* 154860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54872 /* 154864 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54873 /* 154868 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54874 /* 154872 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54875 /* 154876 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54876 /* 154879 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54877 /* 154883 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54878 /* 154887 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54879 /* 154889 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54880 /* 154896 */ // (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)
54881 /* 154896 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m),
54882 /* 154899 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54883 /* 154901 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54884 /* 154903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54885 /* 154907 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54886 /* 154910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54887 /* 154915 */ GIR_RootConstrainSelectedInstOperands,
54888 /* 154916 */ // GIR_Coverage, 911,
54889 /* 154916 */ GIR_EraseRootFromParent_Done,
54890 /* 154917 */ // Label 3419: @154917
54891 /* 154917 */ GIM_Try, /*On fail goto*//*Label 3420*/ GIMT_Encode4(154989), // Rule ID 913 //
54892 /* 154922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54893 /* 154925 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54894 /* 154929 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54895 /* 154933 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54896 /* 154937 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54897 /* 154941 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54898 /* 154944 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54899 /* 154948 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
54900 /* 154955 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54901 /* 154959 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54902 /* 154961 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54903 /* 154968 */ // (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)
54904 /* 154968 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m32),
54905 /* 154971 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54906 /* 154973 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54907 /* 154975 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54908 /* 154979 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
54909 /* 154982 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54910 /* 154987 */ GIR_RootConstrainSelectedInstOperands,
54911 /* 154988 */ // GIR_Coverage, 913,
54912 /* 154988 */ GIR_EraseRootFromParent_Done,
54913 /* 154989 */ // Label 3420: @154989
54914 /* 154989 */ GIM_Try, /*On fail goto*//*Label 3421*/ GIMT_Encode4(155051), // Rule ID 2221 //
54915 /* 154994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54916 /* 154997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54917 /* 155001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54918 /* 155005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54919 /* 155009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54920 /* 155013 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54921 /* 155016 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54922 /* 155020 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54923 /* 155024 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54924 /* 155026 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54925 /* 155033 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54926 /* 155033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
54927 /* 155036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54928 /* 155038 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54929 /* 155040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54930 /* 155044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54931 /* 155049 */ GIR_RootConstrainSelectedInstOperands,
54932 /* 155050 */ // GIR_Coverage, 2221,
54933 /* 155050 */ GIR_EraseRootFromParent_Done,
54934 /* 155051 */ // Label 3421: @155051
54935 /* 155051 */ GIM_Try, /*On fail goto*//*Label 3422*/ GIMT_Encode4(155113), // Rule ID 2229 //
54936 /* 155056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
54937 /* 155059 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54938 /* 155063 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54939 /* 155067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54940 /* 155071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54941 /* 155075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54942 /* 155078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54943 /* 155082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54944 /* 155086 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54945 /* 155088 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54946 /* 155095 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SUBSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54947 /* 155095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
54948 /* 155098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54949 /* 155100 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54950 /* 155102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54951 /* 155106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54952 /* 155111 */ GIR_RootConstrainSelectedInstOperands,
54953 /* 155112 */ // GIR_Coverage, 2229,
54954 /* 155112 */ GIR_EraseRootFromParent_Done,
54955 /* 155113 */ // Label 3422: @155113
54956 /* 155113 */ GIM_Try, /*On fail goto*//*Label 3423*/ GIMT_Encode4(155175), // Rule ID 6030 //
54957 /* 155118 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
54958 /* 155121 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54959 /* 155125 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
54960 /* 155129 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
54961 /* 155133 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
54962 /* 155137 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
54963 /* 155140 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
54964 /* 155144 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
54965 /* 155148 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
54966 /* 155150 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
54967 /* 155157 */ // (fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
54968 /* 155157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
54969 /* 155160 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
54970 /* 155162 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
54971 /* 155164 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
54972 /* 155168 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
54973 /* 155173 */ GIR_RootConstrainSelectedInstOperands,
54974 /* 155174 */ // GIR_Coverage, 6030,
54975 /* 155174 */ GIR_EraseRootFromParent_Done,
54976 /* 155175 */ // Label 3423: @155175
54977 /* 155175 */ GIM_Try, /*On fail goto*//*Label 3424*/ GIMT_Encode4(155212), // Rule ID 871 //
54978 /* 155180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
54979 /* 155183 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54980 /* 155187 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54981 /* 155191 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
54982 /* 155195 */ // (fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (SUB_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
54983 /* 155195 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64),
54984 /* 155200 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
54985 /* 155206 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
54986 /* 155210 */ GIR_RootConstrainSelectedInstOperands,
54987 /* 155211 */ // GIR_Coverage, 871,
54988 /* 155211 */ GIR_Done,
54989 /* 155212 */ // Label 3424: @155212
54990 /* 155212 */ GIM_Try, /*On fail goto*//*Label 3425*/ GIMT_Encode4(155243), // Rule ID 2219 //
54991 /* 155217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
54992 /* 155220 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54993 /* 155224 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54994 /* 155228 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
54995 /* 155232 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VSUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
54996 /* 155232 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDrr),
54997 /* 155237 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
54998 /* 155241 */ GIR_RootConstrainSelectedInstOperands,
54999 /* 155242 */ // GIR_Coverage, 2219,
55000 /* 155242 */ GIR_Done,
55001 /* 155243 */ // Label 3425: @155243
55002 /* 155243 */ GIM_Try, /*On fail goto*//*Label 3426*/ GIMT_Encode4(155274), // Rule ID 2227 //
55003 /* 155248 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
55004 /* 155251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55005 /* 155255 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55006 /* 155259 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
55007 /* 155263 */ // (fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (SUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
55008 /* 155263 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSDrr),
55009 /* 155268 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55010 /* 155272 */ GIR_RootConstrainSelectedInstOperands,
55011 /* 155273 */ // GIR_Coverage, 2227,
55012 /* 155273 */ GIR_Done,
55013 /* 155274 */ // Label 3426: @155274
55014 /* 155274 */ GIM_Try, /*On fail goto*//*Label 3427*/ GIMT_Encode4(155305), // Rule ID 6028 //
55015 /* 155279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55016 /* 155282 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55017 /* 155286 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55018 /* 155290 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
55019 /* 155294 */ // (fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VSUBSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
55020 /* 155294 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrr),
55021 /* 155299 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55022 /* 155303 */ GIR_RootConstrainSelectedInstOperands,
55023 /* 155304 */ // GIR_Coverage, 6028,
55024 /* 155304 */ GIR_Done,
55025 /* 155305 */ // Label 3427: @155305
55026 /* 155305 */ GIM_Reject,
55027 /* 155306 */ // Label 3409: @155306
55028 /* 155306 */ GIM_Reject,
55029 /* 155307 */ // Label 3378: @155307
55030 /* 155307 */ GIM_Try, /*On fail goto*//*Label 3428*/ GIMT_Encode4(155872),
55031 /* 155312 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
55032 /* 155315 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
55033 /* 155318 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55034 /* 155322 */ GIM_Try, /*On fail goto*//*Label 3429*/ GIMT_Encode4(155383), // Rule ID 949 //
55035 /* 155327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55036 /* 155330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55037 /* 155334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55038 /* 155338 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55039 /* 155345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55040 /* 155349 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55041 /* 155353 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55042 /* 155355 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55043 /* 155362 */ // (fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
55044 /* 155362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m80),
55045 /* 155365 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55046 /* 155367 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55047 /* 155369 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55048 /* 155373 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55049 /* 155376 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55050 /* 155381 */ GIR_RootConstrainSelectedInstOperands,
55051 /* 155382 */ // GIR_Coverage, 949,
55052 /* 155382 */ GIR_EraseRootFromParent_Done,
55053 /* 155383 */ // Label 3429: @155383
55054 /* 155383 */ GIM_Try, /*On fail goto*//*Label 3430*/ GIMT_Encode4(155444), // Rule ID 951 //
55055 /* 155388 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55056 /* 155391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55057 /* 155395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55058 /* 155399 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55059 /* 155406 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55060 /* 155410 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55061 /* 155414 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55062 /* 155416 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55063 /* 155423 */ // (fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
55064 /* 155423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m80),
55065 /* 155426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55066 /* 155428 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55067 /* 155430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55068 /* 155434 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55069 /* 155437 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55070 /* 155442 */ GIR_RootConstrainSelectedInstOperands,
55071 /* 155443 */ // GIR_Coverage, 951,
55072 /* 155443 */ GIR_EraseRootFromParent_Done,
55073 /* 155444 */ // Label 3430: @155444
55074 /* 155444 */ GIM_Try, /*On fail goto*//*Label 3431*/ GIMT_Encode4(155512), // Rule ID 937 //
55075 /* 155449 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55076 /* 155452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55077 /* 155456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55078 /* 155460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55079 /* 155463 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55080 /* 155467 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55081 /* 155474 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55082 /* 155478 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55083 /* 155482 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55084 /* 155484 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55085 /* 155491 */ // (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)
55086 /* 155491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m32),
55087 /* 155494 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55088 /* 155496 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55089 /* 155498 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55090 /* 155502 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55091 /* 155505 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55092 /* 155510 */ GIR_RootConstrainSelectedInstOperands,
55093 /* 155511 */ // GIR_Coverage, 937,
55094 /* 155511 */ GIR_EraseRootFromParent_Done,
55095 /* 155512 */ // Label 3431: @155512
55096 /* 155512 */ GIM_Try, /*On fail goto*//*Label 3432*/ GIMT_Encode4(155580), // Rule ID 939 //
55097 /* 155517 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55098 /* 155520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55099 /* 155524 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55100 /* 155528 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55101 /* 155531 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55102 /* 155535 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
55103 /* 155542 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55104 /* 155546 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55105 /* 155550 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55106 /* 155552 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55107 /* 155559 */ // (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)
55108 /* 155559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m64),
55109 /* 155562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55110 /* 155564 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55111 /* 155566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55112 /* 155570 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55113 /* 155573 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55114 /* 155578 */ GIR_RootConstrainSelectedInstOperands,
55115 /* 155579 */ // GIR_Coverage, 939,
55116 /* 155579 */ GIR_EraseRootFromParent_Done,
55117 /* 155580 */ // Label 3432: @155580
55118 /* 155580 */ GIM_Try, /*On fail goto*//*Label 3433*/ GIMT_Encode4(155641), // Rule ID 927 //
55119 /* 155585 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55120 /* 155588 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55121 /* 155592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55122 /* 155596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55123 /* 155600 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55124 /* 155607 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55125 /* 155611 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55126 /* 155613 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55127 /* 155620 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
55128 /* 155620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m80),
55129 /* 155623 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55130 /* 155625 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55131 /* 155627 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55132 /* 155631 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55133 /* 155634 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55134 /* 155639 */ GIR_RootConstrainSelectedInstOperands,
55135 /* 155640 */ // GIR_Coverage, 927,
55136 /* 155640 */ GIR_EraseRootFromParent_Done,
55137 /* 155641 */ // Label 3433: @155641
55138 /* 155641 */ GIM_Try, /*On fail goto*//*Label 3434*/ GIMT_Encode4(155702), // Rule ID 929 //
55139 /* 155646 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55140 /* 155649 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55141 /* 155653 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55142 /* 155657 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55143 /* 155661 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55144 /* 155668 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55145 /* 155672 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55146 /* 155674 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55147 /* 155681 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
55148 /* 155681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m80),
55149 /* 155684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55150 /* 155686 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55151 /* 155688 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55152 /* 155692 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55153 /* 155695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55154 /* 155700 */ GIR_RootConstrainSelectedInstOperands,
55155 /* 155701 */ // GIR_Coverage, 929,
55156 /* 155701 */ GIR_EraseRootFromParent_Done,
55157 /* 155702 */ // Label 3434: @155702
55158 /* 155702 */ GIM_Try, /*On fail goto*//*Label 3435*/ GIMT_Encode4(155770), // Rule ID 915 //
55159 /* 155707 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55160 /* 155710 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55161 /* 155714 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55162 /* 155718 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55163 /* 155722 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55164 /* 155725 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55165 /* 155729 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55166 /* 155736 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55167 /* 155740 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55168 /* 155742 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55169 /* 155749 */ // (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)
55170 /* 155749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m32),
55171 /* 155752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55172 /* 155754 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55173 /* 155756 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55174 /* 155760 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55175 /* 155763 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55176 /* 155768 */ GIR_RootConstrainSelectedInstOperands,
55177 /* 155769 */ // GIR_Coverage, 915,
55178 /* 155769 */ GIR_EraseRootFromParent_Done,
55179 /* 155770 */ // Label 3435: @155770
55180 /* 155770 */ GIM_Try, /*On fail goto*//*Label 3436*/ GIMT_Encode4(155838), // Rule ID 917 //
55181 /* 155775 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55182 /* 155778 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55183 /* 155782 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55184 /* 155786 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55185 /* 155790 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55186 /* 155793 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55187 /* 155797 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
55188 /* 155804 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55189 /* 155808 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55190 /* 155810 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55191 /* 155817 */ // (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)
55192 /* 155817 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m64),
55193 /* 155820 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55194 /* 155822 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55195 /* 155824 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55196 /* 155828 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55197 /* 155831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55198 /* 155836 */ GIR_RootConstrainSelectedInstOperands,
55199 /* 155837 */ // GIR_Coverage, 917,
55200 /* 155837 */ GIR_EraseRootFromParent_Done,
55201 /* 155838 */ // Label 3436: @155838
55202 /* 155838 */ GIM_Try, /*On fail goto*//*Label 3437*/ GIMT_Encode4(155871), // Rule ID 873 //
55203 /* 155843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
55204 /* 155846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55205 /* 155850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
55206 /* 155854 */ // (fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (SUB_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
55207 /* 155854 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80),
55208 /* 155859 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
55209 /* 155865 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
55210 /* 155869 */ GIR_RootConstrainSelectedInstOperands,
55211 /* 155870 */ // GIR_Coverage, 873,
55212 /* 155870 */ GIR_Done,
55213 /* 155871 */ // Label 3437: @155871
55214 /* 155871 */ GIM_Reject,
55215 /* 155872 */ // Label 3428: @155872
55216 /* 155872 */ GIM_Reject,
55217 /* 155873 */ // Label 3379: @155873
55218 /* 155873 */ GIM_Try, /*On fail goto*//*Label 3438*/ GIMT_Encode4(155970),
55219 /* 155878 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
55220 /* 155881 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
55221 /* 155884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55222 /* 155888 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55223 /* 155892 */ GIM_Try, /*On fail goto*//*Label 3439*/ GIMT_Encode4(155946), // Rule ID 6559 //
55224 /* 155897 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
55225 /* 155900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55226 /* 155904 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55227 /* 155908 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55228 /* 155911 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55229 /* 155915 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55230 /* 155919 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55231 /* 155921 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55232 /* 155928 */ // (fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55233 /* 155928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rm),
55234 /* 155931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55235 /* 155933 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55236 /* 155935 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55237 /* 155939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55238 /* 155944 */ GIR_RootConstrainSelectedInstOperands,
55239 /* 155945 */ // GIR_Coverage, 6559,
55240 /* 155945 */ GIR_EraseRootFromParent_Done,
55241 /* 155946 */ // Label 3439: @155946
55242 /* 155946 */ GIM_Try, /*On fail goto*//*Label 3440*/ GIMT_Encode4(155969), // Rule ID 6555 //
55243 /* 155951 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
55244 /* 155954 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55245 /* 155958 */ // (fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VSUBPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
55246 /* 155958 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rr),
55247 /* 155963 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55248 /* 155967 */ GIR_RootConstrainSelectedInstOperands,
55249 /* 155968 */ // GIR_Coverage, 6555,
55250 /* 155968 */ GIR_Done,
55251 /* 155969 */ // Label 3440: @155969
55252 /* 155969 */ GIM_Reject,
55253 /* 155970 */ // Label 3438: @155970
55254 /* 155970 */ GIM_Reject,
55255 /* 155971 */ // Label 3380: @155971
55256 /* 155971 */ GIM_Try, /*On fail goto*//*Label 3441*/ GIMT_Encode4(156068),
55257 /* 155976 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
55258 /* 155979 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
55259 /* 155982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55260 /* 155986 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55261 /* 155990 */ GIM_Try, /*On fail goto*//*Label 3442*/ GIMT_Encode4(156044), // Rule ID 6571 //
55262 /* 155995 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
55263 /* 155998 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55264 /* 156002 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55265 /* 156006 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55266 /* 156009 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55267 /* 156013 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55268 /* 156017 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55269 /* 156019 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55270 /* 156026 */ // (fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55271 /* 156026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rm),
55272 /* 156029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55273 /* 156031 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55274 /* 156033 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55275 /* 156037 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55276 /* 156042 */ GIR_RootConstrainSelectedInstOperands,
55277 /* 156043 */ // GIR_Coverage, 6571,
55278 /* 156043 */ GIR_EraseRootFromParent_Done,
55279 /* 156044 */ // Label 3442: @156044
55280 /* 156044 */ GIM_Try, /*On fail goto*//*Label 3443*/ GIMT_Encode4(156067), // Rule ID 6567 //
55281 /* 156049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
55282 /* 156052 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55283 /* 156056 */ // (fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VSUBPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
55284 /* 156056 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rr),
55285 /* 156061 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55286 /* 156065 */ GIR_RootConstrainSelectedInstOperands,
55287 /* 156066 */ // GIR_Coverage, 6567,
55288 /* 156066 */ GIR_Done,
55289 /* 156067 */ // Label 3443: @156067
55290 /* 156067 */ GIM_Reject,
55291 /* 156068 */ // Label 3441: @156068
55292 /* 156068 */ GIM_Reject,
55293 /* 156069 */ // Label 3381: @156069
55294 /* 156069 */ GIM_Try, /*On fail goto*//*Label 3444*/ GIMT_Encode4(156166),
55295 /* 156074 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
55296 /* 156077 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
55297 /* 156080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55298 /* 156084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55299 /* 156088 */ GIM_Try, /*On fail goto*//*Label 3445*/ GIMT_Encode4(156142), // Rule ID 6547 //
55300 /* 156093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55301 /* 156096 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55302 /* 156100 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55303 /* 156104 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55304 /* 156107 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55305 /* 156111 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55306 /* 156115 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55307 /* 156117 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55308 /* 156124 */ // (fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55309 /* 156124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrm),
55310 /* 156127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55311 /* 156129 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55312 /* 156131 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55313 /* 156135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55314 /* 156140 */ GIR_RootConstrainSelectedInstOperands,
55315 /* 156141 */ // GIR_Coverage, 6547,
55316 /* 156141 */ GIR_EraseRootFromParent_Done,
55317 /* 156142 */ // Label 3445: @156142
55318 /* 156142 */ GIM_Try, /*On fail goto*//*Label 3446*/ GIMT_Encode4(156165), // Rule ID 6543 //
55319 /* 156147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55320 /* 156150 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55321 /* 156154 */ // (fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VSUBPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
55322 /* 156154 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrr),
55323 /* 156159 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55324 /* 156163 */ GIR_RootConstrainSelectedInstOperands,
55325 /* 156164 */ // GIR_Coverage, 6543,
55326 /* 156164 */ GIR_Done,
55327 /* 156165 */ // Label 3446: @156165
55328 /* 156165 */ GIM_Reject,
55329 /* 156166 */ // Label 3444: @156166
55330 /* 156166 */ GIM_Reject,
55331 /* 156167 */ // Label 3382: @156167
55332 /* 156167 */ GIM_Try, /*On fail goto*//*Label 3447*/ GIMT_Encode4(156396),
55333 /* 156172 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
55334 /* 156175 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
55335 /* 156178 */ GIM_Try, /*On fail goto*//*Label 3448*/ GIMT_Encode4(156240), // Rule ID 2193 //
55336 /* 156183 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55337 /* 156186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55338 /* 156190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55339 /* 156194 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55340 /* 156198 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55341 /* 156202 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55342 /* 156205 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55343 /* 156209 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55344 /* 156213 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55345 /* 156215 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55346 /* 156222 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55347 /* 156222 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSrm),
55348 /* 156225 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55349 /* 156227 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55350 /* 156229 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55351 /* 156233 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55352 /* 156238 */ GIR_RootConstrainSelectedInstOperands,
55353 /* 156239 */ // GIR_Coverage, 2193,
55354 /* 156239 */ GIR_EraseRootFromParent_Done,
55355 /* 156240 */ // Label 3448: @156240
55356 /* 156240 */ GIM_Try, /*On fail goto*//*Label 3449*/ GIMT_Encode4(156302), // Rule ID 6499 //
55357 /* 156245 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55358 /* 156248 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55359 /* 156252 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55360 /* 156256 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55361 /* 156260 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55362 /* 156264 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55363 /* 156267 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55364 /* 156271 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55365 /* 156275 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55366 /* 156277 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55367 /* 156284 */ // (fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55368 /* 156284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rm),
55369 /* 156287 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55370 /* 156289 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55371 /* 156291 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55372 /* 156295 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55373 /* 156300 */ GIR_RootConstrainSelectedInstOperands,
55374 /* 156301 */ // GIR_Coverage, 6499,
55375 /* 156301 */ GIR_EraseRootFromParent_Done,
55376 /* 156302 */ // Label 3449: @156302
55377 /* 156302 */ GIM_Try, /*On fail goto*//*Label 3450*/ GIMT_Encode4(156333), // Rule ID 2191 //
55378 /* 156307 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55379 /* 156310 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55380 /* 156314 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55381 /* 156318 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55382 /* 156322 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VSUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
55383 /* 156322 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSrr),
55384 /* 156327 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55385 /* 156331 */ GIR_RootConstrainSelectedInstOperands,
55386 /* 156332 */ // GIR_Coverage, 2191,
55387 /* 156332 */ GIR_Done,
55388 /* 156333 */ // Label 3450: @156333
55389 /* 156333 */ GIM_Try, /*On fail goto*//*Label 3451*/ GIMT_Encode4(156364), // Rule ID 2207 //
55390 /* 156338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
55391 /* 156341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55392 /* 156345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55393 /* 156349 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55394 /* 156353 */ // (fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (SUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
55395 /* 156353 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPSrr),
55396 /* 156358 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55397 /* 156362 */ GIR_RootConstrainSelectedInstOperands,
55398 /* 156363 */ // GIR_Coverage, 2207,
55399 /* 156363 */ GIR_Done,
55400 /* 156364 */ // Label 3451: @156364
55401 /* 156364 */ GIM_Try, /*On fail goto*//*Label 3452*/ GIMT_Encode4(156395), // Rule ID 6495 //
55402 /* 156369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55403 /* 156372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55404 /* 156376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55405 /* 156380 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55406 /* 156384 */ // (fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VSUBPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
55407 /* 156384 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rr),
55408 /* 156389 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55409 /* 156393 */ GIR_RootConstrainSelectedInstOperands,
55410 /* 156394 */ // GIR_Coverage, 6495,
55411 /* 156394 */ GIR_Done,
55412 /* 156395 */ // Label 3452: @156395
55413 /* 156395 */ GIM_Reject,
55414 /* 156396 */ // Label 3447: @156396
55415 /* 156396 */ GIM_Reject,
55416 /* 156397 */ // Label 3383: @156397
55417 /* 156397 */ GIM_Try, /*On fail goto*//*Label 3453*/ GIMT_Encode4(156595),
55418 /* 156402 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
55419 /* 156405 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
55420 /* 156408 */ GIM_Try, /*On fail goto*//*Label 3454*/ GIMT_Encode4(156470), // Rule ID 2201 //
55421 /* 156413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55422 /* 156416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55423 /* 156420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55424 /* 156424 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55425 /* 156428 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55426 /* 156432 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55427 /* 156435 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55428 /* 156439 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55429 /* 156443 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55430 /* 156445 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55431 /* 156452 */ // (fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55432 /* 156452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrm),
55433 /* 156455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55434 /* 156457 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55435 /* 156459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55436 /* 156463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55437 /* 156468 */ GIR_RootConstrainSelectedInstOperands,
55438 /* 156469 */ // GIR_Coverage, 2201,
55439 /* 156469 */ GIR_EraseRootFromParent_Done,
55440 /* 156470 */ // Label 3454: @156470
55441 /* 156470 */ GIM_Try, /*On fail goto*//*Label 3455*/ GIMT_Encode4(156532), // Rule ID 6511 //
55442 /* 156475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55443 /* 156478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55444 /* 156482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55445 /* 156486 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55446 /* 156490 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55447 /* 156494 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55448 /* 156497 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55449 /* 156501 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55450 /* 156505 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55451 /* 156507 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55452 /* 156514 */ // (fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55453 /* 156514 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rm),
55454 /* 156517 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55455 /* 156519 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55456 /* 156521 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55457 /* 156525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55458 /* 156530 */ GIR_RootConstrainSelectedInstOperands,
55459 /* 156531 */ // GIR_Coverage, 6511,
55460 /* 156531 */ GIR_EraseRootFromParent_Done,
55461 /* 156532 */ // Label 3455: @156532
55462 /* 156532 */ GIM_Try, /*On fail goto*//*Label 3456*/ GIMT_Encode4(156563), // Rule ID 2199 //
55463 /* 156537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55464 /* 156540 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55465 /* 156544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55466 /* 156548 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55467 /* 156552 */ // (fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VSUBPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
55468 /* 156552 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrr),
55469 /* 156557 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55470 /* 156561 */ GIR_RootConstrainSelectedInstOperands,
55471 /* 156562 */ // GIR_Coverage, 2199,
55472 /* 156562 */ GIR_Done,
55473 /* 156563 */ // Label 3456: @156563
55474 /* 156563 */ GIM_Try, /*On fail goto*//*Label 3457*/ GIMT_Encode4(156594), // Rule ID 6507 //
55475 /* 156568 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55476 /* 156571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55477 /* 156575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55478 /* 156579 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55479 /* 156583 */ // (fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VSUBPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
55480 /* 156583 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rr),
55481 /* 156588 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55482 /* 156592 */ GIR_RootConstrainSelectedInstOperands,
55483 /* 156593 */ // GIR_Coverage, 6507,
55484 /* 156593 */ GIR_Done,
55485 /* 156594 */ // Label 3457: @156594
55486 /* 156594 */ GIM_Reject,
55487 /* 156595 */ // Label 3453: @156595
55488 /* 156595 */ GIM_Reject,
55489 /* 156596 */ // Label 3384: @156596
55490 /* 156596 */ GIM_Try, /*On fail goto*//*Label 3458*/ GIMT_Encode4(156693),
55491 /* 156601 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
55492 /* 156604 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
55493 /* 156607 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55494 /* 156611 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55495 /* 156615 */ GIM_Try, /*On fail goto*//*Label 3459*/ GIMT_Encode4(156669), // Rule ID 6475 //
55496 /* 156620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55497 /* 156623 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55498 /* 156627 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55499 /* 156631 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55500 /* 156634 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55501 /* 156638 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55502 /* 156642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55503 /* 156644 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55504 /* 156651 */ // (fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55505 /* 156651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrm),
55506 /* 156654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55507 /* 156656 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55508 /* 156658 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55509 /* 156662 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55510 /* 156667 */ GIR_RootConstrainSelectedInstOperands,
55511 /* 156668 */ // GIR_Coverage, 6475,
55512 /* 156668 */ GIR_EraseRootFromParent_Done,
55513 /* 156669 */ // Label 3459: @156669
55514 /* 156669 */ GIM_Try, /*On fail goto*//*Label 3460*/ GIMT_Encode4(156692), // Rule ID 6471 //
55515 /* 156674 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55516 /* 156677 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55517 /* 156681 */ // (fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VSUBPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
55518 /* 156681 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrr),
55519 /* 156686 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55520 /* 156690 */ GIR_RootConstrainSelectedInstOperands,
55521 /* 156691 */ // GIR_Coverage, 6471,
55522 /* 156691 */ GIR_Done,
55523 /* 156692 */ // Label 3460: @156692
55524 /* 156692 */ GIM_Reject,
55525 /* 156693 */ // Label 3458: @156693
55526 /* 156693 */ GIM_Reject,
55527 /* 156694 */ // Label 3385: @156694
55528 /* 156694 */ GIM_Try, /*On fail goto*//*Label 3461*/ GIMT_Encode4(156923),
55529 /* 156699 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
55530 /* 156702 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
55531 /* 156705 */ GIM_Try, /*On fail goto*//*Label 3462*/ GIMT_Encode4(156767), // Rule ID 2197 //
55532 /* 156710 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55533 /* 156713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55534 /* 156717 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55535 /* 156721 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55536 /* 156725 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55537 /* 156729 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55538 /* 156732 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55539 /* 156736 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55540 /* 156740 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55541 /* 156742 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55542 /* 156749 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55543 /* 156749 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDrm),
55544 /* 156752 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55545 /* 156754 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55546 /* 156756 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55547 /* 156760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55548 /* 156765 */ GIR_RootConstrainSelectedInstOperands,
55549 /* 156766 */ // GIR_Coverage, 2197,
55550 /* 156766 */ GIR_EraseRootFromParent_Done,
55551 /* 156767 */ // Label 3462: @156767
55552 /* 156767 */ GIM_Try, /*On fail goto*//*Label 3463*/ GIMT_Encode4(156829), // Rule ID 6523 //
55553 /* 156772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55554 /* 156775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55555 /* 156779 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55556 /* 156783 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55557 /* 156787 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55558 /* 156791 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55559 /* 156794 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55560 /* 156798 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55561 /* 156802 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55562 /* 156804 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55563 /* 156811 */ // (fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55564 /* 156811 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rm),
55565 /* 156814 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55566 /* 156816 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55567 /* 156818 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55568 /* 156822 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55569 /* 156827 */ GIR_RootConstrainSelectedInstOperands,
55570 /* 156828 */ // GIR_Coverage, 6523,
55571 /* 156828 */ GIR_EraseRootFromParent_Done,
55572 /* 156829 */ // Label 3463: @156829
55573 /* 156829 */ GIM_Try, /*On fail goto*//*Label 3464*/ GIMT_Encode4(156860), // Rule ID 2195 //
55574 /* 156834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55575 /* 156837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55576 /* 156841 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55577 /* 156845 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55578 /* 156849 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VSUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
55579 /* 156849 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDrr),
55580 /* 156854 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55581 /* 156858 */ GIR_RootConstrainSelectedInstOperands,
55582 /* 156859 */ // GIR_Coverage, 2195,
55583 /* 156859 */ GIR_Done,
55584 /* 156860 */ // Label 3464: @156860
55585 /* 156860 */ GIM_Try, /*On fail goto*//*Label 3465*/ GIMT_Encode4(156891), // Rule ID 2211 //
55586 /* 156865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
55587 /* 156868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55588 /* 156872 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55589 /* 156876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
55590 /* 156880 */ // (fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (SUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
55591 /* 156880 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPDrr),
55592 /* 156885 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55593 /* 156889 */ GIR_RootConstrainSelectedInstOperands,
55594 /* 156890 */ // GIR_Coverage, 2211,
55595 /* 156890 */ GIR_Done,
55596 /* 156891 */ // Label 3465: @156891
55597 /* 156891 */ GIM_Try, /*On fail goto*//*Label 3466*/ GIMT_Encode4(156922), // Rule ID 6519 //
55598 /* 156896 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55599 /* 156899 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55600 /* 156903 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55601 /* 156907 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
55602 /* 156911 */ // (fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VSUBPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
55603 /* 156911 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rr),
55604 /* 156916 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55605 /* 156920 */ GIR_RootConstrainSelectedInstOperands,
55606 /* 156921 */ // GIR_Coverage, 6519,
55607 /* 156921 */ GIR_Done,
55608 /* 156922 */ // Label 3466: @156922
55609 /* 156922 */ GIM_Reject,
55610 /* 156923 */ // Label 3461: @156923
55611 /* 156923 */ GIM_Reject,
55612 /* 156924 */ // Label 3386: @156924
55613 /* 156924 */ GIM_Try, /*On fail goto*//*Label 3467*/ GIMT_Encode4(157122),
55614 /* 156929 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
55615 /* 156932 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
55616 /* 156935 */ GIM_Try, /*On fail goto*//*Label 3468*/ GIMT_Encode4(156997), // Rule ID 2205 //
55617 /* 156940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55618 /* 156943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55619 /* 156947 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55620 /* 156951 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55621 /* 156955 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55622 /* 156959 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55623 /* 156962 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55624 /* 156966 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55625 /* 156970 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55626 /* 156972 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55627 /* 156979 */ // (fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55628 /* 156979 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrm),
55629 /* 156982 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55630 /* 156984 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55631 /* 156986 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55632 /* 156990 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55633 /* 156995 */ GIR_RootConstrainSelectedInstOperands,
55634 /* 156996 */ // GIR_Coverage, 2205,
55635 /* 156996 */ GIR_EraseRootFromParent_Done,
55636 /* 156997 */ // Label 3468: @156997
55637 /* 156997 */ GIM_Try, /*On fail goto*//*Label 3469*/ GIMT_Encode4(157059), // Rule ID 6535 //
55638 /* 157002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55639 /* 157005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55640 /* 157009 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55641 /* 157013 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55642 /* 157017 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55643 /* 157021 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55644 /* 157024 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55645 /* 157028 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55646 /* 157032 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55647 /* 157034 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55648 /* 157041 */ // (fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55649 /* 157041 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rm),
55650 /* 157044 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55651 /* 157046 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55652 /* 157048 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55653 /* 157052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55654 /* 157057 */ GIR_RootConstrainSelectedInstOperands,
55655 /* 157058 */ // GIR_Coverage, 6535,
55656 /* 157058 */ GIR_EraseRootFromParent_Done,
55657 /* 157059 */ // Label 3469: @157059
55658 /* 157059 */ GIM_Try, /*On fail goto*//*Label 3470*/ GIMT_Encode4(157090), // Rule ID 2203 //
55659 /* 157064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
55660 /* 157067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55661 /* 157071 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55662 /* 157075 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
55663 /* 157079 */ // (fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VSUBPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
55664 /* 157079 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrr),
55665 /* 157084 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55666 /* 157088 */ GIR_RootConstrainSelectedInstOperands,
55667 /* 157089 */ // GIR_Coverage, 2203,
55668 /* 157089 */ GIR_Done,
55669 /* 157090 */ // Label 3470: @157090
55670 /* 157090 */ GIM_Try, /*On fail goto*//*Label 3471*/ GIMT_Encode4(157121), // Rule ID 6531 //
55671 /* 157095 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
55672 /* 157098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55673 /* 157102 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55674 /* 157106 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
55675 /* 157110 */ // (fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VSUBPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
55676 /* 157110 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rr),
55677 /* 157115 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55678 /* 157119 */ GIR_RootConstrainSelectedInstOperands,
55679 /* 157120 */ // GIR_Coverage, 6531,
55680 /* 157120 */ GIR_Done,
55681 /* 157121 */ // Label 3471: @157121
55682 /* 157121 */ GIM_Reject,
55683 /* 157122 */ // Label 3467: @157122
55684 /* 157122 */ GIM_Reject,
55685 /* 157123 */ // Label 3387: @157123
55686 /* 157123 */ GIM_Try, /*On fail goto*//*Label 3472*/ GIMT_Encode4(157220),
55687 /* 157128 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
55688 /* 157131 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
55689 /* 157134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55690 /* 157138 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55691 /* 157142 */ GIM_Try, /*On fail goto*//*Label 3473*/ GIMT_Encode4(157196), // Rule ID 6487 //
55692 /* 157147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55693 /* 157150 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55694 /* 157154 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55695 /* 157158 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55696 /* 157161 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55697 /* 157165 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55698 /* 157169 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55699 /* 157171 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55700 /* 157178 */ // (fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSUBPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
55701 /* 157178 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrm),
55702 /* 157181 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55703 /* 157183 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55704 /* 157185 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55705 /* 157189 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55706 /* 157194 */ GIR_RootConstrainSelectedInstOperands,
55707 /* 157195 */ // GIR_Coverage, 6487,
55708 /* 157195 */ GIR_EraseRootFromParent_Done,
55709 /* 157196 */ // Label 3473: @157196
55710 /* 157196 */ GIM_Try, /*On fail goto*//*Label 3474*/ GIMT_Encode4(157219), // Rule ID 6483 //
55711 /* 157201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55712 /* 157204 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
55713 /* 157208 */ // (fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VSUBPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
55714 /* 157208 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrr),
55715 /* 157213 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55716 /* 157217 */ GIR_RootConstrainSelectedInstOperands,
55717 /* 157218 */ // GIR_Coverage, 6483,
55718 /* 157218 */ GIR_Done,
55719 /* 157219 */ // Label 3474: @157219
55720 /* 157219 */ GIM_Reject,
55721 /* 157220 */ // Label 3472: @157220
55722 /* 157220 */ GIM_Reject,
55723 /* 157221 */ // Label 3388: @157221
55724 /* 157221 */ GIM_Reject,
55725 /* 157222 */ // Label 44: @157222
55726 /* 157222 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 3488*/ GIMT_Encode4(163143),
55727 /* 157233 */ /*GILLT_s16*//*Label 3475*/ GIMT_Encode4(157325),
55728 /* 157237 */ /*GILLT_s32*//*Label 3476*/ GIMT_Encode4(157485),
55729 /* 157241 */ /*GILLT_s64*//*Label 3477*/ GIMT_Encode4(158882),
55730 /* 157245 */ /*GILLT_s80*//*Label 3478*/ GIMT_Encode4(160423), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
55731 /* 157289 */ /*GILLT_v8s16*//*Label 3479*/ GIMT_Encode4(160989),
55732 /* 157293 */ /*GILLT_v16s16*//*Label 3480*/ GIMT_Encode4(161149),
55733 /* 157297 */ /*GILLT_v32s16*//*Label 3481*/ GIMT_Encode4(161309),
55734 /* 157301 */ /*GILLT_v4s32*//*Label 3482*/ GIMT_Encode4(161469),
55735 /* 157305 */ /*GILLT_v8s32*//*Label 3483*/ GIMT_Encode4(161823),
55736 /* 157309 */ /*GILLT_v16s32*//*Label 3484*/ GIMT_Encode4(162146),
55737 /* 157313 */ /*GILLT_v2s64*//*Label 3485*/ GIMT_Encode4(162306),
55738 /* 157317 */ /*GILLT_v4s64*//*Label 3486*/ GIMT_Encode4(162660),
55739 /* 157321 */ /*GILLT_v8s64*//*Label 3487*/ GIMT_Encode4(162983),
55740 /* 157325 */ // Label 3475: @157325
55741 /* 157325 */ GIM_Try, /*On fail goto*//*Label 3489*/ GIMT_Encode4(157484),
55742 /* 157330 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
55743 /* 157333 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
55744 /* 157336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
55745 /* 157340 */ GIM_Try, /*On fail goto*//*Label 3490*/ GIMT_Encode4(157398), // Rule ID 24314 //
55746 /* 157345 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55747 /* 157348 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55748 /* 157352 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55749 /* 157356 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55750 /* 157359 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55751 /* 157363 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55752 /* 157367 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
55753 /* 157371 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55754 /* 157373 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55755 /* 157380 */ // (fmul:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR16X:{ *:[f16] }:$src1) => (VMULSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55756 /* 157380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
55757 /* 157383 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55758 /* 157385 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55759 /* 157387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55760 /* 157391 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55761 /* 157396 */ GIR_RootConstrainSelectedInstOperands,
55762 /* 157397 */ // GIR_Coverage, 24314,
55763 /* 157397 */ GIR_EraseRootFromParent_Done,
55764 /* 157398 */ // Label 3490: @157398
55765 /* 157398 */ GIM_Try, /*On fail goto*//*Label 3491*/ GIMT_Encode4(157456), // Rule ID 5992 //
55766 /* 157403 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55767 /* 157406 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
55768 /* 157410 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55769 /* 157414 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
55770 /* 157418 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
55771 /* 157421 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
55772 /* 157425 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55773 /* 157429 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55774 /* 157431 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55775 /* 157438 */ // (fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
55776 /* 157438 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
55777 /* 157441 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55778 /* 157443 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55779 /* 157445 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55780 /* 157449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55781 /* 157454 */ GIR_RootConstrainSelectedInstOperands,
55782 /* 157455 */ // GIR_Coverage, 5992,
55783 /* 157455 */ GIR_EraseRootFromParent_Done,
55784 /* 157456 */ // Label 3491: @157456
55785 /* 157456 */ GIM_Try, /*On fail goto*//*Label 3492*/ GIMT_Encode4(157483), // Rule ID 5990 //
55786 /* 157461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
55787 /* 157464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
55788 /* 157468 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
55789 /* 157472 */ // (fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VMULSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
55790 /* 157472 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSHZrr),
55791 /* 157477 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
55792 /* 157481 */ GIR_RootConstrainSelectedInstOperands,
55793 /* 157482 */ // GIR_Coverage, 5990,
55794 /* 157482 */ GIR_Done,
55795 /* 157483 */ // Label 3492: @157483
55796 /* 157483 */ GIM_Reject,
55797 /* 157484 */ // Label 3489: @157484
55798 /* 157484 */ GIM_Reject,
55799 /* 157485 */ // Label 3476: @157485
55800 /* 157485 */ GIM_Try, /*On fail goto*//*Label 3493*/ GIMT_Encode4(158881),
55801 /* 157490 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
55802 /* 157493 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
55803 /* 157496 */ GIM_Try, /*On fail goto*//*Label 3494*/ GIMT_Encode4(157578), // Rule ID 26082 //
55804 /* 157501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
55805 /* 157504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55806 /* 157508 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55807 /* 157512 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55808 /* 157516 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
55809 /* 157520 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55810 /* 157524 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55811 /* 157528 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55812 /* 157531 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55813 /* 157535 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55814 /* 157542 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55815 /* 157546 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55816 /* 157550 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55817 /* 157552 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55818 /* 157559 */ // (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)
55819 /* 157559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
55820 /* 157562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55821 /* 157564 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55822 /* 157566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55823 /* 157570 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55824 /* 157576 */ GIR_RootConstrainSelectedInstOperands,
55825 /* 157577 */ // GIR_Coverage, 26082,
55826 /* 157577 */ GIR_EraseRootFromParent_Done,
55827 /* 157578 */ // Label 3494: @157578
55828 /* 157578 */ GIM_Try, /*On fail goto*//*Label 3495*/ GIMT_Encode4(157660), // Rule ID 26083 //
55829 /* 157583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
55830 /* 157586 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55831 /* 157590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55832 /* 157594 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55833 /* 157598 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
55834 /* 157602 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55835 /* 157606 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55836 /* 157610 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55837 /* 157613 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55838 /* 157617 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55839 /* 157624 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55840 /* 157628 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55841 /* 157632 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55842 /* 157634 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55843 /* 157641 */ // (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)
55844 /* 157641 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
55845 /* 157644 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55846 /* 157646 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55847 /* 157648 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55848 /* 157652 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55849 /* 157658 */ GIR_RootConstrainSelectedInstOperands,
55850 /* 157659 */ // GIR_Coverage, 26083,
55851 /* 157659 */ GIR_EraseRootFromParent_Done,
55852 /* 157660 */ // Label 3495: @157660
55853 /* 157660 */ GIM_Try, /*On fail goto*//*Label 3496*/ GIMT_Encode4(157742), // Rule ID 26084 //
55854 /* 157665 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55855 /* 157668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55856 /* 157672 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55857 /* 157676 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55858 /* 157680 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
55859 /* 157684 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55860 /* 157688 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55861 /* 157692 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55862 /* 157695 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55863 /* 157699 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55864 /* 157706 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55865 /* 157710 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55866 /* 157714 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55867 /* 157716 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55868 /* 157723 */ // (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)
55869 /* 157723 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
55870 /* 157726 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55871 /* 157728 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55872 /* 157730 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55873 /* 157734 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55874 /* 157740 */ GIR_RootConstrainSelectedInstOperands,
55875 /* 157741 */ // GIR_Coverage, 26084,
55876 /* 157741 */ GIR_EraseRootFromParent_Done,
55877 /* 157742 */ // Label 3496: @157742
55878 /* 157742 */ GIM_Try, /*On fail goto*//*Label 3497*/ GIMT_Encode4(157824), // Rule ID 22516 //
55879 /* 157747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
55880 /* 157750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55881 /* 157754 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55882 /* 157758 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55883 /* 157762 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55884 /* 157766 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
55885 /* 157770 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55886 /* 157774 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55887 /* 157778 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55888 /* 157781 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55889 /* 157785 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55890 /* 157792 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55891 /* 157796 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55892 /* 157798 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55893 /* 157805 */ // (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)
55894 /* 157805 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
55895 /* 157808 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55896 /* 157810 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55897 /* 157812 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55898 /* 157816 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55899 /* 157822 */ GIR_RootConstrainSelectedInstOperands,
55900 /* 157823 */ // GIR_Coverage, 22516,
55901 /* 157823 */ GIR_EraseRootFromParent_Done,
55902 /* 157824 */ // Label 3497: @157824
55903 /* 157824 */ GIM_Try, /*On fail goto*//*Label 3498*/ GIMT_Encode4(157906), // Rule ID 22517 //
55904 /* 157829 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
55905 /* 157832 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55906 /* 157836 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
55907 /* 157840 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55908 /* 157844 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55909 /* 157848 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
55910 /* 157852 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55911 /* 157856 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55912 /* 157860 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55913 /* 157863 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55914 /* 157867 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55915 /* 157874 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55916 /* 157878 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55917 /* 157880 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55918 /* 157887 */ // (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)
55919 /* 157887 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
55920 /* 157890 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55921 /* 157892 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55922 /* 157894 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55923 /* 157898 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55924 /* 157904 */ GIR_RootConstrainSelectedInstOperands,
55925 /* 157905 */ // GIR_Coverage, 22517,
55926 /* 157905 */ GIR_EraseRootFromParent_Done,
55927 /* 157906 */ // Label 3498: @157906
55928 /* 157906 */ GIM_Try, /*On fail goto*//*Label 3499*/ GIMT_Encode4(157988), // Rule ID 22518 //
55929 /* 157911 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
55930 /* 157914 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55931 /* 157918 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
55932 /* 157922 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
55933 /* 157926 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
55934 /* 157930 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
55935 /* 157934 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
55936 /* 157938 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
55937 /* 157942 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
55938 /* 157945 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
55939 /* 157949 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55940 /* 157956 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
55941 /* 157960 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
55942 /* 157962 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55943 /* 157969 */ // (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)
55944 /* 157969 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
55945 /* 157972 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55946 /* 157974 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
55947 /* 157976 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55948 /* 157980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
55949 /* 157986 */ GIR_RootConstrainSelectedInstOperands,
55950 /* 157987 */ // GIR_Coverage, 22518,
55951 /* 157987 */ GIR_EraseRootFromParent_Done,
55952 /* 157988 */ // Label 3499: @157988
55953 /* 157988 */ GIM_Try, /*On fail goto*//*Label 3500*/ GIMT_Encode4(158053), // Rule ID 23327 //
55954 /* 157993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
55955 /* 157996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55956 /* 158000 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55957 /* 158004 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55958 /* 158008 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
55959 /* 158015 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55960 /* 158019 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55961 /* 158023 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55962 /* 158025 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55963 /* 158032 */ // (fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55964 /* 158032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
55965 /* 158035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55966 /* 158037 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55967 /* 158039 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55968 /* 158043 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55969 /* 158046 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55970 /* 158051 */ GIR_RootConstrainSelectedInstOperands,
55971 /* 158052 */ // GIR_Coverage, 23327,
55972 /* 158052 */ GIR_EraseRootFromParent_Done,
55973 /* 158053 */ // Label 3500: @158053
55974 /* 158053 */ GIM_Try, /*On fail goto*//*Label 3501*/ GIMT_Encode4(158118), // Rule ID 23329 //
55975 /* 158058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
55976 /* 158061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55977 /* 158065 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55978 /* 158069 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
55979 /* 158073 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
55980 /* 158080 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
55981 /* 158084 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55982 /* 158088 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
55983 /* 158090 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
55984 /* 158097 */ // (fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
55985 /* 158097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
55986 /* 158100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
55987 /* 158102 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
55988 /* 158104 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
55989 /* 158108 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
55990 /* 158111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
55991 /* 158116 */ GIR_RootConstrainSelectedInstOperands,
55992 /* 158117 */ // GIR_Coverage, 23329,
55993 /* 158117 */ GIR_EraseRootFromParent_Done,
55994 /* 158118 */ // Label 3501: @158118
55995 /* 158118 */ GIM_Try, /*On fail goto*//*Label 3502*/ GIMT_Encode4(158183), // Rule ID 23317 //
55996 /* 158123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
55997 /* 158126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
55998 /* 158130 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
55999 /* 158134 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56000 /* 158138 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56001 /* 158141 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56002 /* 158145 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56003 /* 158149 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56004 /* 158153 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56005 /* 158155 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56006 /* 158162 */ // (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)
56007 /* 158162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
56008 /* 158165 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56009 /* 158167 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56010 /* 158169 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56011 /* 158173 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56012 /* 158176 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56013 /* 158181 */ GIR_RootConstrainSelectedInstOperands,
56014 /* 158182 */ // GIR_Coverage, 23317,
56015 /* 158182 */ GIR_EraseRootFromParent_Done,
56016 /* 158183 */ // Label 3502: @158183
56017 /* 158183 */ GIM_Try, /*On fail goto*//*Label 3503*/ GIMT_Encode4(158245), // Rule ID 23460 //
56018 /* 158188 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56019 /* 158191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56020 /* 158195 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56021 /* 158199 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56022 /* 158203 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56023 /* 158206 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56024 /* 158210 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56025 /* 158214 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56026 /* 158218 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56027 /* 158220 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56028 /* 158227 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (VMULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56029 /* 158227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
56030 /* 158230 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56031 /* 158232 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56032 /* 158234 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56033 /* 158238 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56034 /* 158243 */ GIR_RootConstrainSelectedInstOperands,
56035 /* 158244 */ // GIR_Coverage, 23460,
56036 /* 158244 */ GIR_EraseRootFromParent_Done,
56037 /* 158245 */ // Label 3503: @158245
56038 /* 158245 */ GIM_Try, /*On fail goto*//*Label 3504*/ GIMT_Encode4(158307), // Rule ID 23464 //
56039 /* 158250 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56040 /* 158253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56041 /* 158257 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56042 /* 158261 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56043 /* 158265 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56044 /* 158268 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56045 /* 158272 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56046 /* 158276 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56047 /* 158280 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56048 /* 158282 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56049 /* 158289 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32:{ *:[f32] }:$src1) => (MULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56050 /* 158289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
56051 /* 158292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56052 /* 158294 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56053 /* 158296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56054 /* 158300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56055 /* 158305 */ GIR_RootConstrainSelectedInstOperands,
56056 /* 158306 */ // GIR_Coverage, 23464,
56057 /* 158306 */ GIR_EraseRootFromParent_Done,
56058 /* 158307 */ // Label 3504: @158307
56059 /* 158307 */ GIM_Try, /*On fail goto*//*Label 3505*/ GIMT_Encode4(158369), // Rule ID 24310 //
56060 /* 158312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56061 /* 158315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56062 /* 158319 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56063 /* 158323 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56064 /* 158327 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56065 /* 158330 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56066 /* 158334 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56067 /* 158338 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56068 /* 158342 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56069 /* 158344 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56070 /* 158351 */ // (fmul:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR32X:{ *:[f32] }:$src1) => (VMULSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56071 /* 158351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
56072 /* 158354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56073 /* 158356 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56074 /* 158358 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56075 /* 158362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56076 /* 158367 */ GIR_RootConstrainSelectedInstOperands,
56077 /* 158368 */ // GIR_Coverage, 24310,
56078 /* 158368 */ GIR_EraseRootFromParent_Done,
56079 /* 158369 */ // Label 3505: @158369
56080 /* 158369 */ GIM_Try, /*On fail goto*//*Label 3506*/ GIMT_Encode4(158434), // Rule ID 963 //
56081 /* 158374 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
56082 /* 158377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56083 /* 158381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56084 /* 158385 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56085 /* 158389 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56086 /* 158393 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
56087 /* 158400 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56088 /* 158404 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56089 /* 158406 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56090 /* 158413 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56091 /* 158413 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
56092 /* 158416 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56093 /* 158418 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56094 /* 158420 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56095 /* 158424 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56096 /* 158427 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56097 /* 158432 */ GIR_RootConstrainSelectedInstOperands,
56098 /* 158433 */ // GIR_Coverage, 963,
56099 /* 158433 */ GIR_EraseRootFromParent_Done,
56100 /* 158434 */ // Label 3506: @158434
56101 /* 158434 */ GIM_Try, /*On fail goto*//*Label 3507*/ GIMT_Encode4(158499), // Rule ID 965 //
56102 /* 158439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
56103 /* 158442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56104 /* 158446 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56105 /* 158450 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56106 /* 158454 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56107 /* 158458 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56108 /* 158465 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56109 /* 158469 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56110 /* 158471 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56111 /* 158478 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56112 /* 158478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
56113 /* 158481 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56114 /* 158483 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56115 /* 158485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56116 /* 158489 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56117 /* 158492 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56118 /* 158497 */ GIR_RootConstrainSelectedInstOperands,
56119 /* 158498 */ // GIR_Coverage, 965,
56120 /* 158498 */ GIR_EraseRootFromParent_Done,
56121 /* 158499 */ // Label 3507: @158499
56122 /* 158499 */ GIM_Try, /*On fail goto*//*Label 3508*/ GIMT_Encode4(158564), // Rule ID 953 //
56123 /* 158504 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
56124 /* 158507 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56125 /* 158511 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56126 /* 158515 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56127 /* 158519 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56128 /* 158523 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56129 /* 158526 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56130 /* 158530 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56131 /* 158534 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56132 /* 158536 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56133 /* 158543 */ // (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)
56134 /* 158543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
56135 /* 158546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56136 /* 158548 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56137 /* 158550 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56138 /* 158554 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56139 /* 158557 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56140 /* 158562 */ GIR_RootConstrainSelectedInstOperands,
56141 /* 158563 */ // GIR_Coverage, 953,
56142 /* 158563 */ GIR_EraseRootFromParent_Done,
56143 /* 158564 */ // Label 3508: @158564
56144 /* 158564 */ GIM_Try, /*On fail goto*//*Label 3509*/ GIMT_Encode4(158626), // Rule ID 2177 //
56145 /* 158569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56146 /* 158572 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56147 /* 158576 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56148 /* 158580 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56149 /* 158584 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56150 /* 158588 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56151 /* 158591 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56152 /* 158595 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56153 /* 158599 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56154 /* 158601 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56155 /* 158608 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56156 /* 158608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
56157 /* 158611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56158 /* 158613 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56159 /* 158615 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56160 /* 158619 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56161 /* 158624 */ GIR_RootConstrainSelectedInstOperands,
56162 /* 158625 */ // GIR_Coverage, 2177,
56163 /* 158625 */ GIR_EraseRootFromParent_Done,
56164 /* 158626 */ // Label 3509: @158626
56165 /* 158626 */ GIM_Try, /*On fail goto*//*Label 3510*/ GIMT_Encode4(158688), // Rule ID 2185 //
56166 /* 158631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56167 /* 158634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56168 /* 158638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56169 /* 158642 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56170 /* 158646 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56171 /* 158650 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56172 /* 158653 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56173 /* 158657 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56174 /* 158661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56175 /* 158663 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56176 /* 158670 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MULSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56177 /* 158670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
56178 /* 158673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56179 /* 158675 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56180 /* 158677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56181 /* 158681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56182 /* 158686 */ GIR_RootConstrainSelectedInstOperands,
56183 /* 158687 */ // GIR_Coverage, 2185,
56184 /* 158687 */ GIR_EraseRootFromParent_Done,
56185 /* 158688 */ // Label 3510: @158688
56186 /* 158688 */ GIM_Try, /*On fail goto*//*Label 3511*/ GIMT_Encode4(158750), // Rule ID 5954 //
56187 /* 158693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56188 /* 158696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56189 /* 158700 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56190 /* 158704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56191 /* 158708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56192 /* 158712 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56193 /* 158715 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56194 /* 158719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56195 /* 158723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56196 /* 158725 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56197 /* 158732 */ // (fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
56198 /* 158732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
56199 /* 158735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56200 /* 158737 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56201 /* 158739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56202 /* 158743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56203 /* 158748 */ GIR_RootConstrainSelectedInstOperands,
56204 /* 158749 */ // GIR_Coverage, 5954,
56205 /* 158749 */ GIR_EraseRootFromParent_Done,
56206 /* 158750 */ // Label 3511: @158750
56207 /* 158750 */ GIM_Try, /*On fail goto*//*Label 3512*/ GIMT_Encode4(158787), // Rule ID 875 //
56208 /* 158755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
56209 /* 158758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56210 /* 158762 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56211 /* 158766 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
56212 /* 158770 */ // (fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (MUL_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
56213 /* 158770 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32),
56214 /* 158775 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
56215 /* 158781 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
56216 /* 158785 */ GIR_RootConstrainSelectedInstOperands,
56217 /* 158786 */ // GIR_Coverage, 875,
56218 /* 158786 */ GIR_Done,
56219 /* 158787 */ // Label 3512: @158787
56220 /* 158787 */ GIM_Try, /*On fail goto*//*Label 3513*/ GIMT_Encode4(158818), // Rule ID 2175 //
56221 /* 158792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56222 /* 158795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56223 /* 158799 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56224 /* 158803 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56225 /* 158807 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VMULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
56226 /* 158807 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSrr),
56227 /* 158812 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56228 /* 158816 */ GIR_RootConstrainSelectedInstOperands,
56229 /* 158817 */ // GIR_Coverage, 2175,
56230 /* 158817 */ GIR_Done,
56231 /* 158818 */ // Label 3513: @158818
56232 /* 158818 */ GIM_Try, /*On fail goto*//*Label 3514*/ GIMT_Encode4(158849), // Rule ID 2183 //
56233 /* 158823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56234 /* 158826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56235 /* 158830 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56236 /* 158834 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
56237 /* 158838 */ // (fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (MULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
56238 /* 158838 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSSrr),
56239 /* 158843 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56240 /* 158847 */ GIR_RootConstrainSelectedInstOperands,
56241 /* 158848 */ // GIR_Coverage, 2183,
56242 /* 158848 */ GIR_Done,
56243 /* 158849 */ // Label 3514: @158849
56244 /* 158849 */ GIM_Try, /*On fail goto*//*Label 3515*/ GIMT_Encode4(158880), // Rule ID 5952 //
56245 /* 158854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56246 /* 158857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56247 /* 158861 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56248 /* 158865 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
56249 /* 158869 */ // (fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VMULSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
56250 /* 158869 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSZrr),
56251 /* 158874 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56252 /* 158878 */ GIR_RootConstrainSelectedInstOperands,
56253 /* 158879 */ // GIR_Coverage, 5952,
56254 /* 158879 */ GIR_Done,
56255 /* 158880 */ // Label 3515: @158880
56256 /* 158880 */ GIM_Reject,
56257 /* 158881 */ // Label 3493: @158881
56258 /* 158881 */ GIM_Reject,
56259 /* 158882 */ // Label 3477: @158882
56260 /* 158882 */ GIM_Try, /*On fail goto*//*Label 3516*/ GIMT_Encode4(160422),
56261 /* 158887 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
56262 /* 158890 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
56263 /* 158893 */ GIM_Try, /*On fail goto*//*Label 3517*/ GIMT_Encode4(158975), // Rule ID 26085 //
56264 /* 158898 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56265 /* 158901 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56266 /* 158905 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56267 /* 158909 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56268 /* 158913 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56269 /* 158917 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56270 /* 158921 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56271 /* 158925 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56272 /* 158928 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56273 /* 158932 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56274 /* 158939 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56275 /* 158943 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56276 /* 158947 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56277 /* 158949 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56278 /* 158956 */ // (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)
56279 /* 158956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
56280 /* 158959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56281 /* 158961 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56282 /* 158963 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56283 /* 158967 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56284 /* 158973 */ GIR_RootConstrainSelectedInstOperands,
56285 /* 158974 */ // GIR_Coverage, 26085,
56286 /* 158974 */ GIR_EraseRootFromParent_Done,
56287 /* 158975 */ // Label 3517: @158975
56288 /* 158975 */ GIM_Try, /*On fail goto*//*Label 3518*/ GIMT_Encode4(159057), // Rule ID 26086 //
56289 /* 158980 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56290 /* 158983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56291 /* 158987 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56292 /* 158991 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56293 /* 158995 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56294 /* 158999 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56295 /* 159003 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56296 /* 159007 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56297 /* 159010 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56298 /* 159014 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56299 /* 159021 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56300 /* 159025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56301 /* 159029 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56302 /* 159031 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56303 /* 159038 */ // (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)
56304 /* 159038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
56305 /* 159041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56306 /* 159043 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56307 /* 159045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56308 /* 159049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56309 /* 159055 */ GIR_RootConstrainSelectedInstOperands,
56310 /* 159056 */ // GIR_Coverage, 26086,
56311 /* 159056 */ GIR_EraseRootFromParent_Done,
56312 /* 159057 */ // Label 3518: @159057
56313 /* 159057 */ GIM_Try, /*On fail goto*//*Label 3519*/ GIMT_Encode4(159139), // Rule ID 26087 //
56314 /* 159062 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56315 /* 159065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56316 /* 159069 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56317 /* 159073 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56318 /* 159077 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56319 /* 159081 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56320 /* 159085 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56321 /* 159089 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56322 /* 159092 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56323 /* 159096 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56324 /* 159103 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56325 /* 159107 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56326 /* 159111 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56327 /* 159113 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56328 /* 159120 */ // (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)
56329 /* 159120 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
56330 /* 159123 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56331 /* 159125 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56332 /* 159127 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56333 /* 159131 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56334 /* 159137 */ GIR_RootConstrainSelectedInstOperands,
56335 /* 159138 */ // GIR_Coverage, 26087,
56336 /* 159138 */ GIR_EraseRootFromParent_Done,
56337 /* 159139 */ // Label 3519: @159139
56338 /* 159139 */ GIM_Try, /*On fail goto*//*Label 3520*/ GIMT_Encode4(159221), // Rule ID 22519 //
56339 /* 159144 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
56340 /* 159147 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56341 /* 159151 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56342 /* 159155 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56343 /* 159159 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56344 /* 159163 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56345 /* 159167 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56346 /* 159171 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56347 /* 159175 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56348 /* 159178 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56349 /* 159182 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56350 /* 159189 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56351 /* 159193 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56352 /* 159195 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56353 /* 159202 */ // (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)
56354 /* 159202 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
56355 /* 159205 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56356 /* 159207 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56357 /* 159209 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56358 /* 159213 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56359 /* 159219 */ GIR_RootConstrainSelectedInstOperands,
56360 /* 159220 */ // GIR_Coverage, 22519,
56361 /* 159220 */ GIR_EraseRootFromParent_Done,
56362 /* 159221 */ // Label 3520: @159221
56363 /* 159221 */ GIM_Try, /*On fail goto*//*Label 3521*/ GIMT_Encode4(159303), // Rule ID 22520 //
56364 /* 159226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56365 /* 159229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56366 /* 159233 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56367 /* 159237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56368 /* 159241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56369 /* 159245 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56370 /* 159249 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56371 /* 159253 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56372 /* 159257 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56373 /* 159260 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56374 /* 159264 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56375 /* 159271 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56376 /* 159275 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56377 /* 159277 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56378 /* 159284 */ // (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)
56379 /* 159284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
56380 /* 159287 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56381 /* 159289 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56382 /* 159291 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56383 /* 159295 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56384 /* 159301 */ GIR_RootConstrainSelectedInstOperands,
56385 /* 159302 */ // GIR_Coverage, 22520,
56386 /* 159302 */ GIR_EraseRootFromParent_Done,
56387 /* 159303 */ // Label 3521: @159303
56388 /* 159303 */ GIM_Try, /*On fail goto*//*Label 3522*/ GIMT_Encode4(159385), // Rule ID 22521 //
56389 /* 159308 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56390 /* 159311 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56391 /* 159315 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56392 /* 159319 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56393 /* 159323 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
56394 /* 159327 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
56395 /* 159331 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
56396 /* 159335 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
56397 /* 159339 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
56398 /* 159342 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
56399 /* 159346 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56400 /* 159353 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
56401 /* 159357 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
56402 /* 159359 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56403 /* 159366 */ // (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)
56404 /* 159366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
56405 /* 159369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56406 /* 159371 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56407 /* 159373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56408 /* 159377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
56409 /* 159383 */ GIR_RootConstrainSelectedInstOperands,
56410 /* 159384 */ // GIR_Coverage, 22521,
56411 /* 159384 */ GIR_EraseRootFromParent_Done,
56412 /* 159385 */ // Label 3522: @159385
56413 /* 159385 */ GIM_Try, /*On fail goto*//*Label 3523*/ GIMT_Encode4(159450), // Rule ID 23331 //
56414 /* 159390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56415 /* 159393 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56416 /* 159397 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56417 /* 159401 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56418 /* 159405 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
56419 /* 159412 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56420 /* 159416 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56421 /* 159420 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56422 /* 159422 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56423 /* 159429 */ // (fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56424 /* 159429 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
56425 /* 159432 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56426 /* 159434 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56427 /* 159436 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56428 /* 159440 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56429 /* 159443 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56430 /* 159448 */ GIR_RootConstrainSelectedInstOperands,
56431 /* 159449 */ // GIR_Coverage, 23331,
56432 /* 159449 */ GIR_EraseRootFromParent_Done,
56433 /* 159450 */ // Label 3523: @159450
56434 /* 159450 */ GIM_Try, /*On fail goto*//*Label 3524*/ GIMT_Encode4(159515), // Rule ID 23333 //
56435 /* 159455 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56436 /* 159458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56437 /* 159462 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56438 /* 159466 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56439 /* 159470 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56440 /* 159477 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56441 /* 159481 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56442 /* 159485 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56443 /* 159487 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56444 /* 159494 */ // (fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56445 /* 159494 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
56446 /* 159497 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56447 /* 159499 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56448 /* 159501 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56449 /* 159505 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56450 /* 159508 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56451 /* 159513 */ GIR_RootConstrainSelectedInstOperands,
56452 /* 159514 */ // GIR_Coverage, 23333,
56453 /* 159514 */ GIR_EraseRootFromParent_Done,
56454 /* 159515 */ // Label 3524: @159515
56455 /* 159515 */ GIM_Try, /*On fail goto*//*Label 3525*/ GIMT_Encode4(159580), // Rule ID 23319 //
56456 /* 159520 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56457 /* 159523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56458 /* 159527 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56459 /* 159531 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56460 /* 159535 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56461 /* 159538 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56462 /* 159542 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56463 /* 159546 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56464 /* 159550 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56465 /* 159552 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56466 /* 159559 */ // (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)
56467 /* 159559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
56468 /* 159562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56469 /* 159564 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56470 /* 159566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56471 /* 159570 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56472 /* 159573 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56473 /* 159578 */ GIR_RootConstrainSelectedInstOperands,
56474 /* 159579 */ // GIR_Coverage, 23319,
56475 /* 159579 */ GIR_EraseRootFromParent_Done,
56476 /* 159580 */ // Label 3525: @159580
56477 /* 159580 */ GIM_Try, /*On fail goto*//*Label 3526*/ GIMT_Encode4(159652), // Rule ID 23321 //
56478 /* 159585 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56479 /* 159588 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56480 /* 159592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56481 /* 159596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56482 /* 159600 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56483 /* 159603 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56484 /* 159607 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56485 /* 159614 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56486 /* 159618 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56487 /* 159622 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56488 /* 159624 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56489 /* 159631 */ // (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)
56490 /* 159631 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
56491 /* 159634 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56492 /* 159636 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56493 /* 159638 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56494 /* 159642 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56495 /* 159645 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56496 /* 159650 */ GIR_RootConstrainSelectedInstOperands,
56497 /* 159651 */ // GIR_Coverage, 23321,
56498 /* 159651 */ GIR_EraseRootFromParent_Done,
56499 /* 159652 */ // Label 3526: @159652
56500 /* 159652 */ GIM_Try, /*On fail goto*//*Label 3527*/ GIMT_Encode4(159714), // Rule ID 23462 //
56501 /* 159657 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56502 /* 159660 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56503 /* 159664 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56504 /* 159668 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56505 /* 159672 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56506 /* 159675 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56507 /* 159679 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56508 /* 159683 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56509 /* 159687 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56510 /* 159689 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56511 /* 159696 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (VMULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56512 /* 159696 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
56513 /* 159699 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56514 /* 159701 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56515 /* 159703 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56516 /* 159707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56517 /* 159712 */ GIR_RootConstrainSelectedInstOperands,
56518 /* 159713 */ // GIR_Coverage, 23462,
56519 /* 159713 */ GIR_EraseRootFromParent_Done,
56520 /* 159714 */ // Label 3527: @159714
56521 /* 159714 */ GIM_Try, /*On fail goto*//*Label 3528*/ GIMT_Encode4(159776), // Rule ID 23466 //
56522 /* 159719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
56523 /* 159722 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56524 /* 159726 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56525 /* 159730 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56526 /* 159734 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56527 /* 159737 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56528 /* 159741 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56529 /* 159745 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56530 /* 159749 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56531 /* 159751 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56532 /* 159758 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64:{ *:[f64] }:$src1) => (MULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56533 /* 159758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
56534 /* 159761 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56535 /* 159763 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56536 /* 159765 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56537 /* 159769 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56538 /* 159774 */ GIR_RootConstrainSelectedInstOperands,
56539 /* 159775 */ // GIR_Coverage, 23466,
56540 /* 159775 */ GIR_EraseRootFromParent_Done,
56541 /* 159776 */ // Label 3528: @159776
56542 /* 159776 */ GIM_Try, /*On fail goto*//*Label 3529*/ GIMT_Encode4(159838), // Rule ID 24312 //
56543 /* 159781 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56544 /* 159784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56545 /* 159788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56546 /* 159792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56547 /* 159796 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56548 /* 159799 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56549 /* 159803 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56550 /* 159807 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56551 /* 159811 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56552 /* 159813 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56553 /* 159820 */ // (fmul:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, FR64X:{ *:[f64] }:$src1) => (VMULSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56554 /* 159820 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
56555 /* 159823 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56556 /* 159825 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56557 /* 159827 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56558 /* 159831 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56559 /* 159836 */ GIR_RootConstrainSelectedInstOperands,
56560 /* 159837 */ // GIR_Coverage, 24312,
56561 /* 159837 */ GIR_EraseRootFromParent_Done,
56562 /* 159838 */ // Label 3529: @159838
56563 /* 159838 */ GIM_Try, /*On fail goto*//*Label 3530*/ GIMT_Encode4(159903), // Rule ID 967 //
56564 /* 159843 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56565 /* 159846 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56566 /* 159850 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56567 /* 159854 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56568 /* 159858 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56569 /* 159862 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
56570 /* 159869 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56571 /* 159873 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56572 /* 159875 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56573 /* 159882 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56574 /* 159882 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
56575 /* 159885 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56576 /* 159887 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56577 /* 159889 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56578 /* 159893 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56579 /* 159896 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56580 /* 159901 */ GIR_RootConstrainSelectedInstOperands,
56581 /* 159902 */ // GIR_Coverage, 967,
56582 /* 159902 */ GIR_EraseRootFromParent_Done,
56583 /* 159903 */ // Label 3530: @159903
56584 /* 159903 */ GIM_Try, /*On fail goto*//*Label 3531*/ GIMT_Encode4(159968), // Rule ID 969 //
56585 /* 159908 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56586 /* 159911 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56587 /* 159915 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56588 /* 159919 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56589 /* 159923 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56590 /* 159927 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56591 /* 159934 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56592 /* 159938 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56593 /* 159940 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56594 /* 159947 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56595 /* 159947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
56596 /* 159950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56597 /* 159952 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56598 /* 159954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56599 /* 159958 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56600 /* 159961 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56601 /* 159966 */ GIR_RootConstrainSelectedInstOperands,
56602 /* 159967 */ // GIR_Coverage, 969,
56603 /* 159967 */ GIR_EraseRootFromParent_Done,
56604 /* 159968 */ // Label 3531: @159968
56605 /* 159968 */ GIM_Try, /*On fail goto*//*Label 3532*/ GIMT_Encode4(160033), // Rule ID 955 //
56606 /* 159973 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56607 /* 159976 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56608 /* 159980 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56609 /* 159984 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56610 /* 159988 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56611 /* 159992 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56612 /* 159995 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56613 /* 159999 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56614 /* 160003 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56615 /* 160005 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56616 /* 160012 */ // (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)
56617 /* 160012 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
56618 /* 160015 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56619 /* 160017 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56620 /* 160019 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56621 /* 160023 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56622 /* 160026 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56623 /* 160031 */ GIR_RootConstrainSelectedInstOperands,
56624 /* 160032 */ // GIR_Coverage, 955,
56625 /* 160032 */ GIR_EraseRootFromParent_Done,
56626 /* 160033 */ // Label 3532: @160033
56627 /* 160033 */ GIM_Try, /*On fail goto*//*Label 3533*/ GIMT_Encode4(160105), // Rule ID 957 //
56628 /* 160038 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56629 /* 160041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56630 /* 160045 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56631 /* 160049 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56632 /* 160053 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56633 /* 160057 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56634 /* 160060 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56635 /* 160064 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56636 /* 160071 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56637 /* 160075 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56638 /* 160077 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56639 /* 160084 */ // (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)
56640 /* 160084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
56641 /* 160087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56642 /* 160089 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56643 /* 160091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56644 /* 160095 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56645 /* 160098 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56646 /* 160103 */ GIR_RootConstrainSelectedInstOperands,
56647 /* 160104 */ // GIR_Coverage, 957,
56648 /* 160104 */ GIR_EraseRootFromParent_Done,
56649 /* 160105 */ // Label 3533: @160105
56650 /* 160105 */ GIM_Try, /*On fail goto*//*Label 3534*/ GIMT_Encode4(160167), // Rule ID 2181 //
56651 /* 160110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56652 /* 160113 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56653 /* 160117 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56654 /* 160121 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56655 /* 160125 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56656 /* 160129 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56657 /* 160132 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56658 /* 160136 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56659 /* 160140 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56660 /* 160142 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56661 /* 160149 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56662 /* 160149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
56663 /* 160152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56664 /* 160154 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56665 /* 160156 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56666 /* 160160 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56667 /* 160165 */ GIR_RootConstrainSelectedInstOperands,
56668 /* 160166 */ // GIR_Coverage, 2181,
56669 /* 160166 */ GIR_EraseRootFromParent_Done,
56670 /* 160167 */ // Label 3534: @160167
56671 /* 160167 */ GIM_Try, /*On fail goto*//*Label 3535*/ GIMT_Encode4(160229), // Rule ID 2189 //
56672 /* 160172 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
56673 /* 160175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56674 /* 160179 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56675 /* 160183 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56676 /* 160187 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56677 /* 160191 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56678 /* 160194 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56679 /* 160198 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56680 /* 160202 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56681 /* 160204 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56682 /* 160211 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MULSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56683 /* 160211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
56684 /* 160214 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56685 /* 160216 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56686 /* 160218 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56687 /* 160222 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56688 /* 160227 */ GIR_RootConstrainSelectedInstOperands,
56689 /* 160228 */ // GIR_Coverage, 2189,
56690 /* 160228 */ GIR_EraseRootFromParent_Done,
56691 /* 160229 */ // Label 3535: @160229
56692 /* 160229 */ GIM_Try, /*On fail goto*//*Label 3536*/ GIMT_Encode4(160291), // Rule ID 5973 //
56693 /* 160234 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56694 /* 160237 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56695 /* 160241 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56696 /* 160245 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56697 /* 160249 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56698 /* 160253 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56699 /* 160256 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56700 /* 160260 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56701 /* 160264 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56702 /* 160266 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56703 /* 160273 */ // (fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
56704 /* 160273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
56705 /* 160276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56706 /* 160278 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56707 /* 160280 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56708 /* 160284 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56709 /* 160289 */ GIR_RootConstrainSelectedInstOperands,
56710 /* 160290 */ // GIR_Coverage, 5973,
56711 /* 160290 */ GIR_EraseRootFromParent_Done,
56712 /* 160291 */ // Label 3536: @160291
56713 /* 160291 */ GIM_Try, /*On fail goto*//*Label 3537*/ GIMT_Encode4(160328), // Rule ID 877 //
56714 /* 160296 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
56715 /* 160299 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56716 /* 160303 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56717 /* 160307 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
56718 /* 160311 */ // (fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (MUL_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
56719 /* 160311 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64),
56720 /* 160316 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
56721 /* 160322 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
56722 /* 160326 */ GIR_RootConstrainSelectedInstOperands,
56723 /* 160327 */ // GIR_Coverage, 877,
56724 /* 160327 */ GIR_Done,
56725 /* 160328 */ // Label 3537: @160328
56726 /* 160328 */ GIM_Try, /*On fail goto*//*Label 3538*/ GIMT_Encode4(160359), // Rule ID 2179 //
56727 /* 160333 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
56728 /* 160336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56729 /* 160340 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56730 /* 160344 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56731 /* 160348 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VMULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
56732 /* 160348 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDrr),
56733 /* 160353 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56734 /* 160357 */ GIR_RootConstrainSelectedInstOperands,
56735 /* 160358 */ // GIR_Coverage, 2179,
56736 /* 160358 */ GIR_Done,
56737 /* 160359 */ // Label 3538: @160359
56738 /* 160359 */ GIM_Try, /*On fail goto*//*Label 3539*/ GIMT_Encode4(160390), // Rule ID 2187 //
56739 /* 160364 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
56740 /* 160367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56741 /* 160371 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56742 /* 160375 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
56743 /* 160379 */ // (fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (MULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
56744 /* 160379 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSDrr),
56745 /* 160384 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56746 /* 160388 */ GIR_RootConstrainSelectedInstOperands,
56747 /* 160389 */ // GIR_Coverage, 2187,
56748 /* 160389 */ GIR_Done,
56749 /* 160390 */ // Label 3539: @160390
56750 /* 160390 */ GIM_Try, /*On fail goto*//*Label 3540*/ GIMT_Encode4(160421), // Rule ID 5971 //
56751 /* 160395 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
56752 /* 160398 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56753 /* 160402 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56754 /* 160406 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
56755 /* 160410 */ // (fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VMULSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
56756 /* 160410 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDZrr),
56757 /* 160415 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
56758 /* 160419 */ GIR_RootConstrainSelectedInstOperands,
56759 /* 160420 */ // GIR_Coverage, 5971,
56760 /* 160420 */ GIR_Done,
56761 /* 160421 */ // Label 3540: @160421
56762 /* 160421 */ GIM_Reject,
56763 /* 160422 */ // Label 3516: @160422
56764 /* 160422 */ GIM_Reject,
56765 /* 160423 */ // Label 3478: @160423
56766 /* 160423 */ GIM_Try, /*On fail goto*//*Label 3541*/ GIMT_Encode4(160988),
56767 /* 160428 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
56768 /* 160431 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
56769 /* 160434 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56770 /* 160438 */ GIM_Try, /*On fail goto*//*Label 3542*/ GIMT_Encode4(160499), // Rule ID 23335 //
56771 /* 160443 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56772 /* 160446 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56773 /* 160450 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56774 /* 160454 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
56775 /* 160461 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56776 /* 160465 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56777 /* 160469 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56778 /* 160471 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56779 /* 160478 */ // (fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
56780 /* 160478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
56781 /* 160481 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56782 /* 160483 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56783 /* 160485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56784 /* 160489 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56785 /* 160492 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56786 /* 160497 */ GIR_RootConstrainSelectedInstOperands,
56787 /* 160498 */ // GIR_Coverage, 23335,
56788 /* 160498 */ GIR_EraseRootFromParent_Done,
56789 /* 160499 */ // Label 3542: @160499
56790 /* 160499 */ GIM_Try, /*On fail goto*//*Label 3543*/ GIMT_Encode4(160560), // Rule ID 23337 //
56791 /* 160504 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56792 /* 160507 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56793 /* 160511 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56794 /* 160515 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56795 /* 160522 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56796 /* 160526 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56797 /* 160530 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56798 /* 160532 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56799 /* 160539 */ // (fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
56800 /* 160539 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
56801 /* 160542 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56802 /* 160544 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56803 /* 160546 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56804 /* 160550 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56805 /* 160553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56806 /* 160558 */ GIR_RootConstrainSelectedInstOperands,
56807 /* 160559 */ // GIR_Coverage, 23337,
56808 /* 160559 */ GIR_EraseRootFromParent_Done,
56809 /* 160560 */ // Label 3543: @160560
56810 /* 160560 */ GIM_Try, /*On fail goto*//*Label 3544*/ GIMT_Encode4(160628), // Rule ID 23323 //
56811 /* 160565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56812 /* 160568 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56813 /* 160572 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56814 /* 160576 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56815 /* 160579 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56816 /* 160583 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56817 /* 160590 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56818 /* 160594 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56819 /* 160598 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56820 /* 160600 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56821 /* 160607 */ // (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)
56822 /* 160607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
56823 /* 160610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56824 /* 160612 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56825 /* 160614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56826 /* 160618 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56827 /* 160621 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56828 /* 160626 */ GIR_RootConstrainSelectedInstOperands,
56829 /* 160627 */ // GIR_Coverage, 23323,
56830 /* 160627 */ GIR_EraseRootFromParent_Done,
56831 /* 160628 */ // Label 3544: @160628
56832 /* 160628 */ GIM_Try, /*On fail goto*//*Label 3545*/ GIMT_Encode4(160696), // Rule ID 23325 //
56833 /* 160633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56834 /* 160636 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56835 /* 160640 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56836 /* 160644 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56837 /* 160647 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56838 /* 160651 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56839 /* 160658 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56840 /* 160662 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56841 /* 160666 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56842 /* 160668 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56843 /* 160675 */ // (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)
56844 /* 160675 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
56845 /* 160678 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56846 /* 160680 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56847 /* 160682 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56848 /* 160686 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56849 /* 160689 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56850 /* 160694 */ GIR_RootConstrainSelectedInstOperands,
56851 /* 160695 */ // GIR_Coverage, 23325,
56852 /* 160695 */ GIR_EraseRootFromParent_Done,
56853 /* 160696 */ // Label 3545: @160696
56854 /* 160696 */ GIM_Try, /*On fail goto*//*Label 3546*/ GIMT_Encode4(160757), // Rule ID 971 //
56855 /* 160701 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56856 /* 160704 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56857 /* 160708 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56858 /* 160712 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56859 /* 160716 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
56860 /* 160723 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56861 /* 160727 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56862 /* 160729 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56863 /* 160736 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
56864 /* 160736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
56865 /* 160739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56866 /* 160741 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56867 /* 160743 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56868 /* 160747 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56869 /* 160750 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56870 /* 160755 */ GIR_RootConstrainSelectedInstOperands,
56871 /* 160756 */ // GIR_Coverage, 971,
56872 /* 160756 */ GIR_EraseRootFromParent_Done,
56873 /* 160757 */ // Label 3546: @160757
56874 /* 160757 */ GIM_Try, /*On fail goto*//*Label 3547*/ GIMT_Encode4(160818), // Rule ID 973 //
56875 /* 160762 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56876 /* 160765 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56877 /* 160769 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56878 /* 160773 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
56879 /* 160777 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56880 /* 160784 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56881 /* 160788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56882 /* 160790 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56883 /* 160797 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
56884 /* 160797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
56885 /* 160800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56886 /* 160802 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56887 /* 160804 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56888 /* 160808 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56889 /* 160811 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56890 /* 160816 */ GIR_RootConstrainSelectedInstOperands,
56891 /* 160817 */ // GIR_Coverage, 973,
56892 /* 160817 */ GIR_EraseRootFromParent_Done,
56893 /* 160818 */ // Label 3547: @160818
56894 /* 160818 */ GIM_Try, /*On fail goto*//*Label 3548*/ GIMT_Encode4(160886), // Rule ID 959 //
56895 /* 160823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56896 /* 160826 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56897 /* 160830 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56898 /* 160834 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56899 /* 160838 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56900 /* 160841 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56901 /* 160845 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
56902 /* 160852 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56903 /* 160856 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56904 /* 160858 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56905 /* 160865 */ // (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)
56906 /* 160865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
56907 /* 160868 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56908 /* 160870 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56909 /* 160872 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56910 /* 160876 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56911 /* 160879 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56912 /* 160884 */ GIR_RootConstrainSelectedInstOperands,
56913 /* 160885 */ // GIR_Coverage, 959,
56914 /* 160885 */ GIR_EraseRootFromParent_Done,
56915 /* 160886 */ // Label 3548: @160886
56916 /* 160886 */ GIM_Try, /*On fail goto*//*Label 3549*/ GIMT_Encode4(160954), // Rule ID 961 //
56917 /* 160891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56918 /* 160894 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56919 /* 160898 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56920 /* 160902 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56921 /* 160906 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56922 /* 160909 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56923 /* 160913 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
56924 /* 160920 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56925 /* 160924 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56926 /* 160926 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56927 /* 160933 */ // (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)
56928 /* 160933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
56929 /* 160936 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56930 /* 160938 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56931 /* 160940 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56932 /* 160944 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
56933 /* 160947 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56934 /* 160952 */ GIR_RootConstrainSelectedInstOperands,
56935 /* 160953 */ // GIR_Coverage, 961,
56936 /* 160953 */ GIR_EraseRootFromParent_Done,
56937 /* 160954 */ // Label 3549: @160954
56938 /* 160954 */ GIM_Try, /*On fail goto*//*Label 3550*/ GIMT_Encode4(160987), // Rule ID 879 //
56939 /* 160959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
56940 /* 160962 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56941 /* 160966 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
56942 /* 160970 */ // (fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (MUL_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
56943 /* 160970 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80),
56944 /* 160975 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
56945 /* 160981 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
56946 /* 160985 */ GIR_RootConstrainSelectedInstOperands,
56947 /* 160986 */ // GIR_Coverage, 879,
56948 /* 160986 */ GIR_Done,
56949 /* 160987 */ // Label 3550: @160987
56950 /* 160987 */ GIM_Reject,
56951 /* 160988 */ // Label 3541: @160988
56952 /* 160988 */ GIM_Reject,
56953 /* 160989 */ // Label 3479: @160989
56954 /* 160989 */ GIM_Try, /*On fail goto*//*Label 3551*/ GIMT_Encode4(161148),
56955 /* 160994 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
56956 /* 160997 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
56957 /* 161000 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56958 /* 161004 */ GIM_Try, /*On fail goto*//*Label 3552*/ GIMT_Encode4(161062), // Rule ID 24450 //
56959 /* 161009 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
56960 /* 161012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
56961 /* 161016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56962 /* 161020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56963 /* 161023 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56964 /* 161027 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56965 /* 161031 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56966 /* 161035 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56967 /* 161037 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56968 /* 161044 */ // (fmul:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8f16] }:$src1) => (VMULPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
56969 /* 161044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
56970 /* 161047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56971 /* 161049 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
56972 /* 161051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56973 /* 161055 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56974 /* 161060 */ GIR_RootConstrainSelectedInstOperands,
56975 /* 161061 */ // GIR_Coverage, 24450,
56976 /* 161061 */ GIR_EraseRootFromParent_Done,
56977 /* 161062 */ // Label 3552: @161062
56978 /* 161062 */ GIM_Try, /*On fail goto*//*Label 3553*/ GIMT_Encode4(161120), // Rule ID 6442 //
56979 /* 161067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
56980 /* 161070 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
56981 /* 161074 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
56982 /* 161078 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
56983 /* 161082 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
56984 /* 161085 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
56985 /* 161089 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
56986 /* 161093 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
56987 /* 161095 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
56988 /* 161102 */ // (fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
56989 /* 161102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
56990 /* 161105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
56991 /* 161107 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
56992 /* 161109 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
56993 /* 161113 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
56994 /* 161118 */ GIR_RootConstrainSelectedInstOperands,
56995 /* 161119 */ // GIR_Coverage, 6442,
56996 /* 161119 */ GIR_EraseRootFromParent_Done,
56997 /* 161120 */ // Label 3553: @161120
56998 /* 161120 */ GIM_Try, /*On fail goto*//*Label 3554*/ GIMT_Encode4(161147), // Rule ID 6438 //
56999 /* 161125 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
57000 /* 161128 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57001 /* 161132 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57002 /* 161136 */ // (fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VMULPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
57003 /* 161136 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rr),
57004 /* 161141 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57005 /* 161145 */ GIR_RootConstrainSelectedInstOperands,
57006 /* 161146 */ // GIR_Coverage, 6438,
57007 /* 161146 */ GIR_Done,
57008 /* 161147 */ // Label 3554: @161147
57009 /* 161147 */ GIM_Reject,
57010 /* 161148 */ // Label 3551: @161148
57011 /* 161148 */ GIM_Reject,
57012 /* 161149 */ // Label 3480: @161149
57013 /* 161149 */ GIM_Try, /*On fail goto*//*Label 3555*/ GIMT_Encode4(161308),
57014 /* 161154 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
57015 /* 161157 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
57016 /* 161160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57017 /* 161164 */ GIM_Try, /*On fail goto*//*Label 3556*/ GIMT_Encode4(161222), // Rule ID 24458 //
57018 /* 161169 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
57019 /* 161172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57020 /* 161176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57021 /* 161180 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57022 /* 161183 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57023 /* 161187 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57024 /* 161191 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57025 /* 161195 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57026 /* 161197 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57027 /* 161204 */ // (fmul:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16f16] }:$src1) => (VMULPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
57028 /* 161204 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
57029 /* 161207 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57030 /* 161209 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57031 /* 161211 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57032 /* 161215 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57033 /* 161220 */ GIR_RootConstrainSelectedInstOperands,
57034 /* 161221 */ // GIR_Coverage, 24458,
57035 /* 161221 */ GIR_EraseRootFromParent_Done,
57036 /* 161222 */ // Label 3556: @161222
57037 /* 161222 */ GIM_Try, /*On fail goto*//*Label 3557*/ GIMT_Encode4(161280), // Rule ID 6454 //
57038 /* 161227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
57039 /* 161230 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57040 /* 161234 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57041 /* 161238 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57042 /* 161242 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57043 /* 161245 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57044 /* 161249 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57045 /* 161253 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57046 /* 161255 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57047 /* 161262 */ // (fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
57048 /* 161262 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
57049 /* 161265 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57050 /* 161267 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57051 /* 161269 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57052 /* 161273 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57053 /* 161278 */ GIR_RootConstrainSelectedInstOperands,
57054 /* 161279 */ // GIR_Coverage, 6454,
57055 /* 161279 */ GIR_EraseRootFromParent_Done,
57056 /* 161280 */ // Label 3557: @161280
57057 /* 161280 */ GIM_Try, /*On fail goto*//*Label 3558*/ GIMT_Encode4(161307), // Rule ID 6450 //
57058 /* 161285 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
57059 /* 161288 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57060 /* 161292 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57061 /* 161296 */ // (fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VMULPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
57062 /* 161296 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rr),
57063 /* 161301 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57064 /* 161305 */ GIR_RootConstrainSelectedInstOperands,
57065 /* 161306 */ // GIR_Coverage, 6450,
57066 /* 161306 */ GIR_Done,
57067 /* 161307 */ // Label 3558: @161307
57068 /* 161307 */ GIM_Reject,
57069 /* 161308 */ // Label 3555: @161308
57070 /* 161308 */ GIM_Reject,
57071 /* 161309 */ // Label 3481: @161309
57072 /* 161309 */ GIM_Try, /*On fail goto*//*Label 3559*/ GIMT_Encode4(161468),
57073 /* 161314 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
57074 /* 161317 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
57075 /* 161320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57076 /* 161324 */ GIM_Try, /*On fail goto*//*Label 3560*/ GIMT_Encode4(161382), // Rule ID 24442 //
57077 /* 161329 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57078 /* 161332 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57079 /* 161336 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57080 /* 161340 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57081 /* 161343 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57082 /* 161347 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57083 /* 161351 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57084 /* 161355 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57085 /* 161357 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57086 /* 161364 */ // (fmul:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32f16] }:$src1) => (VMULPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
57087 /* 161364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
57088 /* 161367 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57089 /* 161369 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57090 /* 161371 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57091 /* 161375 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57092 /* 161380 */ GIR_RootConstrainSelectedInstOperands,
57093 /* 161381 */ // GIR_Coverage, 24442,
57094 /* 161381 */ GIR_EraseRootFromParent_Done,
57095 /* 161382 */ // Label 3560: @161382
57096 /* 161382 */ GIM_Try, /*On fail goto*//*Label 3561*/ GIMT_Encode4(161440), // Rule ID 6430 //
57097 /* 161387 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57098 /* 161390 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57099 /* 161394 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57100 /* 161398 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57101 /* 161402 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57102 /* 161405 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57103 /* 161409 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57104 /* 161413 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57105 /* 161415 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57106 /* 161422 */ // (fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
57107 /* 161422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
57108 /* 161425 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57109 /* 161427 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57110 /* 161429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57111 /* 161433 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57112 /* 161438 */ GIR_RootConstrainSelectedInstOperands,
57113 /* 161439 */ // GIR_Coverage, 6430,
57114 /* 161439 */ GIR_EraseRootFromParent_Done,
57115 /* 161440 */ // Label 3561: @161440
57116 /* 161440 */ GIM_Try, /*On fail goto*//*Label 3562*/ GIMT_Encode4(161467), // Rule ID 6426 //
57117 /* 161445 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57118 /* 161448 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57119 /* 161452 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57120 /* 161456 */ // (fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VMULPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
57121 /* 161456 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZrr),
57122 /* 161461 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57123 /* 161465 */ GIR_RootConstrainSelectedInstOperands,
57124 /* 161466 */ // GIR_Coverage, 6426,
57125 /* 161466 */ GIR_Done,
57126 /* 161467 */ // Label 3562: @161467
57127 /* 161467 */ GIM_Reject,
57128 /* 161468 */ // Label 3559: @161468
57129 /* 161468 */ GIM_Reject,
57130 /* 161469 */ // Label 3482: @161469
57131 /* 161469 */ GIM_Try, /*On fail goto*//*Label 3563*/ GIMT_Encode4(161822),
57132 /* 161474 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
57133 /* 161477 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
57134 /* 161480 */ GIM_Try, /*On fail goto*//*Label 3564*/ GIMT_Encode4(161542), // Rule ID 23448 //
57135 /* 161485 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57136 /* 161488 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57137 /* 161492 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57138 /* 161496 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57139 /* 161500 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57140 /* 161503 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57141 /* 161507 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57142 /* 161511 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57143 /* 161515 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57144 /* 161517 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57145 /* 161524 */ // (fmul:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4f32] }:$src1) => (VMULPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57146 /* 161524 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
57147 /* 161527 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57148 /* 161529 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57149 /* 161531 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57150 /* 161535 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57151 /* 161540 */ GIR_RootConstrainSelectedInstOperands,
57152 /* 161541 */ // GIR_Coverage, 23448,
57153 /* 161541 */ GIR_EraseRootFromParent_Done,
57154 /* 161542 */ // Label 3564: @161542
57155 /* 161542 */ GIM_Try, /*On fail goto*//*Label 3565*/ GIMT_Encode4(161604), // Rule ID 24410 //
57156 /* 161547 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57157 /* 161550 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57158 /* 161554 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57159 /* 161558 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57160 /* 161562 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57161 /* 161565 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57162 /* 161569 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57163 /* 161573 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57164 /* 161577 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57165 /* 161579 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57166 /* 161586 */ // (fmul:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4f32] }:$src1) => (VMULPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57167 /* 161586 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
57168 /* 161589 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57169 /* 161591 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57170 /* 161593 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57171 /* 161597 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57172 /* 161602 */ GIR_RootConstrainSelectedInstOperands,
57173 /* 161603 */ // GIR_Coverage, 24410,
57174 /* 161603 */ GIR_EraseRootFromParent_Done,
57175 /* 161604 */ // Label 3565: @161604
57176 /* 161604 */ GIM_Try, /*On fail goto*//*Label 3566*/ GIMT_Encode4(161666), // Rule ID 2153 //
57177 /* 161609 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57178 /* 161612 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57179 /* 161616 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57180 /* 161620 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57181 /* 161624 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57182 /* 161628 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57183 /* 161631 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57184 /* 161635 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57185 /* 161639 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57186 /* 161641 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57187 /* 161648 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57188 /* 161648 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
57189 /* 161651 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57190 /* 161653 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57191 /* 161655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57192 /* 161659 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57193 /* 161664 */ GIR_RootConstrainSelectedInstOperands,
57194 /* 161665 */ // GIR_Coverage, 2153,
57195 /* 161665 */ GIR_EraseRootFromParent_Done,
57196 /* 161666 */ // Label 3566: @161666
57197 /* 161666 */ GIM_Try, /*On fail goto*//*Label 3567*/ GIMT_Encode4(161728), // Rule ID 6382 //
57198 /* 161671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57199 /* 161674 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57200 /* 161678 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57201 /* 161682 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57202 /* 161686 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57203 /* 161690 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57204 /* 161693 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57205 /* 161697 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57206 /* 161701 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57207 /* 161703 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57208 /* 161710 */ // (fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57209 /* 161710 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
57210 /* 161713 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57211 /* 161715 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57212 /* 161717 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57213 /* 161721 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57214 /* 161726 */ GIR_RootConstrainSelectedInstOperands,
57215 /* 161727 */ // GIR_Coverage, 6382,
57216 /* 161727 */ GIR_EraseRootFromParent_Done,
57217 /* 161728 */ // Label 3567: @161728
57218 /* 161728 */ GIM_Try, /*On fail goto*//*Label 3568*/ GIMT_Encode4(161759), // Rule ID 2151 //
57219 /* 161733 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57220 /* 161736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57221 /* 161740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57222 /* 161744 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57223 /* 161748 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
57224 /* 161748 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSrr),
57225 /* 161753 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57226 /* 161757 */ GIR_RootConstrainSelectedInstOperands,
57227 /* 161758 */ // GIR_Coverage, 2151,
57228 /* 161758 */ GIR_Done,
57229 /* 161759 */ // Label 3568: @161759
57230 /* 161759 */ GIM_Try, /*On fail goto*//*Label 3569*/ GIMT_Encode4(161790), // Rule ID 2167 //
57231 /* 161764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
57232 /* 161767 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57233 /* 161771 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57234 /* 161775 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57235 /* 161779 */ // (fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (MULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
57236 /* 161779 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPSrr),
57237 /* 161784 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57238 /* 161788 */ GIR_RootConstrainSelectedInstOperands,
57239 /* 161789 */ // GIR_Coverage, 2167,
57240 /* 161789 */ GIR_Done,
57241 /* 161790 */ // Label 3569: @161790
57242 /* 161790 */ GIM_Try, /*On fail goto*//*Label 3570*/ GIMT_Encode4(161821), // Rule ID 6378 //
57243 /* 161795 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57244 /* 161798 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57245 /* 161802 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57246 /* 161806 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57247 /* 161810 */ // (fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VMULPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
57248 /* 161810 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rr),
57249 /* 161815 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57250 /* 161819 */ GIR_RootConstrainSelectedInstOperands,
57251 /* 161820 */ // GIR_Coverage, 6378,
57252 /* 161820 */ GIR_Done,
57253 /* 161821 */ // Label 3570: @161821
57254 /* 161821 */ GIM_Reject,
57255 /* 161822 */ // Label 3563: @161822
57256 /* 161822 */ GIM_Reject,
57257 /* 161823 */ // Label 3483: @161823
57258 /* 161823 */ GIM_Try, /*On fail goto*//*Label 3571*/ GIMT_Encode4(162145),
57259 /* 161828 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
57260 /* 161831 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
57261 /* 161834 */ GIM_Try, /*On fail goto*//*Label 3572*/ GIMT_Encode4(161896), // Rule ID 23452 //
57262 /* 161839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57263 /* 161842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57264 /* 161846 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57265 /* 161850 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57266 /* 161854 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57267 /* 161857 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57268 /* 161861 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57269 /* 161865 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57270 /* 161869 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57271 /* 161871 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57272 /* 161878 */ // (fmul:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8f32] }:$src1) => (VMULPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57273 /* 161878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
57274 /* 161881 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57275 /* 161883 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57276 /* 161885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57277 /* 161889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57278 /* 161894 */ GIR_RootConstrainSelectedInstOperands,
57279 /* 161895 */ // GIR_Coverage, 23452,
57280 /* 161895 */ GIR_EraseRootFromParent_Done,
57281 /* 161896 */ // Label 3572: @161896
57282 /* 161896 */ GIM_Try, /*On fail goto*//*Label 3573*/ GIMT_Encode4(161958), // Rule ID 24418 //
57283 /* 161901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57284 /* 161904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57285 /* 161908 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57286 /* 161912 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57287 /* 161916 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57288 /* 161919 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57289 /* 161923 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57290 /* 161927 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57291 /* 161931 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57292 /* 161933 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57293 /* 161940 */ // (fmul:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8f32] }:$src1) => (VMULPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57294 /* 161940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
57295 /* 161943 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57296 /* 161945 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57297 /* 161947 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57298 /* 161951 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57299 /* 161956 */ GIR_RootConstrainSelectedInstOperands,
57300 /* 161957 */ // GIR_Coverage, 24418,
57301 /* 161957 */ GIR_EraseRootFromParent_Done,
57302 /* 161958 */ // Label 3573: @161958
57303 /* 161958 */ GIM_Try, /*On fail goto*//*Label 3574*/ GIMT_Encode4(162020), // Rule ID 2161 //
57304 /* 161963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57305 /* 161966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57306 /* 161970 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57307 /* 161974 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57308 /* 161978 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57309 /* 161982 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57310 /* 161985 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57311 /* 161989 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57312 /* 161993 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57313 /* 161995 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57314 /* 162002 */ // (fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57315 /* 162002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
57316 /* 162005 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57317 /* 162007 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57318 /* 162009 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57319 /* 162013 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57320 /* 162018 */ GIR_RootConstrainSelectedInstOperands,
57321 /* 162019 */ // GIR_Coverage, 2161,
57322 /* 162019 */ GIR_EraseRootFromParent_Done,
57323 /* 162020 */ // Label 3574: @162020
57324 /* 162020 */ GIM_Try, /*On fail goto*//*Label 3575*/ GIMT_Encode4(162082), // Rule ID 6394 //
57325 /* 162025 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57326 /* 162028 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57327 /* 162032 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57328 /* 162036 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57329 /* 162040 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57330 /* 162044 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57331 /* 162047 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57332 /* 162051 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57333 /* 162055 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57334 /* 162057 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57335 /* 162064 */ // (fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57336 /* 162064 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
57337 /* 162067 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57338 /* 162069 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57339 /* 162071 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57340 /* 162075 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57341 /* 162080 */ GIR_RootConstrainSelectedInstOperands,
57342 /* 162081 */ // GIR_Coverage, 6394,
57343 /* 162081 */ GIR_EraseRootFromParent_Done,
57344 /* 162082 */ // Label 3575: @162082
57345 /* 162082 */ GIM_Try, /*On fail goto*//*Label 3576*/ GIMT_Encode4(162113), // Rule ID 2159 //
57346 /* 162087 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57347 /* 162090 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57348 /* 162094 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57349 /* 162098 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57350 /* 162102 */ // (fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMULPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
57351 /* 162102 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSYrr),
57352 /* 162107 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57353 /* 162111 */ GIR_RootConstrainSelectedInstOperands,
57354 /* 162112 */ // GIR_Coverage, 2159,
57355 /* 162112 */ GIR_Done,
57356 /* 162113 */ // Label 3576: @162113
57357 /* 162113 */ GIM_Try, /*On fail goto*//*Label 3577*/ GIMT_Encode4(162144), // Rule ID 6390 //
57358 /* 162118 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57359 /* 162121 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57360 /* 162125 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57361 /* 162129 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57362 /* 162133 */ // (fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VMULPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
57363 /* 162133 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rr),
57364 /* 162138 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57365 /* 162142 */ GIR_RootConstrainSelectedInstOperands,
57366 /* 162143 */ // GIR_Coverage, 6390,
57367 /* 162143 */ GIR_Done,
57368 /* 162144 */ // Label 3577: @162144
57369 /* 162144 */ GIM_Reject,
57370 /* 162145 */ // Label 3571: @162145
57371 /* 162145 */ GIM_Reject,
57372 /* 162146 */ // Label 3484: @162146
57373 /* 162146 */ GIM_Try, /*On fail goto*//*Label 3578*/ GIMT_Encode4(162305),
57374 /* 162151 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
57375 /* 162154 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
57376 /* 162157 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57377 /* 162161 */ GIM_Try, /*On fail goto*//*Label 3579*/ GIMT_Encode4(162219), // Rule ID 24394 //
57378 /* 162166 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57379 /* 162169 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57380 /* 162173 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57381 /* 162177 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57382 /* 162180 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57383 /* 162184 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57384 /* 162188 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57385 /* 162192 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57386 /* 162194 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57387 /* 162201 */ // (fmul:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16f32] }:$src1) => (VMULPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57388 /* 162201 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
57389 /* 162204 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57390 /* 162206 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57391 /* 162208 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57392 /* 162212 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57393 /* 162217 */ GIR_RootConstrainSelectedInstOperands,
57394 /* 162218 */ // GIR_Coverage, 24394,
57395 /* 162218 */ GIR_EraseRootFromParent_Done,
57396 /* 162219 */ // Label 3579: @162219
57397 /* 162219 */ GIM_Try, /*On fail goto*//*Label 3580*/ GIMT_Encode4(162277), // Rule ID 6358 //
57398 /* 162224 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57399 /* 162227 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57400 /* 162231 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57401 /* 162235 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57402 /* 162239 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57403 /* 162242 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57404 /* 162246 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57405 /* 162250 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57406 /* 162252 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57407 /* 162259 */ // (fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
57408 /* 162259 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
57409 /* 162262 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57410 /* 162264 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57411 /* 162266 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57412 /* 162270 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57413 /* 162275 */ GIR_RootConstrainSelectedInstOperands,
57414 /* 162276 */ // GIR_Coverage, 6358,
57415 /* 162276 */ GIR_EraseRootFromParent_Done,
57416 /* 162277 */ // Label 3580: @162277
57417 /* 162277 */ GIM_Try, /*On fail goto*//*Label 3581*/ GIMT_Encode4(162304), // Rule ID 6354 //
57418 /* 162282 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57419 /* 162285 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57420 /* 162289 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57421 /* 162293 */ // (fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VMULPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
57422 /* 162293 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZrr),
57423 /* 162298 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57424 /* 162302 */ GIR_RootConstrainSelectedInstOperands,
57425 /* 162303 */ // GIR_Coverage, 6354,
57426 /* 162303 */ GIR_Done,
57427 /* 162304 */ // Label 3581: @162304
57428 /* 162304 */ GIM_Reject,
57429 /* 162305 */ // Label 3578: @162305
57430 /* 162305 */ GIM_Reject,
57431 /* 162306 */ // Label 3485: @162306
57432 /* 162306 */ GIM_Try, /*On fail goto*//*Label 3582*/ GIMT_Encode4(162659),
57433 /* 162311 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
57434 /* 162314 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
57435 /* 162317 */ GIM_Try, /*On fail goto*//*Label 3583*/ GIMT_Encode4(162379), // Rule ID 23450 //
57436 /* 162322 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57437 /* 162325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57438 /* 162329 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57439 /* 162333 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57440 /* 162337 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57441 /* 162340 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57442 /* 162344 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57443 /* 162348 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57444 /* 162352 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57445 /* 162354 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57446 /* 162361 */ // (fmul:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v2f64] }:$src1) => (VMULPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57447 /* 162361 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
57448 /* 162364 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57449 /* 162366 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57450 /* 162368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57451 /* 162372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57452 /* 162377 */ GIR_RootConstrainSelectedInstOperands,
57453 /* 162378 */ // GIR_Coverage, 23450,
57454 /* 162378 */ GIR_EraseRootFromParent_Done,
57455 /* 162379 */ // Label 3583: @162379
57456 /* 162379 */ GIM_Try, /*On fail goto*//*Label 3584*/ GIMT_Encode4(162441), // Rule ID 24426 //
57457 /* 162384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57458 /* 162387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57459 /* 162391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57460 /* 162395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57461 /* 162399 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57462 /* 162402 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57463 /* 162406 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57464 /* 162410 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57465 /* 162414 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57466 /* 162416 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57467 /* 162423 */ // (fmul:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2f64] }:$src1) => (VMULPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57468 /* 162423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
57469 /* 162426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57470 /* 162428 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57471 /* 162430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57472 /* 162434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57473 /* 162439 */ GIR_RootConstrainSelectedInstOperands,
57474 /* 162440 */ // GIR_Coverage, 24426,
57475 /* 162440 */ GIR_EraseRootFromParent_Done,
57476 /* 162441 */ // Label 3584: @162441
57477 /* 162441 */ GIM_Try, /*On fail goto*//*Label 3585*/ GIMT_Encode4(162503), // Rule ID 2157 //
57478 /* 162446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57479 /* 162449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57480 /* 162453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57481 /* 162457 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57482 /* 162461 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57483 /* 162465 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57484 /* 162468 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57485 /* 162472 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57486 /* 162476 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57487 /* 162478 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57488 /* 162485 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57489 /* 162485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
57490 /* 162488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57491 /* 162490 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57492 /* 162492 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57493 /* 162496 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57494 /* 162501 */ GIR_RootConstrainSelectedInstOperands,
57495 /* 162502 */ // GIR_Coverage, 2157,
57496 /* 162502 */ GIR_EraseRootFromParent_Done,
57497 /* 162503 */ // Label 3585: @162503
57498 /* 162503 */ GIM_Try, /*On fail goto*//*Label 3586*/ GIMT_Encode4(162565), // Rule ID 6406 //
57499 /* 162508 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57500 /* 162511 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57501 /* 162515 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57502 /* 162519 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57503 /* 162523 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57504 /* 162527 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57505 /* 162530 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57506 /* 162534 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57507 /* 162538 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57508 /* 162540 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57509 /* 162547 */ // (fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57510 /* 162547 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
57511 /* 162550 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57512 /* 162552 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57513 /* 162554 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57514 /* 162558 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57515 /* 162563 */ GIR_RootConstrainSelectedInstOperands,
57516 /* 162564 */ // GIR_Coverage, 6406,
57517 /* 162564 */ GIR_EraseRootFromParent_Done,
57518 /* 162565 */ // Label 3586: @162565
57519 /* 162565 */ GIM_Try, /*On fail goto*//*Label 3587*/ GIMT_Encode4(162596), // Rule ID 2155 //
57520 /* 162570 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57521 /* 162573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57522 /* 162577 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57523 /* 162581 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57524 /* 162585 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
57525 /* 162585 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDrr),
57526 /* 162590 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57527 /* 162594 */ GIR_RootConstrainSelectedInstOperands,
57528 /* 162595 */ // GIR_Coverage, 2155,
57529 /* 162595 */ GIR_Done,
57530 /* 162596 */ // Label 3587: @162596
57531 /* 162596 */ GIM_Try, /*On fail goto*//*Label 3588*/ GIMT_Encode4(162627), // Rule ID 2171 //
57532 /* 162601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
57533 /* 162604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57534 /* 162608 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57535 /* 162612 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
57536 /* 162616 */ // (fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (MULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
57537 /* 162616 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPDrr),
57538 /* 162621 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57539 /* 162625 */ GIR_RootConstrainSelectedInstOperands,
57540 /* 162626 */ // GIR_Coverage, 2171,
57541 /* 162626 */ GIR_Done,
57542 /* 162627 */ // Label 3588: @162627
57543 /* 162627 */ GIM_Try, /*On fail goto*//*Label 3589*/ GIMT_Encode4(162658), // Rule ID 6402 //
57544 /* 162632 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57545 /* 162635 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57546 /* 162639 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57547 /* 162643 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
57548 /* 162647 */ // (fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VMULPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
57549 /* 162647 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rr),
57550 /* 162652 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57551 /* 162656 */ GIR_RootConstrainSelectedInstOperands,
57552 /* 162657 */ // GIR_Coverage, 6402,
57553 /* 162657 */ GIR_Done,
57554 /* 162658 */ // Label 3589: @162658
57555 /* 162658 */ GIM_Reject,
57556 /* 162659 */ // Label 3582: @162659
57557 /* 162659 */ GIM_Reject,
57558 /* 162660 */ // Label 3486: @162660
57559 /* 162660 */ GIM_Try, /*On fail goto*//*Label 3590*/ GIMT_Encode4(162982),
57560 /* 162665 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
57561 /* 162668 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
57562 /* 162671 */ GIM_Try, /*On fail goto*//*Label 3591*/ GIMT_Encode4(162733), // Rule ID 23454 //
57563 /* 162676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57564 /* 162679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57565 /* 162683 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57566 /* 162687 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57567 /* 162691 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57568 /* 162694 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57569 /* 162698 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57570 /* 162702 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57571 /* 162706 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57572 /* 162708 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57573 /* 162715 */ // (fmul:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v4f64] }:$src1) => (VMULPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57574 /* 162715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
57575 /* 162718 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57576 /* 162720 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57577 /* 162722 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57578 /* 162726 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57579 /* 162731 */ GIR_RootConstrainSelectedInstOperands,
57580 /* 162732 */ // GIR_Coverage, 23454,
57581 /* 162732 */ GIR_EraseRootFromParent_Done,
57582 /* 162733 */ // Label 3591: @162733
57583 /* 162733 */ GIM_Try, /*On fail goto*//*Label 3592*/ GIMT_Encode4(162795), // Rule ID 24434 //
57584 /* 162738 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57585 /* 162741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57586 /* 162745 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57587 /* 162749 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57588 /* 162753 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57589 /* 162756 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57590 /* 162760 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57591 /* 162764 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57592 /* 162768 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57593 /* 162770 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57594 /* 162777 */ // (fmul:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4f64] }:$src1) => (VMULPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57595 /* 162777 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
57596 /* 162780 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57597 /* 162782 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57598 /* 162784 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57599 /* 162788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57600 /* 162793 */ GIR_RootConstrainSelectedInstOperands,
57601 /* 162794 */ // GIR_Coverage, 24434,
57602 /* 162794 */ GIR_EraseRootFromParent_Done,
57603 /* 162795 */ // Label 3592: @162795
57604 /* 162795 */ GIM_Try, /*On fail goto*//*Label 3593*/ GIMT_Encode4(162857), // Rule ID 2165 //
57605 /* 162800 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57606 /* 162803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57607 /* 162807 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57608 /* 162811 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57609 /* 162815 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57610 /* 162819 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57611 /* 162822 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57612 /* 162826 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57613 /* 162830 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57614 /* 162832 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57615 /* 162839 */ // (fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57616 /* 162839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
57617 /* 162842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57618 /* 162844 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57619 /* 162846 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57620 /* 162850 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57621 /* 162855 */ GIR_RootConstrainSelectedInstOperands,
57622 /* 162856 */ // GIR_Coverage, 2165,
57623 /* 162856 */ GIR_EraseRootFromParent_Done,
57624 /* 162857 */ // Label 3593: @162857
57625 /* 162857 */ GIM_Try, /*On fail goto*//*Label 3594*/ GIMT_Encode4(162919), // Rule ID 6418 //
57626 /* 162862 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57627 /* 162865 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57628 /* 162869 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57629 /* 162873 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57630 /* 162877 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57631 /* 162881 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57632 /* 162884 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57633 /* 162888 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57634 /* 162892 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57635 /* 162894 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57636 /* 162901 */ // (fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57637 /* 162901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
57638 /* 162904 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57639 /* 162906 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57640 /* 162908 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57641 /* 162912 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57642 /* 162917 */ GIR_RootConstrainSelectedInstOperands,
57643 /* 162918 */ // GIR_Coverage, 6418,
57644 /* 162918 */ GIR_EraseRootFromParent_Done,
57645 /* 162919 */ // Label 3594: @162919
57646 /* 162919 */ GIM_Try, /*On fail goto*//*Label 3595*/ GIMT_Encode4(162950), // Rule ID 2163 //
57647 /* 162924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
57648 /* 162927 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57649 /* 162931 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57650 /* 162935 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
57651 /* 162939 */ // (fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMULPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
57652 /* 162939 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDYrr),
57653 /* 162944 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57654 /* 162948 */ GIR_RootConstrainSelectedInstOperands,
57655 /* 162949 */ // GIR_Coverage, 2163,
57656 /* 162949 */ GIR_Done,
57657 /* 162950 */ // Label 3595: @162950
57658 /* 162950 */ GIM_Try, /*On fail goto*//*Label 3596*/ GIMT_Encode4(162981), // Rule ID 6414 //
57659 /* 162955 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
57660 /* 162958 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57661 /* 162962 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57662 /* 162966 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
57663 /* 162970 */ // (fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VMULPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
57664 /* 162970 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rr),
57665 /* 162975 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57666 /* 162979 */ GIR_RootConstrainSelectedInstOperands,
57667 /* 162980 */ // GIR_Coverage, 6414,
57668 /* 162980 */ GIR_Done,
57669 /* 162981 */ // Label 3596: @162981
57670 /* 162981 */ GIM_Reject,
57671 /* 162982 */ // Label 3590: @162982
57672 /* 162982 */ GIM_Reject,
57673 /* 162983 */ // Label 3487: @162983
57674 /* 162983 */ GIM_Try, /*On fail goto*//*Label 3597*/ GIMT_Encode4(163142),
57675 /* 162988 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
57676 /* 162991 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
57677 /* 162994 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57678 /* 162998 */ GIM_Try, /*On fail goto*//*Label 3598*/ GIMT_Encode4(163056), // Rule ID 24402 //
57679 /* 163003 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57680 /* 163006 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57681 /* 163010 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57682 /* 163014 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57683 /* 163017 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57684 /* 163021 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57685 /* 163025 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57686 /* 163029 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57687 /* 163031 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57688 /* 163038 */ // (fmul:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8f64] }:$src1) => (VMULPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57689 /* 163038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
57690 /* 163041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57691 /* 163043 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57692 /* 163045 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57693 /* 163049 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57694 /* 163054 */ GIR_RootConstrainSelectedInstOperands,
57695 /* 163055 */ // GIR_Coverage, 24402,
57696 /* 163055 */ GIR_EraseRootFromParent_Done,
57697 /* 163056 */ // Label 3598: @163056
57698 /* 163056 */ GIM_Try, /*On fail goto*//*Label 3599*/ GIMT_Encode4(163114), // Rule ID 6370 //
57699 /* 163061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57700 /* 163064 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57701 /* 163068 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57702 /* 163072 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57703 /* 163076 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57704 /* 163079 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57705 /* 163083 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57706 /* 163087 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57707 /* 163089 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57708 /* 163096 */ // (fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VMULPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
57709 /* 163096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
57710 /* 163099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57711 /* 163101 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57712 /* 163103 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57713 /* 163107 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57714 /* 163112 */ GIR_RootConstrainSelectedInstOperands,
57715 /* 163113 */ // GIR_Coverage, 6370,
57716 /* 163113 */ GIR_EraseRootFromParent_Done,
57717 /* 163114 */ // Label 3599: @163114
57718 /* 163114 */ GIM_Try, /*On fail goto*//*Label 3600*/ GIMT_Encode4(163141), // Rule ID 6366 //
57719 /* 163119 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57720 /* 163122 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57721 /* 163126 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
57722 /* 163130 */ // (fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VMULPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
57723 /* 163130 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZrr),
57724 /* 163135 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
57725 /* 163139 */ GIR_RootConstrainSelectedInstOperands,
57726 /* 163140 */ // GIR_Coverage, 6366,
57727 /* 163140 */ GIR_Done,
57728 /* 163141 */ // Label 3600: @163141
57729 /* 163141 */ GIM_Reject,
57730 /* 163142 */ // Label 3597: @163142
57731 /* 163142 */ GIM_Reject,
57732 /* 163143 */ // Label 3488: @163143
57733 /* 163143 */ GIM_Reject,
57734 /* 163144 */ // Label 45: @163144
57735 /* 163144 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 3613*/ GIMT_Encode4(169139),
57736 /* 163155 */ /*GILLT_s16*//*Label 3601*/ GIMT_Encode4(163247),
57737 /* 163159 */ /*GILLT_s32*//*Label 3602*/ GIMT_Encode4(163492),
57738 /* 163163 */ /*GILLT_s64*//*Label 3603*/ GIMT_Encode4(164229), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
57739 /* 163211 */ /*GILLT_v8s16*//*Label 3604*/ GIMT_Encode4(164966),
57740 /* 163215 */ /*GILLT_v16s16*//*Label 3605*/ GIMT_Encode4(165211),
57741 /* 163219 */ /*GILLT_v32s16*//*Label 3606*/ GIMT_Encode4(165456),
57742 /* 163223 */ /*GILLT_v4s32*//*Label 3607*/ GIMT_Encode4(165701),
57743 /* 163227 */ /*GILLT_v8s32*//*Label 3608*/ GIMT_Encode4(166438),
57744 /* 163231 */ /*GILLT_v16s32*//*Label 3609*/ GIMT_Encode4(167175),
57745 /* 163235 */ /*GILLT_v2s64*//*Label 3610*/ GIMT_Encode4(167420),
57746 /* 163239 */ /*GILLT_v4s64*//*Label 3611*/ GIMT_Encode4(168157),
57747 /* 163243 */ /*GILLT_v8s64*//*Label 3612*/ GIMT_Encode4(168894),
57748 /* 163247 */ // Label 3601: @163247
57749 /* 163247 */ GIM_Try, /*On fail goto*//*Label 3614*/ GIMT_Encode4(163491),
57750 /* 163252 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
57751 /* 163255 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
57752 /* 163258 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
57753 /* 163261 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57754 /* 163265 */ GIM_Try, /*On fail goto*//*Label 3615*/ GIMT_Encode4(163329), // Rule ID 10138 //
57755 /* 163270 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57756 /* 163273 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57757 /* 163277 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57758 /* 163281 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57759 /* 163284 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57760 /* 163288 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57761 /* 163292 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57762 /* 163296 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57763 /* 163300 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57764 /* 163302 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57765 /* 163309 */ // (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)
57766 /* 163309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SHZm),
57767 /* 163312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57768 /* 163314 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57769 /* 163316 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57770 /* 163318 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57771 /* 163322 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57772 /* 163327 */ GIR_RootConstrainSelectedInstOperands,
57773 /* 163328 */ // GIR_Coverage, 10138,
57774 /* 163328 */ GIR_EraseRootFromParent_Done,
57775 /* 163329 */ // Label 3615: @163329
57776 /* 163329 */ GIM_Try, /*On fail goto*//*Label 3616*/ GIMT_Encode4(163393), // Rule ID 10136 //
57777 /* 163334 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57778 /* 163337 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57779 /* 163341 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57780 /* 163345 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57781 /* 163349 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57782 /* 163352 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57783 /* 163356 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57784 /* 163360 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57785 /* 163364 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57786 /* 163366 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57787 /* 163373 */ // (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)
57788 /* 163373 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SHZm),
57789 /* 163376 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57790 /* 163378 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57791 /* 163380 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57792 /* 163382 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57793 /* 163386 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57794 /* 163391 */ GIR_RootConstrainSelectedInstOperands,
57795 /* 163392 */ // GIR_Coverage, 10136,
57796 /* 163392 */ GIR_EraseRootFromParent_Done,
57797 /* 163393 */ // Label 3616: @163393
57798 /* 163393 */ GIM_Try, /*On fail goto*//*Label 3617*/ GIMT_Encode4(163457), // Rule ID 10133 //
57799 /* 163398 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57800 /* 163401 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57801 /* 163405 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57802 /* 163409 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57803 /* 163413 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57804 /* 163417 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57805 /* 163420 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57806 /* 163424 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57807 /* 163428 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57808 /* 163430 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57809 /* 163437 */ // (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)
57810 /* 163437 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZm),
57811 /* 163440 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57812 /* 163442 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57813 /* 163444 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57814 /* 163446 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57815 /* 163450 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57816 /* 163455 */ GIR_RootConstrainSelectedInstOperands,
57817 /* 163456 */ // GIR_Coverage, 10133,
57818 /* 163456 */ GIR_EraseRootFromParent_Done,
57819 /* 163457 */ // Label 3617: @163457
57820 /* 163457 */ GIM_Try, /*On fail goto*//*Label 3618*/ GIMT_Encode4(163490), // Rule ID 10131 //
57821 /* 163462 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
57822 /* 163465 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57823 /* 163469 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57824 /* 163473 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
57825 /* 163477 */ // (fma:{ *:[f16] } FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src3) => (VFMADD213SHZr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src3)
57826 /* 163477 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZr),
57827 /* 163480 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57828 /* 163482 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57829 /* 163484 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57830 /* 163486 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57831 /* 163488 */ GIR_RootConstrainSelectedInstOperands,
57832 /* 163489 */ // GIR_Coverage, 10131,
57833 /* 163489 */ GIR_EraseRootFromParent_Done,
57834 /* 163490 */ // Label 3618: @163490
57835 /* 163490 */ GIM_Reject,
57836 /* 163491 */ // Label 3614: @163491
57837 /* 163491 */ GIM_Reject,
57838 /* 163492 */ // Label 3602: @163492
57839 /* 163492 */ GIM_Try, /*On fail goto*//*Label 3619*/ GIMT_Encode4(164228),
57840 /* 163497 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
57841 /* 163500 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
57842 /* 163503 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
57843 /* 163506 */ GIM_Try, /*On fail goto*//*Label 3620*/ GIMT_Encode4(163574), // Rule ID 1280 //
57844 /* 163511 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
57845 /* 163514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57846 /* 163518 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57847 /* 163522 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57848 /* 163526 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57849 /* 163529 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57850 /* 163533 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57851 /* 163537 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57852 /* 163541 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57853 /* 163545 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57854 /* 163547 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57855 /* 163554 */ // (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)
57856 /* 163554 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSm),
57857 /* 163557 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57858 /* 163559 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57859 /* 163561 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57860 /* 163563 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57861 /* 163567 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57862 /* 163572 */ GIR_RootConstrainSelectedInstOperands,
57863 /* 163573 */ // GIR_Coverage, 1280,
57864 /* 163573 */ GIR_EraseRootFromParent_Done,
57865 /* 163574 */ // Label 3620: @163574
57866 /* 163574 */ GIM_Try, /*On fail goto*//*Label 3621*/ GIMT_Encode4(163642), // Rule ID 10120 //
57867 /* 163579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57868 /* 163582 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57869 /* 163586 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57870 /* 163590 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57871 /* 163594 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57872 /* 163597 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57873 /* 163601 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57874 /* 163605 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57875 /* 163609 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57876 /* 163613 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57877 /* 163615 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57878 /* 163622 */ // (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)
57879 /* 163622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSZm),
57880 /* 163625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57881 /* 163627 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57882 /* 163629 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
57883 /* 163631 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57884 /* 163635 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57885 /* 163640 */ GIR_RootConstrainSelectedInstOperands,
57886 /* 163641 */ // GIR_Coverage, 10120,
57887 /* 163641 */ GIR_EraseRootFromParent_Done,
57888 /* 163642 */ // Label 3621: @163642
57889 /* 163642 */ GIM_Try, /*On fail goto*//*Label 3622*/ GIMT_Encode4(163710), // Rule ID 23339 //
57890 /* 163647 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
57891 /* 163650 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57892 /* 163654 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
57893 /* 163658 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57894 /* 163662 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57895 /* 163665 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57896 /* 163669 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57897 /* 163673 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57898 /* 163677 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57899 /* 163681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57900 /* 163683 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57901 /* 163690 */ // (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)
57902 /* 163690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
57903 /* 163693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57904 /* 163695 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57905 /* 163697 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57906 /* 163701 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57907 /* 163703 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57908 /* 163708 */ GIR_RootConstrainSelectedInstOperands,
57909 /* 163709 */ // GIR_Coverage, 23339,
57910 /* 163709 */ GIR_EraseRootFromParent_Done,
57911 /* 163710 */ // Label 3622: @163710
57912 /* 163710 */ GIM_Try, /*On fail goto*//*Label 3623*/ GIMT_Encode4(163778), // Rule ID 1278 //
57913 /* 163715 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
57914 /* 163718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57915 /* 163722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57916 /* 163726 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57917 /* 163730 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57918 /* 163734 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57919 /* 163737 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57920 /* 163741 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57921 /* 163745 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57922 /* 163749 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57923 /* 163751 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57924 /* 163758 */ // (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)
57925 /* 163758 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSm),
57926 /* 163761 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57927 /* 163763 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57928 /* 163765 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57929 /* 163767 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57930 /* 163771 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57931 /* 163776 */ GIR_RootConstrainSelectedInstOperands,
57932 /* 163777 */ // GIR_Coverage, 1278,
57933 /* 163777 */ GIR_EraseRootFromParent_Done,
57934 /* 163778 */ // Label 3623: @163778
57935 /* 163778 */ GIM_Try, /*On fail goto*//*Label 3624*/ GIMT_Encode4(163846), // Rule ID 1342 //
57936 /* 163783 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
57937 /* 163786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57938 /* 163790 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57939 /* 163794 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57940 /* 163798 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57941 /* 163802 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57942 /* 163805 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57943 /* 163809 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57944 /* 163813 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57945 /* 163817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57946 /* 163819 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57947 /* 163826 */ // (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)
57948 /* 163826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
57949 /* 163829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57950 /* 163831 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
57951 /* 163833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
57952 /* 163837 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
57953 /* 163839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57954 /* 163844 */ GIR_RootConstrainSelectedInstOperands,
57955 /* 163845 */ // GIR_Coverage, 1342,
57956 /* 163845 */ GIR_EraseRootFromParent_Done,
57957 /* 163846 */ // Label 3624: @163846
57958 /* 163846 */ GIM_Try, /*On fail goto*//*Label 3625*/ GIMT_Encode4(163914), // Rule ID 10118 //
57959 /* 163851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
57960 /* 163854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57961 /* 163858 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57962 /* 163862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
57963 /* 163866 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57964 /* 163870 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57965 /* 163873 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57966 /* 163877 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57967 /* 163881 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
57968 /* 163885 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57969 /* 163887 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57970 /* 163894 */ // (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)
57971 /* 163894 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSZm),
57972 /* 163897 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57973 /* 163899 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
57974 /* 163901 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57975 /* 163903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57976 /* 163907 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
57977 /* 163912 */ GIR_RootConstrainSelectedInstOperands,
57978 /* 163913 */ // GIR_Coverage, 10118,
57979 /* 163913 */ GIR_EraseRootFromParent_Done,
57980 /* 163914 */ // Label 3625: @163914
57981 /* 163914 */ GIM_Try, /*On fail goto*//*Label 3626*/ GIMT_Encode4(163982), // Rule ID 1276 //
57982 /* 163919 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
57983 /* 163922 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57984 /* 163926 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57985 /* 163930 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
57986 /* 163934 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
57987 /* 163938 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
57988 /* 163942 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
57989 /* 163945 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
57990 /* 163949 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
57991 /* 163953 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
57992 /* 163955 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
57993 /* 163962 */ // (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)
57994 /* 163962 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSm),
57995 /* 163965 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
57996 /* 163967 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
57997 /* 163969 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
57998 /* 163971 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
57999 /* 163975 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58000 /* 163980 */ GIR_RootConstrainSelectedInstOperands,
58001 /* 163981 */ // GIR_Coverage, 1276,
58002 /* 163981 */ GIR_EraseRootFromParent_Done,
58003 /* 163982 */ // Label 3626: @163982
58004 /* 163982 */ GIM_Try, /*On fail goto*//*Label 3627*/ GIMT_Encode4(164050), // Rule ID 1340 //
58005 /* 163987 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
58006 /* 163990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58007 /* 163994 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58008 /* 163998 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58009 /* 164002 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58010 /* 164006 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58011 /* 164010 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58012 /* 164013 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58013 /* 164017 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58014 /* 164021 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58015 /* 164023 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58016 /* 164030 */ // (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)
58017 /* 164030 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rm),
58018 /* 164033 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58019 /* 164035 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58020 /* 164037 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
58021 /* 164039 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58022 /* 164043 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58023 /* 164048 */ GIR_RootConstrainSelectedInstOperands,
58024 /* 164049 */ // GIR_Coverage, 1340,
58025 /* 164049 */ GIR_EraseRootFromParent_Done,
58026 /* 164050 */ // Label 3627: @164050
58027 /* 164050 */ GIM_Try, /*On fail goto*//*Label 3628*/ GIMT_Encode4(164118), // Rule ID 10115 //
58028 /* 164055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58029 /* 164058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58030 /* 164062 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58031 /* 164066 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58032 /* 164070 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58033 /* 164074 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58034 /* 164078 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58035 /* 164081 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58036 /* 164085 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58037 /* 164089 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58038 /* 164091 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58039 /* 164098 */ // (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)
58040 /* 164098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZm),
58041 /* 164101 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58042 /* 164103 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58043 /* 164105 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58044 /* 164107 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58045 /* 164111 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58046 /* 164116 */ GIR_RootConstrainSelectedInstOperands,
58047 /* 164117 */ // GIR_Coverage, 10115,
58048 /* 164117 */ GIR_EraseRootFromParent_Done,
58049 /* 164118 */ // Label 3628: @164118
58050 /* 164118 */ GIM_Try, /*On fail goto*//*Label 3629*/ GIMT_Encode4(164155), // Rule ID 1274 //
58051 /* 164123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
58052 /* 164126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58053 /* 164130 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58054 /* 164134 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58055 /* 164138 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58056 /* 164142 */ // (fma:{ *:[f32] } FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src3) => (VFMADD213SSr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
58057 /* 164142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSr),
58058 /* 164145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58059 /* 164147 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58060 /* 164149 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58061 /* 164151 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58062 /* 164153 */ GIR_RootConstrainSelectedInstOperands,
58063 /* 164154 */ // GIR_Coverage, 1274,
58064 /* 164154 */ GIR_EraseRootFromParent_Done,
58065 /* 164155 */ // Label 3629: @164155
58066 /* 164155 */ GIM_Try, /*On fail goto*//*Label 3630*/ GIMT_Encode4(164190), // Rule ID 1338 //
58067 /* 164160 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
58068 /* 164163 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58069 /* 164167 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58070 /* 164171 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58071 /* 164175 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
58072 /* 164179 */ // (fma:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3) => (VFMADDSS4rr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
58073 /* 164179 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rr),
58074 /* 164184 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58075 /* 164188 */ GIR_RootConstrainSelectedInstOperands,
58076 /* 164189 */ // GIR_Coverage, 1338,
58077 /* 164189 */ GIR_Done,
58078 /* 164190 */ // Label 3630: @164190
58079 /* 164190 */ GIM_Try, /*On fail goto*//*Label 3631*/ GIMT_Encode4(164227), // Rule ID 10113 //
58080 /* 164195 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58081 /* 164198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58082 /* 164202 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58083 /* 164206 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58084 /* 164210 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
58085 /* 164214 */ // (fma:{ *:[f32] } FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src3) => (VFMADD213SSZr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src3)
58086 /* 164214 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZr),
58087 /* 164217 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58088 /* 164219 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58089 /* 164221 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58090 /* 164223 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58091 /* 164225 */ GIR_RootConstrainSelectedInstOperands,
58092 /* 164226 */ // GIR_Coverage, 10113,
58093 /* 164226 */ GIR_EraseRootFromParent_Done,
58094 /* 164227 */ // Label 3631: @164227
58095 /* 164227 */ GIM_Reject,
58096 /* 164228 */ // Label 3619: @164228
58097 /* 164228 */ GIM_Reject,
58098 /* 164229 */ // Label 3603: @164229
58099 /* 164229 */ GIM_Try, /*On fail goto*//*Label 3632*/ GIMT_Encode4(164965),
58100 /* 164234 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
58101 /* 164237 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
58102 /* 164240 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
58103 /* 164243 */ GIM_Try, /*On fail goto*//*Label 3633*/ GIMT_Encode4(164311), // Rule ID 1288 //
58104 /* 164248 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
58105 /* 164251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58106 /* 164255 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58107 /* 164259 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58108 /* 164263 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58109 /* 164266 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58110 /* 164270 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58111 /* 164274 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58112 /* 164278 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58113 /* 164282 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58114 /* 164284 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58115 /* 164291 */ // (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)
58116 /* 164291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDm),
58117 /* 164294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58118 /* 164296 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58119 /* 164298 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58120 /* 164300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58121 /* 164304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58122 /* 164309 */ GIR_RootConstrainSelectedInstOperands,
58123 /* 164310 */ // GIR_Coverage, 1288,
58124 /* 164310 */ GIR_EraseRootFromParent_Done,
58125 /* 164311 */ // Label 3633: @164311
58126 /* 164311 */ GIM_Try, /*On fail goto*//*Label 3634*/ GIMT_Encode4(164379), // Rule ID 10129 //
58127 /* 164316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58128 /* 164319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58129 /* 164323 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58130 /* 164327 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58131 /* 164331 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58132 /* 164334 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58133 /* 164338 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58134 /* 164342 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58135 /* 164346 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58136 /* 164350 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58137 /* 164352 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58138 /* 164359 */ // (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)
58139 /* 164359 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDZm),
58140 /* 164362 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58141 /* 164364 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58142 /* 164366 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58143 /* 164368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58144 /* 164372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58145 /* 164377 */ GIR_RootConstrainSelectedInstOperands,
58146 /* 164378 */ // GIR_Coverage, 10129,
58147 /* 164378 */ GIR_EraseRootFromParent_Done,
58148 /* 164379 */ // Label 3634: @164379
58149 /* 164379 */ GIM_Try, /*On fail goto*//*Label 3635*/ GIMT_Encode4(164447), // Rule ID 23367 //
58150 /* 164384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
58151 /* 164387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58152 /* 164391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58153 /* 164395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58154 /* 164399 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58155 /* 164402 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58156 /* 164406 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58157 /* 164410 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58158 /* 164414 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58159 /* 164418 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58160 /* 164420 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58161 /* 164427 */ // (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)
58162 /* 164427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
58163 /* 164430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58164 /* 164432 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58165 /* 164434 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58166 /* 164438 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58167 /* 164440 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58168 /* 164445 */ GIR_RootConstrainSelectedInstOperands,
58169 /* 164446 */ // GIR_Coverage, 23367,
58170 /* 164446 */ GIR_EraseRootFromParent_Done,
58171 /* 164447 */ // Label 3635: @164447
58172 /* 164447 */ GIM_Try, /*On fail goto*//*Label 3636*/ GIMT_Encode4(164515), // Rule ID 1286 //
58173 /* 164452 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
58174 /* 164455 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58175 /* 164459 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58176 /* 164463 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58177 /* 164467 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58178 /* 164471 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58179 /* 164474 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58180 /* 164478 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58181 /* 164482 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58182 /* 164486 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58183 /* 164488 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58184 /* 164495 */ // (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)
58185 /* 164495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDm),
58186 /* 164498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58187 /* 164500 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58188 /* 164502 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58189 /* 164504 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58190 /* 164508 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58191 /* 164513 */ GIR_RootConstrainSelectedInstOperands,
58192 /* 164514 */ // GIR_Coverage, 1286,
58193 /* 164514 */ GIR_EraseRootFromParent_Done,
58194 /* 164515 */ // Label 3636: @164515
58195 /* 164515 */ GIM_Try, /*On fail goto*//*Label 3637*/ GIMT_Encode4(164583), // Rule ID 1426 //
58196 /* 164520 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
58197 /* 164523 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58198 /* 164527 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58199 /* 164531 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58200 /* 164535 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58201 /* 164539 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58202 /* 164542 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58203 /* 164546 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58204 /* 164550 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58205 /* 164554 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58206 /* 164556 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58207 /* 164563 */ // (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)
58208 /* 164563 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
58209 /* 164566 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58210 /* 164568 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58211 /* 164570 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58212 /* 164574 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58213 /* 164576 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58214 /* 164581 */ GIR_RootConstrainSelectedInstOperands,
58215 /* 164582 */ // GIR_Coverage, 1426,
58216 /* 164582 */ GIR_EraseRootFromParent_Done,
58217 /* 164583 */ // Label 3637: @164583
58218 /* 164583 */ GIM_Try, /*On fail goto*//*Label 3638*/ GIMT_Encode4(164651), // Rule ID 10127 //
58219 /* 164588 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58220 /* 164591 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58221 /* 164595 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58222 /* 164599 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58223 /* 164603 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58224 /* 164607 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58225 /* 164610 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58226 /* 164614 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58227 /* 164618 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58228 /* 164622 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58229 /* 164624 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58230 /* 164631 */ // (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)
58231 /* 164631 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDZm),
58232 /* 164634 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58233 /* 164636 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58234 /* 164638 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58235 /* 164640 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58236 /* 164644 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58237 /* 164649 */ GIR_RootConstrainSelectedInstOperands,
58238 /* 164650 */ // GIR_Coverage, 10127,
58239 /* 164650 */ GIR_EraseRootFromParent_Done,
58240 /* 164651 */ // Label 3638: @164651
58241 /* 164651 */ GIM_Try, /*On fail goto*//*Label 3639*/ GIMT_Encode4(164719), // Rule ID 1284 //
58242 /* 164656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
58243 /* 164659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58244 /* 164663 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58245 /* 164667 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58246 /* 164671 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58247 /* 164675 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58248 /* 164679 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58249 /* 164682 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58250 /* 164686 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58251 /* 164690 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58252 /* 164692 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58253 /* 164699 */ // (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)
58254 /* 164699 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDm),
58255 /* 164702 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58256 /* 164704 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58257 /* 164706 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58258 /* 164708 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58259 /* 164712 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58260 /* 164717 */ GIR_RootConstrainSelectedInstOperands,
58261 /* 164718 */ // GIR_Coverage, 1284,
58262 /* 164718 */ GIR_EraseRootFromParent_Done,
58263 /* 164719 */ // Label 3639: @164719
58264 /* 164719 */ GIM_Try, /*On fail goto*//*Label 3640*/ GIMT_Encode4(164787), // Rule ID 1424 //
58265 /* 164724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
58266 /* 164727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58267 /* 164731 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58268 /* 164735 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58269 /* 164739 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58270 /* 164743 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58271 /* 164747 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58272 /* 164750 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58273 /* 164754 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58274 /* 164758 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58275 /* 164760 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58276 /* 164767 */ // (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)
58277 /* 164767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rm),
58278 /* 164770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58279 /* 164772 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58280 /* 164774 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
58281 /* 164776 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58282 /* 164780 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58283 /* 164785 */ GIR_RootConstrainSelectedInstOperands,
58284 /* 164786 */ // GIR_Coverage, 1424,
58285 /* 164786 */ GIR_EraseRootFromParent_Done,
58286 /* 164787 */ // Label 3640: @164787
58287 /* 164787 */ GIM_Try, /*On fail goto*//*Label 3641*/ GIMT_Encode4(164855), // Rule ID 10124 //
58288 /* 164792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58289 /* 164795 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58290 /* 164799 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58291 /* 164803 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58292 /* 164807 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58293 /* 164811 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58294 /* 164815 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58295 /* 164818 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58296 /* 164822 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58297 /* 164826 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58298 /* 164828 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58299 /* 164835 */ // (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)
58300 /* 164835 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZm),
58301 /* 164838 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58302 /* 164840 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58303 /* 164842 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58304 /* 164844 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58305 /* 164848 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58306 /* 164853 */ GIR_RootConstrainSelectedInstOperands,
58307 /* 164854 */ // GIR_Coverage, 10124,
58308 /* 164854 */ GIR_EraseRootFromParent_Done,
58309 /* 164855 */ // Label 3641: @164855
58310 /* 164855 */ GIM_Try, /*On fail goto*//*Label 3642*/ GIMT_Encode4(164892), // Rule ID 1282 //
58311 /* 164860 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
58312 /* 164863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58313 /* 164867 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58314 /* 164871 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58315 /* 164875 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58316 /* 164879 */ // (fma:{ *:[f64] } FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src3) => (VFMADD213SDr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
58317 /* 164879 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDr),
58318 /* 164882 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58319 /* 164884 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58320 /* 164886 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58321 /* 164888 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58322 /* 164890 */ GIR_RootConstrainSelectedInstOperands,
58323 /* 164891 */ // GIR_Coverage, 1282,
58324 /* 164891 */ GIR_EraseRootFromParent_Done,
58325 /* 164892 */ // Label 3642: @164892
58326 /* 164892 */ GIM_Try, /*On fail goto*//*Label 3643*/ GIMT_Encode4(164927), // Rule ID 1422 //
58327 /* 164897 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
58328 /* 164900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58329 /* 164904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58330 /* 164908 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58331 /* 164912 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
58332 /* 164916 */ // (fma:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3) => (VFMADDSD4rr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
58333 /* 164916 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rr),
58334 /* 164921 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58335 /* 164925 */ GIR_RootConstrainSelectedInstOperands,
58336 /* 164926 */ // GIR_Coverage, 1422,
58337 /* 164926 */ GIR_Done,
58338 /* 164927 */ // Label 3643: @164927
58339 /* 164927 */ GIM_Try, /*On fail goto*//*Label 3644*/ GIMT_Encode4(164964), // Rule ID 10122 //
58340 /* 164932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
58341 /* 164935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58342 /* 164939 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58343 /* 164943 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58344 /* 164947 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
58345 /* 164951 */ // (fma:{ *:[f64] } FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src3) => (VFMADD213SDZr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src3)
58346 /* 164951 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZr),
58347 /* 164954 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58348 /* 164956 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58349 /* 164958 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58350 /* 164960 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58351 /* 164962 */ GIR_RootConstrainSelectedInstOperands,
58352 /* 164963 */ // GIR_Coverage, 10122,
58353 /* 164963 */ GIR_EraseRootFromParent_Done,
58354 /* 164964 */ // Label 3644: @164964
58355 /* 164964 */ GIM_Reject,
58356 /* 164965 */ // Label 3632: @164965
58357 /* 164965 */ GIM_Reject,
58358 /* 164966 */ // Label 3604: @164966
58359 /* 164966 */ GIM_Try, /*On fail goto*//*Label 3645*/ GIMT_Encode4(165210),
58360 /* 164971 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
58361 /* 164974 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
58362 /* 164977 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
58363 /* 164980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58364 /* 164984 */ GIM_Try, /*On fail goto*//*Label 3646*/ GIMT_Encode4(165048), // Rule ID 9597 //
58365 /* 164989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58366 /* 164992 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58367 /* 164996 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58368 /* 165000 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58369 /* 165003 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58370 /* 165007 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58371 /* 165011 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58372 /* 165015 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58373 /* 165019 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58374 /* 165021 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58375 /* 165028 */ // (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)
58376 /* 165028 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ128m),
58377 /* 165031 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58378 /* 165033 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58379 /* 165035 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58380 /* 165037 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58381 /* 165041 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58382 /* 165046 */ GIR_RootConstrainSelectedInstOperands,
58383 /* 165047 */ // GIR_Coverage, 9597,
58384 /* 165047 */ GIR_EraseRootFromParent_Done,
58385 /* 165048 */ // Label 3646: @165048
58386 /* 165048 */ GIM_Try, /*On fail goto*//*Label 3647*/ GIMT_Encode4(165112), // Rule ID 9057 //
58387 /* 165053 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58388 /* 165056 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58389 /* 165060 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58390 /* 165064 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58391 /* 165068 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58392 /* 165071 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58393 /* 165075 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58394 /* 165079 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58395 /* 165083 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58396 /* 165085 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58397 /* 165092 */ // (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)
58398 /* 165092 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ128m),
58399 /* 165095 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58400 /* 165097 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58401 /* 165099 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58402 /* 165101 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58403 /* 165105 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58404 /* 165110 */ GIR_RootConstrainSelectedInstOperands,
58405 /* 165111 */ // GIR_Coverage, 9057,
58406 /* 165111 */ GIR_EraseRootFromParent_Done,
58407 /* 165112 */ // Label 3647: @165112
58408 /* 165112 */ GIM_Try, /*On fail goto*//*Label 3648*/ GIMT_Encode4(165176), // Rule ID 8416 //
58409 /* 165117 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58410 /* 165120 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58411 /* 165124 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58412 /* 165128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58413 /* 165132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58414 /* 165136 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58415 /* 165139 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58416 /* 165143 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58417 /* 165147 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58418 /* 165149 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58419 /* 165156 */ // (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)
58420 /* 165156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128m),
58421 /* 165159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58422 /* 165161 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58423 /* 165163 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58424 /* 165165 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58425 /* 165169 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58426 /* 165174 */ GIR_RootConstrainSelectedInstOperands,
58427 /* 165175 */ // GIR_Coverage, 8416,
58428 /* 165175 */ GIR_EraseRootFromParent_Done,
58429 /* 165176 */ // Label 3648: @165176
58430 /* 165176 */ GIM_Try, /*On fail goto*//*Label 3649*/ GIMT_Encode4(165209), // Rule ID 8412 //
58431 /* 165181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58432 /* 165184 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58433 /* 165188 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58434 /* 165192 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58435 /* 165196 */ // (fma:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src3) => (VFMADD213PHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src3)
58436 /* 165196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128r),
58437 /* 165199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58438 /* 165201 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58439 /* 165203 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58440 /* 165205 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58441 /* 165207 */ GIR_RootConstrainSelectedInstOperands,
58442 /* 165208 */ // GIR_Coverage, 8412,
58443 /* 165208 */ GIR_EraseRootFromParent_Done,
58444 /* 165209 */ // Label 3649: @165209
58445 /* 165209 */ GIM_Reject,
58446 /* 165210 */ // Label 3645: @165210
58447 /* 165210 */ GIM_Reject,
58448 /* 165211 */ // Label 3605: @165211
58449 /* 165211 */ GIM_Try, /*On fail goto*//*Label 3650*/ GIMT_Encode4(165455),
58450 /* 165216 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
58451 /* 165219 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
58452 /* 165222 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
58453 /* 165225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58454 /* 165229 */ GIM_Try, /*On fail goto*//*Label 3651*/ GIMT_Encode4(165293), // Rule ID 9587 //
58455 /* 165234 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58456 /* 165237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58457 /* 165241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58458 /* 165245 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58459 /* 165248 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58460 /* 165252 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58461 /* 165256 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58462 /* 165260 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58463 /* 165264 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58464 /* 165266 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58465 /* 165273 */ // (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)
58466 /* 165273 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ256m),
58467 /* 165276 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58468 /* 165278 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58469 /* 165280 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58470 /* 165282 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58471 /* 165286 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58472 /* 165291 */ GIR_RootConstrainSelectedInstOperands,
58473 /* 165292 */ // GIR_Coverage, 9587,
58474 /* 165292 */ GIR_EraseRootFromParent_Done,
58475 /* 165293 */ // Label 3651: @165293
58476 /* 165293 */ GIM_Try, /*On fail goto*//*Label 3652*/ GIMT_Encode4(165357), // Rule ID 9047 //
58477 /* 165298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58478 /* 165301 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58479 /* 165305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58480 /* 165309 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58481 /* 165313 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58482 /* 165316 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58483 /* 165320 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58484 /* 165324 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58485 /* 165328 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58486 /* 165330 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58487 /* 165337 */ // (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)
58488 /* 165337 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ256m),
58489 /* 165340 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58490 /* 165342 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58491 /* 165344 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58492 /* 165346 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58493 /* 165350 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58494 /* 165355 */ GIR_RootConstrainSelectedInstOperands,
58495 /* 165356 */ // GIR_Coverage, 9047,
58496 /* 165356 */ GIR_EraseRootFromParent_Done,
58497 /* 165357 */ // Label 3652: @165357
58498 /* 165357 */ GIM_Try, /*On fail goto*//*Label 3653*/ GIMT_Encode4(165421), // Rule ID 8404 //
58499 /* 165362 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58500 /* 165365 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58501 /* 165369 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58502 /* 165373 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58503 /* 165377 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58504 /* 165381 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58505 /* 165384 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58506 /* 165388 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58507 /* 165392 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58508 /* 165394 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58509 /* 165401 */ // (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)
58510 /* 165401 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256m),
58511 /* 165404 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58512 /* 165406 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58513 /* 165408 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58514 /* 165410 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58515 /* 165414 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58516 /* 165419 */ GIR_RootConstrainSelectedInstOperands,
58517 /* 165420 */ // GIR_Coverage, 8404,
58518 /* 165420 */ GIR_EraseRootFromParent_Done,
58519 /* 165421 */ // Label 3653: @165421
58520 /* 165421 */ GIM_Try, /*On fail goto*//*Label 3654*/ GIMT_Encode4(165454), // Rule ID 8400 //
58521 /* 165426 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
58522 /* 165429 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58523 /* 165433 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58524 /* 165437 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58525 /* 165441 */ // (fma:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src3) => (VFMADD213PHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src3)
58526 /* 165441 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256r),
58527 /* 165444 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58528 /* 165446 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58529 /* 165448 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58530 /* 165450 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58531 /* 165452 */ GIR_RootConstrainSelectedInstOperands,
58532 /* 165453 */ // GIR_Coverage, 8400,
58533 /* 165453 */ GIR_EraseRootFromParent_Done,
58534 /* 165454 */ // Label 3654: @165454
58535 /* 165454 */ GIM_Reject,
58536 /* 165455 */ // Label 3650: @165455
58537 /* 165455 */ GIM_Reject,
58538 /* 165456 */ // Label 3606: @165456
58539 /* 165456 */ GIM_Try, /*On fail goto*//*Label 3655*/ GIMT_Encode4(165700),
58540 /* 165461 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
58541 /* 165464 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
58542 /* 165467 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
58543 /* 165470 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58544 /* 165474 */ GIM_Try, /*On fail goto*//*Label 3656*/ GIMT_Encode4(165538), // Rule ID 9575 //
58545 /* 165479 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
58546 /* 165482 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58547 /* 165486 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58548 /* 165490 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58549 /* 165493 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58550 /* 165497 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58551 /* 165501 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58552 /* 165505 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58553 /* 165509 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58554 /* 165511 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58555 /* 165518 */ // (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)
58556 /* 165518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZm),
58557 /* 165521 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58558 /* 165523 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58559 /* 165525 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58560 /* 165527 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58561 /* 165531 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58562 /* 165536 */ GIR_RootConstrainSelectedInstOperands,
58563 /* 165537 */ // GIR_Coverage, 9575,
58564 /* 165537 */ GIR_EraseRootFromParent_Done,
58565 /* 165538 */ // Label 3656: @165538
58566 /* 165538 */ GIM_Try, /*On fail goto*//*Label 3657*/ GIMT_Encode4(165602), // Rule ID 9035 //
58567 /* 165543 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
58568 /* 165546 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58569 /* 165550 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58570 /* 165554 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58571 /* 165558 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58572 /* 165561 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58573 /* 165565 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58574 /* 165569 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58575 /* 165573 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58576 /* 165575 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58577 /* 165582 */ // (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)
58578 /* 165582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZm),
58579 /* 165585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58580 /* 165587 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58581 /* 165589 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58582 /* 165591 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58583 /* 165595 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58584 /* 165600 */ GIR_RootConstrainSelectedInstOperands,
58585 /* 165601 */ // GIR_Coverage, 9035,
58586 /* 165601 */ GIR_EraseRootFromParent_Done,
58587 /* 165602 */ // Label 3657: @165602
58588 /* 165602 */ GIM_Try, /*On fail goto*//*Label 3658*/ GIMT_Encode4(165666), // Rule ID 8389 //
58589 /* 165607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
58590 /* 165610 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58591 /* 165614 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58592 /* 165618 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58593 /* 165622 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58594 /* 165626 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58595 /* 165629 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58596 /* 165633 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58597 /* 165637 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58598 /* 165639 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58599 /* 165646 */ // (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)
58600 /* 165646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZm),
58601 /* 165649 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58602 /* 165651 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58603 /* 165653 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58604 /* 165655 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58605 /* 165659 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58606 /* 165664 */ GIR_RootConstrainSelectedInstOperands,
58607 /* 165665 */ // GIR_Coverage, 8389,
58608 /* 165665 */ GIR_EraseRootFromParent_Done,
58609 /* 165666 */ // Label 3658: @165666
58610 /* 165666 */ GIM_Try, /*On fail goto*//*Label 3659*/ GIMT_Encode4(165699), // Rule ID 8385 //
58611 /* 165671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
58612 /* 165674 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58613 /* 165678 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58614 /* 165682 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
58615 /* 165686 */ // (fma:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src3) => (VFMADD213PHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src3)
58616 /* 165686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZr),
58617 /* 165689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58618 /* 165691 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58619 /* 165693 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58620 /* 165695 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58621 /* 165697 */ GIR_RootConstrainSelectedInstOperands,
58622 /* 165698 */ // GIR_Coverage, 8385,
58623 /* 165698 */ GIR_EraseRootFromParent_Done,
58624 /* 165699 */ // Label 3659: @165699
58625 /* 165699 */ GIM_Reject,
58626 /* 165700 */ // Label 3655: @165700
58627 /* 165700 */ GIM_Reject,
58628 /* 165701 */ // Label 3607: @165701
58629 /* 165701 */ GIM_Try, /*On fail goto*//*Label 3660*/ GIMT_Encode4(166437),
58630 /* 165706 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
58631 /* 165709 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
58632 /* 165712 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
58633 /* 165715 */ GIM_Try, /*On fail goto*//*Label 3661*/ GIMT_Encode4(165783), // Rule ID 1120 //
58634 /* 165720 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58635 /* 165723 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58636 /* 165727 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58637 /* 165731 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58638 /* 165735 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58639 /* 165738 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58640 /* 165742 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58641 /* 165746 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58642 /* 165750 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58643 /* 165754 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58644 /* 165756 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58645 /* 165763 */ // (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)
58646 /* 165763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSm),
58647 /* 165766 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58648 /* 165768 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58649 /* 165770 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58650 /* 165772 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58651 /* 165776 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58652 /* 165781 */ GIR_RootConstrainSelectedInstOperands,
58653 /* 165782 */ // GIR_Coverage, 1120,
58654 /* 165782 */ GIR_EraseRootFromParent_Done,
58655 /* 165783 */ // Label 3661: @165783
58656 /* 165783 */ GIM_Try, /*On fail goto*//*Label 3662*/ GIMT_Encode4(165851), // Rule ID 9629 //
58657 /* 165788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58658 /* 165791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58659 /* 165795 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58660 /* 165799 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58661 /* 165803 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58662 /* 165806 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58663 /* 165810 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58664 /* 165814 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58665 /* 165818 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58666 /* 165822 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58667 /* 165824 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58668 /* 165831 */ // (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)
58669 /* 165831 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ128m),
58670 /* 165834 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58671 /* 165836 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58672 /* 165838 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58673 /* 165840 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58674 /* 165844 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58675 /* 165849 */ GIR_RootConstrainSelectedInstOperands,
58676 /* 165850 */ // GIR_Coverage, 9629,
58677 /* 165850 */ GIR_EraseRootFromParent_Done,
58678 /* 165851 */ // Label 3662: @165851
58679 /* 165851 */ GIM_Try, /*On fail goto*//*Label 3663*/ GIMT_Encode4(165919), // Rule ID 23347 //
58680 /* 165856 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58681 /* 165859 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58682 /* 165863 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58683 /* 165867 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58684 /* 165871 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58685 /* 165874 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58686 /* 165878 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58687 /* 165882 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58688 /* 165886 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58689 /* 165890 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58690 /* 165892 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58691 /* 165899 */ // (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)
58692 /* 165899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
58693 /* 165902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58694 /* 165904 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58695 /* 165906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58696 /* 165910 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58697 /* 165912 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58698 /* 165917 */ GIR_RootConstrainSelectedInstOperands,
58699 /* 165918 */ // GIR_Coverage, 23347,
58700 /* 165918 */ GIR_EraseRootFromParent_Done,
58701 /* 165919 */ // Label 3663: @165919
58702 /* 165919 */ GIM_Try, /*On fail goto*//*Label 3664*/ GIMT_Encode4(165987), // Rule ID 1118 //
58703 /* 165924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58704 /* 165927 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58705 /* 165931 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58706 /* 165935 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58707 /* 165939 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58708 /* 165943 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58709 /* 165946 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58710 /* 165950 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58711 /* 165954 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58712 /* 165958 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58713 /* 165960 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58714 /* 165967 */ // (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)
58715 /* 165967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSm),
58716 /* 165970 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58717 /* 165972 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58718 /* 165974 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58719 /* 165976 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58720 /* 165980 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58721 /* 165985 */ GIR_RootConstrainSelectedInstOperands,
58722 /* 165986 */ // GIR_Coverage, 1118,
58723 /* 165986 */ GIR_EraseRootFromParent_Done,
58724 /* 165987 */ // Label 3664: @165987
58725 /* 165987 */ GIM_Try, /*On fail goto*//*Label 3665*/ GIMT_Encode4(166055), // Rule ID 1366 //
58726 /* 165992 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58727 /* 165995 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58728 /* 165999 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58729 /* 166003 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58730 /* 166007 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58731 /* 166011 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58732 /* 166014 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58733 /* 166018 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58734 /* 166022 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58735 /* 166026 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58736 /* 166028 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58737 /* 166035 */ // (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)
58738 /* 166035 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
58739 /* 166038 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58740 /* 166040 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58741 /* 166042 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58742 /* 166046 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58743 /* 166048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58744 /* 166053 */ GIR_RootConstrainSelectedInstOperands,
58745 /* 166054 */ // GIR_Coverage, 1366,
58746 /* 166054 */ GIR_EraseRootFromParent_Done,
58747 /* 166055 */ // Label 3665: @166055
58748 /* 166055 */ GIM_Try, /*On fail goto*//*Label 3666*/ GIMT_Encode4(166123), // Rule ID 9089 //
58749 /* 166060 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58750 /* 166063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58751 /* 166067 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58752 /* 166071 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58753 /* 166075 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58754 /* 166079 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58755 /* 166082 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58756 /* 166086 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58757 /* 166090 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58758 /* 166094 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58759 /* 166096 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58760 /* 166103 */ // (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)
58761 /* 166103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ128m),
58762 /* 166106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58763 /* 166108 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58764 /* 166110 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58765 /* 166112 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58766 /* 166116 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58767 /* 166121 */ GIR_RootConstrainSelectedInstOperands,
58768 /* 166122 */ // GIR_Coverage, 9089,
58769 /* 166122 */ GIR_EraseRootFromParent_Done,
58770 /* 166123 */ // Label 3666: @166123
58771 /* 166123 */ GIM_Try, /*On fail goto*//*Label 3667*/ GIMT_Encode4(166191), // Rule ID 1116 //
58772 /* 166128 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58773 /* 166131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58774 /* 166135 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58775 /* 166139 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58776 /* 166143 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58777 /* 166147 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58778 /* 166151 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58779 /* 166154 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58780 /* 166158 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58781 /* 166162 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58782 /* 166164 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58783 /* 166171 */ // (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)
58784 /* 166171 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSm),
58785 /* 166174 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58786 /* 166176 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58787 /* 166178 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58788 /* 166180 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58789 /* 166184 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58790 /* 166189 */ GIR_RootConstrainSelectedInstOperands,
58791 /* 166190 */ // GIR_Coverage, 1116,
58792 /* 166190 */ GIR_EraseRootFromParent_Done,
58793 /* 166191 */ // Label 3667: @166191
58794 /* 166191 */ GIM_Try, /*On fail goto*//*Label 3668*/ GIMT_Encode4(166259), // Rule ID 1364 //
58795 /* 166196 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58796 /* 166199 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58797 /* 166203 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58798 /* 166207 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58799 /* 166211 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58800 /* 166215 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58801 /* 166219 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58802 /* 166222 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58803 /* 166226 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58804 /* 166230 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58805 /* 166232 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58806 /* 166239 */ // (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)
58807 /* 166239 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rm),
58808 /* 166242 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58809 /* 166244 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
58810 /* 166246 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
58811 /* 166248 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58812 /* 166252 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58813 /* 166257 */ GIR_RootConstrainSelectedInstOperands,
58814 /* 166258 */ // GIR_Coverage, 1364,
58815 /* 166258 */ GIR_EraseRootFromParent_Done,
58816 /* 166259 */ // Label 3668: @166259
58817 /* 166259 */ GIM_Try, /*On fail goto*//*Label 3669*/ GIMT_Encode4(166327), // Rule ID 8455 //
58818 /* 166264 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58819 /* 166267 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58820 /* 166271 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58821 /* 166275 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58822 /* 166279 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
58823 /* 166283 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58824 /* 166287 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58825 /* 166290 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58826 /* 166294 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58827 /* 166298 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58828 /* 166300 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58829 /* 166307 */ // (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)
58830 /* 166307 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128m),
58831 /* 166310 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58832 /* 166312 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58833 /* 166314 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58834 /* 166316 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58835 /* 166320 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58836 /* 166325 */ GIR_RootConstrainSelectedInstOperands,
58837 /* 166326 */ // GIR_Coverage, 8455,
58838 /* 166326 */ GIR_EraseRootFromParent_Done,
58839 /* 166327 */ // Label 3669: @166327
58840 /* 166327 */ GIM_Try, /*On fail goto*//*Label 3670*/ GIMT_Encode4(166364), // Rule ID 1114 //
58841 /* 166332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58842 /* 166335 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58843 /* 166339 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58844 /* 166343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58845 /* 166347 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58846 /* 166351 */ // (fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src3) => (VFMADD213PSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
58847 /* 166351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSr),
58848 /* 166354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58849 /* 166356 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58850 /* 166358 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58851 /* 166360 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58852 /* 166362 */ GIR_RootConstrainSelectedInstOperands,
58853 /* 166363 */ // GIR_Coverage, 1114,
58854 /* 166363 */ GIR_EraseRootFromParent_Done,
58855 /* 166364 */ // Label 3670: @166364
58856 /* 166364 */ GIM_Try, /*On fail goto*//*Label 3671*/ GIMT_Encode4(166399), // Rule ID 1362 //
58857 /* 166369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58858 /* 166372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58859 /* 166376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58860 /* 166380 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58861 /* 166384 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
58862 /* 166388 */ // (fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3) => (VFMADDPS4rr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
58863 /* 166388 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rr),
58864 /* 166393 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
58865 /* 166397 */ GIR_RootConstrainSelectedInstOperands,
58866 /* 166398 */ // GIR_Coverage, 1362,
58867 /* 166398 */ GIR_Done,
58868 /* 166399 */ // Label 3671: @166399
58869 /* 166399 */ GIM_Try, /*On fail goto*//*Label 3672*/ GIMT_Encode4(166436), // Rule ID 8451 //
58870 /* 166404 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58871 /* 166407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58872 /* 166411 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58873 /* 166415 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58874 /* 166419 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
58875 /* 166423 */ // (fma:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src3) => (VFMADD213PSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src3)
58876 /* 166423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128r),
58877 /* 166426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58878 /* 166428 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58879 /* 166430 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58880 /* 166432 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58881 /* 166434 */ GIR_RootConstrainSelectedInstOperands,
58882 /* 166435 */ // GIR_Coverage, 8451,
58883 /* 166435 */ GIR_EraseRootFromParent_Done,
58884 /* 166436 */ // Label 3672: @166436
58885 /* 166436 */ GIM_Reject,
58886 /* 166437 */ // Label 3660: @166437
58887 /* 166437 */ GIM_Reject,
58888 /* 166438 */ // Label 3608: @166438
58889 /* 166438 */ GIM_Try, /*On fail goto*//*Label 3673*/ GIMT_Encode4(167174),
58890 /* 166443 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
58891 /* 166446 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
58892 /* 166449 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
58893 /* 166452 */ GIM_Try, /*On fail goto*//*Label 3674*/ GIMT_Encode4(166520), // Rule ID 1128 //
58894 /* 166457 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58895 /* 166460 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58896 /* 166464 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58897 /* 166468 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58898 /* 166472 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58899 /* 166475 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58900 /* 166479 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58901 /* 166483 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58902 /* 166487 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58903 /* 166491 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58904 /* 166493 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58905 /* 166500 */ // (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)
58906 /* 166500 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSYm),
58907 /* 166503 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58908 /* 166505 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58909 /* 166507 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58910 /* 166509 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58911 /* 166513 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58912 /* 166518 */ GIR_RootConstrainSelectedInstOperands,
58913 /* 166519 */ // GIR_Coverage, 1128,
58914 /* 166519 */ GIR_EraseRootFromParent_Done,
58915 /* 166520 */ // Label 3674: @166520
58916 /* 166520 */ GIM_Try, /*On fail goto*//*Label 3675*/ GIMT_Encode4(166588), // Rule ID 9619 //
58917 /* 166525 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
58918 /* 166528 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58919 /* 166532 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58920 /* 166536 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58921 /* 166540 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58922 /* 166543 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58923 /* 166547 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58924 /* 166551 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58925 /* 166555 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
58926 /* 166559 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58927 /* 166561 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58928 /* 166568 */ // (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)
58929 /* 166568 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ256m),
58930 /* 166571 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58931 /* 166573 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58932 /* 166575 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
58933 /* 166577 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58934 /* 166581 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58935 /* 166586 */ GIR_RootConstrainSelectedInstOperands,
58936 /* 166587 */ // GIR_Coverage, 9619,
58937 /* 166587 */ GIR_EraseRootFromParent_Done,
58938 /* 166588 */ // Label 3675: @166588
58939 /* 166588 */ GIM_Try, /*On fail goto*//*Label 3676*/ GIMT_Encode4(166656), // Rule ID 23349 //
58940 /* 166593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58941 /* 166596 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58942 /* 166600 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
58943 /* 166604 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58944 /* 166608 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58945 /* 166611 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58946 /* 166615 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58947 /* 166619 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58948 /* 166623 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58949 /* 166627 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58950 /* 166629 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58951 /* 166636 */ // (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)
58952 /* 166636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
58953 /* 166639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58954 /* 166641 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
58955 /* 166643 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
58956 /* 166647 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
58957 /* 166649 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58958 /* 166654 */ GIR_RootConstrainSelectedInstOperands,
58959 /* 166655 */ // GIR_Coverage, 23349,
58960 /* 166655 */ GIR_EraseRootFromParent_Done,
58961 /* 166656 */ // Label 3676: @166656
58962 /* 166656 */ GIM_Try, /*On fail goto*//*Label 3677*/ GIMT_Encode4(166724), // Rule ID 1126 //
58963 /* 166661 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
58964 /* 166664 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58965 /* 166668 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58966 /* 166672 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58967 /* 166676 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58968 /* 166680 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58969 /* 166683 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58970 /* 166687 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58971 /* 166691 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58972 /* 166695 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58973 /* 166697 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58974 /* 166704 */ // (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)
58975 /* 166704 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSYm),
58976 /* 166707 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
58977 /* 166709 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
58978 /* 166711 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
58979 /* 166713 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
58980 /* 166717 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
58981 /* 166722 */ GIR_RootConstrainSelectedInstOperands,
58982 /* 166723 */ // GIR_Coverage, 1126,
58983 /* 166723 */ GIR_EraseRootFromParent_Done,
58984 /* 166724 */ // Label 3677: @166724
58985 /* 166724 */ GIM_Try, /*On fail goto*//*Label 3678*/ GIMT_Encode4(166792), // Rule ID 1372 //
58986 /* 166729 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
58987 /* 166732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58988 /* 166736 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58989 /* 166740 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
58990 /* 166744 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
58991 /* 166748 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
58992 /* 166751 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
58993 /* 166755 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
58994 /* 166759 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
58995 /* 166763 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
58996 /* 166765 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
58997 /* 166772 */ // (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)
58998 /* 166772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
58999 /* 166775 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59000 /* 166777 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59001 /* 166779 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59002 /* 166783 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59003 /* 166785 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59004 /* 166790 */ GIR_RootConstrainSelectedInstOperands,
59005 /* 166791 */ // GIR_Coverage, 1372,
59006 /* 166791 */ GIR_EraseRootFromParent_Done,
59007 /* 166792 */ // Label 3678: @166792
59008 /* 166792 */ GIM_Try, /*On fail goto*//*Label 3679*/ GIMT_Encode4(166860), // Rule ID 9079 //
59009 /* 166797 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59010 /* 166800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59011 /* 166804 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59012 /* 166808 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59013 /* 166812 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59014 /* 166816 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59015 /* 166819 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59016 /* 166823 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59017 /* 166827 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59018 /* 166831 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59019 /* 166833 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59020 /* 166840 */ // (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)
59021 /* 166840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ256m),
59022 /* 166843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59023 /* 166845 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59024 /* 166847 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59025 /* 166849 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59026 /* 166853 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59027 /* 166858 */ GIR_RootConstrainSelectedInstOperands,
59028 /* 166859 */ // GIR_Coverage, 9079,
59029 /* 166859 */ GIR_EraseRootFromParent_Done,
59030 /* 166860 */ // Label 3679: @166860
59031 /* 166860 */ GIM_Try, /*On fail goto*//*Label 3680*/ GIMT_Encode4(166928), // Rule ID 1124 //
59032 /* 166865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59033 /* 166868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59034 /* 166872 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59035 /* 166876 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59036 /* 166880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59037 /* 166884 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59038 /* 166888 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59039 /* 166891 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59040 /* 166895 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59041 /* 166899 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59042 /* 166901 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59043 /* 166908 */ // (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)
59044 /* 166908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYm),
59045 /* 166911 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59046 /* 166913 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59047 /* 166915 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59048 /* 166917 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59049 /* 166921 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59050 /* 166926 */ GIR_RootConstrainSelectedInstOperands,
59051 /* 166927 */ // GIR_Coverage, 1124,
59052 /* 166927 */ GIR_EraseRootFromParent_Done,
59053 /* 166928 */ // Label 3680: @166928
59054 /* 166928 */ GIM_Try, /*On fail goto*//*Label 3681*/ GIMT_Encode4(166996), // Rule ID 1370 //
59055 /* 166933 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59056 /* 166936 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59057 /* 166940 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59058 /* 166944 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59059 /* 166948 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59060 /* 166952 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59061 /* 166956 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59062 /* 166959 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59063 /* 166963 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59064 /* 166967 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59065 /* 166969 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59066 /* 166976 */ // (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)
59067 /* 166976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrm),
59068 /* 166979 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59069 /* 166981 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59070 /* 166983 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
59071 /* 166985 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59072 /* 166989 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59073 /* 166994 */ GIR_RootConstrainSelectedInstOperands,
59074 /* 166995 */ // GIR_Coverage, 1370,
59075 /* 166995 */ GIR_EraseRootFromParent_Done,
59076 /* 166996 */ // Label 3681: @166996
59077 /* 166996 */ GIM_Try, /*On fail goto*//*Label 3682*/ GIMT_Encode4(167064), // Rule ID 8443 //
59078 /* 167001 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59079 /* 167004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59080 /* 167008 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59081 /* 167012 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59082 /* 167016 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59083 /* 167020 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59084 /* 167024 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59085 /* 167027 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59086 /* 167031 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59087 /* 167035 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59088 /* 167037 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59089 /* 167044 */ // (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)
59090 /* 167044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256m),
59091 /* 167047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59092 /* 167049 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59093 /* 167051 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59094 /* 167053 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59095 /* 167057 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59096 /* 167062 */ GIR_RootConstrainSelectedInstOperands,
59097 /* 167063 */ // GIR_Coverage, 8443,
59098 /* 167063 */ GIR_EraseRootFromParent_Done,
59099 /* 167064 */ // Label 3682: @167064
59100 /* 167064 */ GIM_Try, /*On fail goto*//*Label 3683*/ GIMT_Encode4(167101), // Rule ID 1122 //
59101 /* 167069 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59102 /* 167072 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59103 /* 167076 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59104 /* 167080 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59105 /* 167084 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59106 /* 167088 */ // (fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src3) => (VFMADD213PSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
59107 /* 167088 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYr),
59108 /* 167091 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59109 /* 167093 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59110 /* 167095 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59111 /* 167097 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59112 /* 167099 */ GIR_RootConstrainSelectedInstOperands,
59113 /* 167100 */ // GIR_Coverage, 1122,
59114 /* 167100 */ GIR_EraseRootFromParent_Done,
59115 /* 167101 */ // Label 3683: @167101
59116 /* 167101 */ GIM_Try, /*On fail goto*//*Label 3684*/ GIMT_Encode4(167136), // Rule ID 1368 //
59117 /* 167106 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59118 /* 167109 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59119 /* 167113 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59120 /* 167117 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59121 /* 167121 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59122 /* 167125 */ // (fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3) => (VFMADDPS4Yrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
59123 /* 167125 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrr),
59124 /* 167130 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59125 /* 167134 */ GIR_RootConstrainSelectedInstOperands,
59126 /* 167135 */ // GIR_Coverage, 1368,
59127 /* 167135 */ GIR_Done,
59128 /* 167136 */ // Label 3684: @167136
59129 /* 167136 */ GIM_Try, /*On fail goto*//*Label 3685*/ GIMT_Encode4(167173), // Rule ID 8439 //
59130 /* 167141 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59131 /* 167144 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59132 /* 167148 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59133 /* 167152 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59134 /* 167156 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59135 /* 167160 */ // (fma:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src3) => (VFMADD213PSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src3)
59136 /* 167160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256r),
59137 /* 167163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59138 /* 167165 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59139 /* 167167 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59140 /* 167169 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59141 /* 167171 */ GIR_RootConstrainSelectedInstOperands,
59142 /* 167172 */ // GIR_Coverage, 8439,
59143 /* 167172 */ GIR_EraseRootFromParent_Done,
59144 /* 167173 */ // Label 3685: @167173
59145 /* 167173 */ GIM_Reject,
59146 /* 167174 */ // Label 3673: @167174
59147 /* 167174 */ GIM_Reject,
59148 /* 167175 */ // Label 3609: @167175
59149 /* 167175 */ GIM_Try, /*On fail goto*//*Label 3686*/ GIMT_Encode4(167419),
59150 /* 167180 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
59151 /* 167183 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
59152 /* 167186 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
59153 /* 167189 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59154 /* 167193 */ GIM_Try, /*On fail goto*//*Label 3687*/ GIMT_Encode4(167257), // Rule ID 9607 //
59155 /* 167198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59156 /* 167201 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59157 /* 167205 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59158 /* 167209 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59159 /* 167212 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59160 /* 167216 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59161 /* 167220 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59162 /* 167224 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59163 /* 167228 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59164 /* 167230 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59165 /* 167237 */ // (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)
59166 /* 167237 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZm),
59167 /* 167240 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59168 /* 167242 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59169 /* 167244 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59170 /* 167246 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59171 /* 167250 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59172 /* 167255 */ GIR_RootConstrainSelectedInstOperands,
59173 /* 167256 */ // GIR_Coverage, 9607,
59174 /* 167256 */ GIR_EraseRootFromParent_Done,
59175 /* 167257 */ // Label 3687: @167257
59176 /* 167257 */ GIM_Try, /*On fail goto*//*Label 3688*/ GIMT_Encode4(167321), // Rule ID 9067 //
59177 /* 167262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59178 /* 167265 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59179 /* 167269 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59180 /* 167273 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59181 /* 167277 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59182 /* 167280 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59183 /* 167284 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59184 /* 167288 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59185 /* 167292 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59186 /* 167294 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59187 /* 167301 */ // (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)
59188 /* 167301 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZm),
59189 /* 167304 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59190 /* 167306 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59191 /* 167308 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59192 /* 167310 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59193 /* 167314 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59194 /* 167319 */ GIR_RootConstrainSelectedInstOperands,
59195 /* 167320 */ // GIR_Coverage, 9067,
59196 /* 167320 */ GIR_EraseRootFromParent_Done,
59197 /* 167321 */ // Label 3688: @167321
59198 /* 167321 */ GIM_Try, /*On fail goto*//*Label 3689*/ GIMT_Encode4(167385), // Rule ID 8428 //
59199 /* 167326 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59200 /* 167329 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59201 /* 167333 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59202 /* 167337 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59203 /* 167341 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59204 /* 167345 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59205 /* 167348 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59206 /* 167352 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59207 /* 167356 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59208 /* 167358 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59209 /* 167365 */ // (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)
59210 /* 167365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZm),
59211 /* 167368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59212 /* 167370 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59213 /* 167372 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59214 /* 167374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59215 /* 167378 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59216 /* 167383 */ GIR_RootConstrainSelectedInstOperands,
59217 /* 167384 */ // GIR_Coverage, 8428,
59218 /* 167384 */ GIR_EraseRootFromParent_Done,
59219 /* 167385 */ // Label 3689: @167385
59220 /* 167385 */ GIM_Try, /*On fail goto*//*Label 3690*/ GIMT_Encode4(167418), // Rule ID 8424 //
59221 /* 167390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59222 /* 167393 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59223 /* 167397 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59224 /* 167401 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59225 /* 167405 */ // (fma:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src3) => (VFMADD213PSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src3)
59226 /* 167405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZr),
59227 /* 167408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59228 /* 167410 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59229 /* 167412 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59230 /* 167414 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59231 /* 167416 */ GIR_RootConstrainSelectedInstOperands,
59232 /* 167417 */ // GIR_Coverage, 8424,
59233 /* 167417 */ GIR_EraseRootFromParent_Done,
59234 /* 167418 */ // Label 3690: @167418
59235 /* 167418 */ GIM_Reject,
59236 /* 167419 */ // Label 3686: @167419
59237 /* 167419 */ GIM_Reject,
59238 /* 167420 */ // Label 3610: @167420
59239 /* 167420 */ GIM_Try, /*On fail goto*//*Label 3691*/ GIMT_Encode4(168156),
59240 /* 167425 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
59241 /* 167428 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
59242 /* 167431 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
59243 /* 167434 */ GIM_Try, /*On fail goto*//*Label 3692*/ GIMT_Encode4(167502), // Rule ID 1168 //
59244 /* 167439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59245 /* 167442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59246 /* 167446 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59247 /* 167450 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59248 /* 167454 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59249 /* 167457 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59250 /* 167461 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59251 /* 167465 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59252 /* 167469 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59253 /* 167473 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59254 /* 167475 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59255 /* 167482 */ // (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)
59256 /* 167482 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDm),
59257 /* 167485 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59258 /* 167487 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59259 /* 167489 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59260 /* 167491 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59261 /* 167495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59262 /* 167500 */ GIR_RootConstrainSelectedInstOperands,
59263 /* 167501 */ // GIR_Coverage, 1168,
59264 /* 167501 */ GIR_EraseRootFromParent_Done,
59265 /* 167502 */ // Label 3692: @167502
59266 /* 167502 */ GIM_Try, /*On fail goto*//*Label 3693*/ GIMT_Encode4(167570), // Rule ID 9661 //
59267 /* 167507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59268 /* 167510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59269 /* 167514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59270 /* 167518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59271 /* 167522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59272 /* 167525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59273 /* 167529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59274 /* 167533 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59275 /* 167537 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59276 /* 167541 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59277 /* 167543 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59278 /* 167550 */ // (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)
59279 /* 167550 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ128m),
59280 /* 167553 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59281 /* 167555 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59282 /* 167557 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59283 /* 167559 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59284 /* 167563 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59285 /* 167568 */ GIR_RootConstrainSelectedInstOperands,
59286 /* 167569 */ // GIR_Coverage, 9661,
59287 /* 167569 */ GIR_EraseRootFromParent_Done,
59288 /* 167570 */ // Label 3693: @167570
59289 /* 167570 */ GIM_Try, /*On fail goto*//*Label 3694*/ GIMT_Encode4(167638), // Rule ID 23375 //
59290 /* 167575 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59291 /* 167578 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59292 /* 167582 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59293 /* 167586 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59294 /* 167590 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59295 /* 167593 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59296 /* 167597 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59297 /* 167601 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59298 /* 167605 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59299 /* 167609 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59300 /* 167611 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59301 /* 167618 */ // (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)
59302 /* 167618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
59303 /* 167621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59304 /* 167623 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59305 /* 167625 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59306 /* 167629 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59307 /* 167631 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59308 /* 167636 */ GIR_RootConstrainSelectedInstOperands,
59309 /* 167637 */ // GIR_Coverage, 23375,
59310 /* 167637 */ GIR_EraseRootFromParent_Done,
59311 /* 167638 */ // Label 3694: @167638
59312 /* 167638 */ GIM_Try, /*On fail goto*//*Label 3695*/ GIMT_Encode4(167706), // Rule ID 1166 //
59313 /* 167643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59314 /* 167646 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59315 /* 167650 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59316 /* 167654 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59317 /* 167658 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59318 /* 167662 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59319 /* 167665 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59320 /* 167669 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59321 /* 167673 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59322 /* 167677 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59323 /* 167679 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59324 /* 167686 */ // (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)
59325 /* 167686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDm),
59326 /* 167689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59327 /* 167691 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59328 /* 167693 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59329 /* 167695 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59330 /* 167699 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59331 /* 167704 */ GIR_RootConstrainSelectedInstOperands,
59332 /* 167705 */ // GIR_Coverage, 1166,
59333 /* 167705 */ GIR_EraseRootFromParent_Done,
59334 /* 167706 */ // Label 3695: @167706
59335 /* 167706 */ GIM_Try, /*On fail goto*//*Label 3696*/ GIMT_Encode4(167774), // Rule ID 1450 //
59336 /* 167711 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59337 /* 167714 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59338 /* 167718 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59339 /* 167722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59340 /* 167726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59341 /* 167730 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59342 /* 167733 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59343 /* 167737 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59344 /* 167741 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59345 /* 167745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59346 /* 167747 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59347 /* 167754 */ // (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)
59348 /* 167754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
59349 /* 167757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59350 /* 167759 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59351 /* 167761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59352 /* 167765 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59353 /* 167767 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59354 /* 167772 */ GIR_RootConstrainSelectedInstOperands,
59355 /* 167773 */ // GIR_Coverage, 1450,
59356 /* 167773 */ GIR_EraseRootFromParent_Done,
59357 /* 167774 */ // Label 3696: @167774
59358 /* 167774 */ GIM_Try, /*On fail goto*//*Label 3697*/ GIMT_Encode4(167842), // Rule ID 9121 //
59359 /* 167779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59360 /* 167782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59361 /* 167786 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59362 /* 167790 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59363 /* 167794 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59364 /* 167798 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59365 /* 167801 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59366 /* 167805 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59367 /* 167809 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59368 /* 167813 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59369 /* 167815 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59370 /* 167822 */ // (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)
59371 /* 167822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ128m),
59372 /* 167825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59373 /* 167827 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59374 /* 167829 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59375 /* 167831 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59376 /* 167835 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59377 /* 167840 */ GIR_RootConstrainSelectedInstOperands,
59378 /* 167841 */ // GIR_Coverage, 9121,
59379 /* 167841 */ GIR_EraseRootFromParent_Done,
59380 /* 167842 */ // Label 3697: @167842
59381 /* 167842 */ GIM_Try, /*On fail goto*//*Label 3698*/ GIMT_Encode4(167910), // Rule ID 1164 //
59382 /* 167847 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59383 /* 167850 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59384 /* 167854 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59385 /* 167858 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59386 /* 167862 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59387 /* 167866 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59388 /* 167870 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59389 /* 167873 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59390 /* 167877 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59391 /* 167881 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59392 /* 167883 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59393 /* 167890 */ // (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)
59394 /* 167890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDm),
59395 /* 167893 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59396 /* 167895 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59397 /* 167897 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59398 /* 167899 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59399 /* 167903 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59400 /* 167908 */ GIR_RootConstrainSelectedInstOperands,
59401 /* 167909 */ // GIR_Coverage, 1164,
59402 /* 167909 */ GIR_EraseRootFromParent_Done,
59403 /* 167910 */ // Label 3698: @167910
59404 /* 167910 */ GIM_Try, /*On fail goto*//*Label 3699*/ GIMT_Encode4(167978), // Rule ID 1448 //
59405 /* 167915 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59406 /* 167918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59407 /* 167922 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59408 /* 167926 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59409 /* 167930 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59410 /* 167934 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59411 /* 167938 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59412 /* 167941 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59413 /* 167945 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59414 /* 167949 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59415 /* 167951 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59416 /* 167958 */ // (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)
59417 /* 167958 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rm),
59418 /* 167961 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59419 /* 167963 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59420 /* 167965 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
59421 /* 167967 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59422 /* 167971 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59423 /* 167976 */ GIR_RootConstrainSelectedInstOperands,
59424 /* 167977 */ // GIR_Coverage, 1448,
59425 /* 167977 */ GIR_EraseRootFromParent_Done,
59426 /* 167978 */ // Label 3699: @167978
59427 /* 167978 */ GIM_Try, /*On fail goto*//*Label 3700*/ GIMT_Encode4(168046), // Rule ID 8494 //
59428 /* 167983 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59429 /* 167986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59430 /* 167990 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59431 /* 167994 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59432 /* 167998 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59433 /* 168002 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59434 /* 168006 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59435 /* 168009 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59436 /* 168013 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59437 /* 168017 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59438 /* 168019 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59439 /* 168026 */ // (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)
59440 /* 168026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128m),
59441 /* 168029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59442 /* 168031 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59443 /* 168033 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59444 /* 168035 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59445 /* 168039 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59446 /* 168044 */ GIR_RootConstrainSelectedInstOperands,
59447 /* 168045 */ // GIR_Coverage, 8494,
59448 /* 168045 */ GIR_EraseRootFromParent_Done,
59449 /* 168046 */ // Label 3700: @168046
59450 /* 168046 */ GIM_Try, /*On fail goto*//*Label 3701*/ GIMT_Encode4(168083), // Rule ID 1162 //
59451 /* 168051 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59452 /* 168054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59453 /* 168058 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59454 /* 168062 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59455 /* 168066 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59456 /* 168070 */ // (fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src3) => (VFMADD213PDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
59457 /* 168070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDr),
59458 /* 168073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59459 /* 168075 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59460 /* 168077 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59461 /* 168079 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59462 /* 168081 */ GIR_RootConstrainSelectedInstOperands,
59463 /* 168082 */ // GIR_Coverage, 1162,
59464 /* 168082 */ GIR_EraseRootFromParent_Done,
59465 /* 168083 */ // Label 3701: @168083
59466 /* 168083 */ GIM_Try, /*On fail goto*//*Label 3702*/ GIMT_Encode4(168118), // Rule ID 1446 //
59467 /* 168088 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59468 /* 168091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59469 /* 168095 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59470 /* 168099 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59471 /* 168103 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
59472 /* 168107 */ // (fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3) => (VFMADDPD4rr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
59473 /* 168107 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rr),
59474 /* 168112 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59475 /* 168116 */ GIR_RootConstrainSelectedInstOperands,
59476 /* 168117 */ // GIR_Coverage, 1446,
59477 /* 168117 */ GIR_Done,
59478 /* 168118 */ // Label 3702: @168118
59479 /* 168118 */ GIM_Try, /*On fail goto*//*Label 3703*/ GIMT_Encode4(168155), // Rule ID 8490 //
59480 /* 168123 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59481 /* 168126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59482 /* 168130 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59483 /* 168134 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59484 /* 168138 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
59485 /* 168142 */ // (fma:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src3) => (VFMADD213PDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src3)
59486 /* 168142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128r),
59487 /* 168145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59488 /* 168147 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59489 /* 168149 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59490 /* 168151 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59491 /* 168153 */ GIR_RootConstrainSelectedInstOperands,
59492 /* 168154 */ // GIR_Coverage, 8490,
59493 /* 168154 */ GIR_EraseRootFromParent_Done,
59494 /* 168155 */ // Label 3703: @168155
59495 /* 168155 */ GIM_Reject,
59496 /* 168156 */ // Label 3691: @168156
59497 /* 168156 */ GIM_Reject,
59498 /* 168157 */ // Label 3611: @168157
59499 /* 168157 */ GIM_Try, /*On fail goto*//*Label 3704*/ GIMT_Encode4(168893),
59500 /* 168162 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
59501 /* 168165 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
59502 /* 168168 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
59503 /* 168171 */ GIM_Try, /*On fail goto*//*Label 3705*/ GIMT_Encode4(168239), // Rule ID 1176 //
59504 /* 168176 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59505 /* 168179 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59506 /* 168183 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59507 /* 168187 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59508 /* 168191 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59509 /* 168194 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59510 /* 168198 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59511 /* 168202 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59512 /* 168206 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59513 /* 168210 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59514 /* 168212 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59515 /* 168219 */ // (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)
59516 /* 168219 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDYm),
59517 /* 168222 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59518 /* 168224 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59519 /* 168226 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59520 /* 168228 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59521 /* 168232 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59522 /* 168237 */ GIR_RootConstrainSelectedInstOperands,
59523 /* 168238 */ // GIR_Coverage, 1176,
59524 /* 168238 */ GIR_EraseRootFromParent_Done,
59525 /* 168239 */ // Label 3705: @168239
59526 /* 168239 */ GIM_Try, /*On fail goto*//*Label 3706*/ GIMT_Encode4(168307), // Rule ID 9651 //
59527 /* 168244 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59528 /* 168247 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59529 /* 168251 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59530 /* 168255 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59531 /* 168259 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59532 /* 168262 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59533 /* 168266 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59534 /* 168270 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59535 /* 168274 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59536 /* 168278 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59537 /* 168280 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59538 /* 168287 */ // (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)
59539 /* 168287 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ256m),
59540 /* 168290 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59541 /* 168292 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59542 /* 168294 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59543 /* 168296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59544 /* 168300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59545 /* 168305 */ GIR_RootConstrainSelectedInstOperands,
59546 /* 168306 */ // GIR_Coverage, 9651,
59547 /* 168306 */ GIR_EraseRootFromParent_Done,
59548 /* 168307 */ // Label 3706: @168307
59549 /* 168307 */ GIM_Try, /*On fail goto*//*Label 3707*/ GIMT_Encode4(168375), // Rule ID 23377 //
59550 /* 168312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59551 /* 168315 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59552 /* 168319 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59553 /* 168323 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59554 /* 168327 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59555 /* 168330 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59556 /* 168334 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59557 /* 168338 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59558 /* 168342 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59559 /* 168346 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59560 /* 168348 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59561 /* 168355 */ // (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)
59562 /* 168355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
59563 /* 168358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59564 /* 168360 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59565 /* 168362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59566 /* 168366 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59567 /* 168368 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59568 /* 168373 */ GIR_RootConstrainSelectedInstOperands,
59569 /* 168374 */ // GIR_Coverage, 23377,
59570 /* 168374 */ GIR_EraseRootFromParent_Done,
59571 /* 168375 */ // Label 3707: @168375
59572 /* 168375 */ GIM_Try, /*On fail goto*//*Label 3708*/ GIMT_Encode4(168443), // Rule ID 1174 //
59573 /* 168380 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59574 /* 168383 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59575 /* 168387 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59576 /* 168391 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59577 /* 168395 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59578 /* 168399 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59579 /* 168402 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59580 /* 168406 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59581 /* 168410 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59582 /* 168414 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59583 /* 168416 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59584 /* 168423 */ // (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)
59585 /* 168423 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDYm),
59586 /* 168426 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59587 /* 168428 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59588 /* 168430 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59589 /* 168432 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59590 /* 168436 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59591 /* 168441 */ GIR_RootConstrainSelectedInstOperands,
59592 /* 168442 */ // GIR_Coverage, 1174,
59593 /* 168442 */ GIR_EraseRootFromParent_Done,
59594 /* 168443 */ // Label 3708: @168443
59595 /* 168443 */ GIM_Try, /*On fail goto*//*Label 3709*/ GIMT_Encode4(168511), // Rule ID 1456 //
59596 /* 168448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59597 /* 168451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59598 /* 168455 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59599 /* 168459 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59600 /* 168463 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59601 /* 168467 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59602 /* 168470 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59603 /* 168474 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59604 /* 168478 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59605 /* 168482 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59606 /* 168484 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59607 /* 168491 */ // (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)
59608 /* 168491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
59609 /* 168494 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59610 /* 168496 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59611 /* 168498 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59612 /* 168502 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59613 /* 168504 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59614 /* 168509 */ GIR_RootConstrainSelectedInstOperands,
59615 /* 168510 */ // GIR_Coverage, 1456,
59616 /* 168510 */ GIR_EraseRootFromParent_Done,
59617 /* 168511 */ // Label 3709: @168511
59618 /* 168511 */ GIM_Try, /*On fail goto*//*Label 3710*/ GIMT_Encode4(168579), // Rule ID 9111 //
59619 /* 168516 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59620 /* 168519 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59621 /* 168523 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59622 /* 168527 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59623 /* 168531 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59624 /* 168535 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59625 /* 168538 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59626 /* 168542 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59627 /* 168546 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59628 /* 168550 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59629 /* 168552 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59630 /* 168559 */ // (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)
59631 /* 168559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ256m),
59632 /* 168562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59633 /* 168564 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59634 /* 168566 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59635 /* 168568 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59636 /* 168572 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59637 /* 168577 */ GIR_RootConstrainSelectedInstOperands,
59638 /* 168578 */ // GIR_Coverage, 9111,
59639 /* 168578 */ GIR_EraseRootFromParent_Done,
59640 /* 168579 */ // Label 3710: @168579
59641 /* 168579 */ GIM_Try, /*On fail goto*//*Label 3711*/ GIMT_Encode4(168647), // Rule ID 1172 //
59642 /* 168584 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59643 /* 168587 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59644 /* 168591 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59645 /* 168595 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59646 /* 168599 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59647 /* 168603 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59648 /* 168607 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59649 /* 168610 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59650 /* 168614 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59651 /* 168618 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59652 /* 168620 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59653 /* 168627 */ // (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)
59654 /* 168627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYm),
59655 /* 168630 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59656 /* 168632 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59657 /* 168634 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59658 /* 168636 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59659 /* 168640 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59660 /* 168645 */ GIR_RootConstrainSelectedInstOperands,
59661 /* 168646 */ // GIR_Coverage, 1172,
59662 /* 168646 */ GIR_EraseRootFromParent_Done,
59663 /* 168647 */ // Label 3711: @168647
59664 /* 168647 */ GIM_Try, /*On fail goto*//*Label 3712*/ GIMT_Encode4(168715), // Rule ID 1454 //
59665 /* 168652 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59666 /* 168655 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59667 /* 168659 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59668 /* 168663 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59669 /* 168667 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59670 /* 168671 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59671 /* 168675 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59672 /* 168678 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59673 /* 168682 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59674 /* 168686 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59675 /* 168688 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59676 /* 168695 */ // (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)
59677 /* 168695 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrm),
59678 /* 168698 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59679 /* 168700 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59680 /* 168702 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
59681 /* 168704 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59682 /* 168708 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59683 /* 168713 */ GIR_RootConstrainSelectedInstOperands,
59684 /* 168714 */ // GIR_Coverage, 1454,
59685 /* 168714 */ GIR_EraseRootFromParent_Done,
59686 /* 168715 */ // Label 3712: @168715
59687 /* 168715 */ GIM_Try, /*On fail goto*//*Label 3713*/ GIMT_Encode4(168783), // Rule ID 8482 //
59688 /* 168720 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59689 /* 168723 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59690 /* 168727 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59691 /* 168731 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59692 /* 168735 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59693 /* 168739 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59694 /* 168743 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59695 /* 168746 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59696 /* 168750 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59697 /* 168754 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59698 /* 168756 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59699 /* 168763 */ // (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)
59700 /* 168763 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256m),
59701 /* 168766 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59702 /* 168768 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59703 /* 168770 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59704 /* 168772 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59705 /* 168776 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59706 /* 168781 */ GIR_RootConstrainSelectedInstOperands,
59707 /* 168782 */ // GIR_Coverage, 8482,
59708 /* 168782 */ GIR_EraseRootFromParent_Done,
59709 /* 168783 */ // Label 3713: @168783
59710 /* 168783 */ GIM_Try, /*On fail goto*//*Label 3714*/ GIMT_Encode4(168820), // Rule ID 1170 //
59711 /* 168788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
59712 /* 168791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59713 /* 168795 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59714 /* 168799 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59715 /* 168803 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59716 /* 168807 */ // (fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src3) => (VFMADD213PDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
59717 /* 168807 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYr),
59718 /* 168810 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59719 /* 168812 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59720 /* 168814 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59721 /* 168816 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59722 /* 168818 */ GIR_RootConstrainSelectedInstOperands,
59723 /* 168819 */ // GIR_Coverage, 1170,
59724 /* 168819 */ GIR_EraseRootFromParent_Done,
59725 /* 168820 */ // Label 3714: @168820
59726 /* 168820 */ GIM_Try, /*On fail goto*//*Label 3715*/ GIMT_Encode4(168855), // Rule ID 1452 //
59727 /* 168825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
59728 /* 168828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59729 /* 168832 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59730 /* 168836 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59731 /* 168840 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
59732 /* 168844 */ // (fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3) => (VFMADDPD4Yrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
59733 /* 168844 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrr),
59734 /* 168849 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59735 /* 168853 */ GIR_RootConstrainSelectedInstOperands,
59736 /* 168854 */ // GIR_Coverage, 1452,
59737 /* 168854 */ GIR_Done,
59738 /* 168855 */ // Label 3715: @168855
59739 /* 168855 */ GIM_Try, /*On fail goto*//*Label 3716*/ GIMT_Encode4(168892), // Rule ID 8478 //
59740 /* 168860 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
59741 /* 168863 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59742 /* 168867 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59743 /* 168871 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59744 /* 168875 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
59745 /* 168879 */ // (fma:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src3) => (VFMADD213PDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src3)
59746 /* 168879 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256r),
59747 /* 168882 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59748 /* 168884 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59749 /* 168886 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59750 /* 168888 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59751 /* 168890 */ GIR_RootConstrainSelectedInstOperands,
59752 /* 168891 */ // GIR_Coverage, 8478,
59753 /* 168891 */ GIR_EraseRootFromParent_Done,
59754 /* 168892 */ // Label 3716: @168892
59755 /* 168892 */ GIM_Reject,
59756 /* 168893 */ // Label 3704: @168893
59757 /* 168893 */ GIM_Reject,
59758 /* 168894 */ // Label 3612: @168894
59759 /* 168894 */ GIM_Try, /*On fail goto*//*Label 3717*/ GIMT_Encode4(169138),
59760 /* 168899 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
59761 /* 168902 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
59762 /* 168905 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
59763 /* 168908 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59764 /* 168912 */ GIM_Try, /*On fail goto*//*Label 3718*/ GIMT_Encode4(168976), // Rule ID 9639 //
59765 /* 168917 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59766 /* 168920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59767 /* 168924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59768 /* 168928 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59769 /* 168931 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59770 /* 168935 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59771 /* 168939 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59772 /* 168943 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59773 /* 168947 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59774 /* 168949 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59775 /* 168956 */ // (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)
59776 /* 168956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZm),
59777 /* 168959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59778 /* 168961 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59779 /* 168963 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
59780 /* 168965 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59781 /* 168969 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59782 /* 168974 */ GIR_RootConstrainSelectedInstOperands,
59783 /* 168975 */ // GIR_Coverage, 9639,
59784 /* 168975 */ GIR_EraseRootFromParent_Done,
59785 /* 168976 */ // Label 3718: @168976
59786 /* 168976 */ GIM_Try, /*On fail goto*//*Label 3719*/ GIMT_Encode4(169040), // Rule ID 9099 //
59787 /* 168981 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59788 /* 168984 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59789 /* 168988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59790 /* 168992 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59791 /* 168996 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59792 /* 168999 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59793 /* 169003 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59794 /* 169007 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59795 /* 169011 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59796 /* 169013 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59797 /* 169020 */ // (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)
59798 /* 169020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZm),
59799 /* 169023 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59800 /* 169025 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
59801 /* 169027 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59802 /* 169029 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59803 /* 169033 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59804 /* 169038 */ GIR_RootConstrainSelectedInstOperands,
59805 /* 169039 */ // GIR_Coverage, 9099,
59806 /* 169039 */ GIR_EraseRootFromParent_Done,
59807 /* 169040 */ // Label 3719: @169040
59808 /* 169040 */ GIM_Try, /*On fail goto*//*Label 3720*/ GIMT_Encode4(169104), // Rule ID 8467 //
59809 /* 169045 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59810 /* 169048 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59811 /* 169052 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59812 /* 169056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
59813 /* 169060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59814 /* 169064 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59815 /* 169067 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59816 /* 169071 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59817 /* 169075 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59818 /* 169077 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59819 /* 169084 */ // (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)
59820 /* 169084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZm),
59821 /* 169087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59822 /* 169089 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59823 /* 169091 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59824 /* 169093 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
59825 /* 169097 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59826 /* 169102 */ GIR_RootConstrainSelectedInstOperands,
59827 /* 169103 */ // GIR_Coverage, 8467,
59828 /* 169103 */ GIR_EraseRootFromParent_Done,
59829 /* 169104 */ // Label 3720: @169104
59830 /* 169104 */ GIM_Try, /*On fail goto*//*Label 3721*/ GIMT_Encode4(169137), // Rule ID 8463 //
59831 /* 169109 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59832 /* 169112 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59833 /* 169116 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59834 /* 169120 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
59835 /* 169124 */ // (fma:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src3) => (VFMADD213PDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src3)
59836 /* 169124 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZr),
59837 /* 169127 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59838 /* 169129 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59839 /* 169131 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
59840 /* 169133 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
59841 /* 169135 */ GIR_RootConstrainSelectedInstOperands,
59842 /* 169136 */ // GIR_Coverage, 8463,
59843 /* 169136 */ GIR_EraseRootFromParent_Done,
59844 /* 169137 */ // Label 3721: @169137
59845 /* 169137 */ GIM_Reject,
59846 /* 169138 */ // Label 3717: @169138
59847 /* 169138 */ GIM_Reject,
59848 /* 169139 */ // Label 3613: @169139
59849 /* 169139 */ GIM_Reject,
59850 /* 169140 */ // Label 46: @169140
59851 /* 169140 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 3735*/ GIMT_Encode4(173329),
59852 /* 169151 */ /*GILLT_s16*//*Label 3722*/ GIMT_Encode4(169243),
59853 /* 169155 */ /*GILLT_s32*//*Label 3723*/ GIMT_Encode4(169341),
59854 /* 169159 */ /*GILLT_s64*//*Label 3724*/ GIMT_Encode4(170306),
59855 /* 169163 */ /*GILLT_s80*//*Label 3725*/ GIMT_Encode4(171415), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
59856 /* 169207 */ /*GILLT_v8s16*//*Label 3726*/ GIMT_Encode4(171981),
59857 /* 169211 */ /*GILLT_v16s16*//*Label 3727*/ GIMT_Encode4(172079),
59858 /* 169215 */ /*GILLT_v32s16*//*Label 3728*/ GIMT_Encode4(172177),
59859 /* 169219 */ /*GILLT_v4s32*//*Label 3729*/ GIMT_Encode4(172275),
59860 /* 169223 */ /*GILLT_v8s32*//*Label 3730*/ GIMT_Encode4(172505),
59861 /* 169227 */ /*GILLT_v16s32*//*Label 3731*/ GIMT_Encode4(172704),
59862 /* 169231 */ /*GILLT_v2s64*//*Label 3732*/ GIMT_Encode4(172802),
59863 /* 169235 */ /*GILLT_v4s64*//*Label 3733*/ GIMT_Encode4(173032),
59864 /* 169239 */ /*GILLT_v8s64*//*Label 3734*/ GIMT_Encode4(173231),
59865 /* 169243 */ // Label 3722: @169243
59866 /* 169243 */ GIM_Try, /*On fail goto*//*Label 3736*/ GIMT_Encode4(169340),
59867 /* 169248 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
59868 /* 169251 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
59869 /* 169254 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
59870 /* 169258 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
59871 /* 169262 */ GIM_Try, /*On fail goto*//*Label 3737*/ GIMT_Encode4(169316), // Rule ID 6106 //
59872 /* 169267 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
59873 /* 169270 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59874 /* 169274 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
59875 /* 169278 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
59876 /* 169281 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
59877 /* 169285 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59878 /* 169289 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59879 /* 169291 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59880 /* 169298 */ // (fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSHZrm:{ *:[f16] } FR16X:{ *:[f16] }:$src1, addr:{ *:[iPTR] }:$src2)
59881 /* 169298 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrm),
59882 /* 169301 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59883 /* 169303 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59884 /* 169305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59885 /* 169309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59886 /* 169314 */ GIR_RootConstrainSelectedInstOperands,
59887 /* 169315 */ // GIR_Coverage, 6106,
59888 /* 169315 */ GIR_EraseRootFromParent_Done,
59889 /* 169316 */ // Label 3737: @169316
59890 /* 169316 */ GIM_Try, /*On fail goto*//*Label 3738*/ GIMT_Encode4(169339), // Rule ID 6104 //
59891 /* 169321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
59892 /* 169324 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
59893 /* 169328 */ // (fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VDIVSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
59894 /* 169328 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrr),
59895 /* 169333 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
59896 /* 169337 */ GIR_RootConstrainSelectedInstOperands,
59897 /* 169338 */ // GIR_Coverage, 6104,
59898 /* 169338 */ GIR_Done,
59899 /* 169339 */ // Label 3738: @169339
59900 /* 169339 */ GIM_Reject,
59901 /* 169340 */ // Label 3736: @169340
59902 /* 169340 */ GIM_Reject,
59903 /* 169341 */ // Label 3723: @169341
59904 /* 169341 */ GIM_Try, /*On fail goto*//*Label 3739*/ GIMT_Encode4(170305),
59905 /* 169346 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
59906 /* 169349 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
59907 /* 169352 */ GIM_Try, /*On fail goto*//*Label 3740*/ GIMT_Encode4(169434), // Rule ID 22522 //
59908 /* 169357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
59909 /* 169360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59910 /* 169364 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59911 /* 169368 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59912 /* 169372 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
59913 /* 169376 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
59914 /* 169380 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
59915 /* 169384 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
59916 /* 169388 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
59917 /* 169391 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
59918 /* 169395 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
59919 /* 169402 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
59920 /* 169406 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
59921 /* 169408 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59922 /* 169415 */ // (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)
59923 /* 169415 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
59924 /* 169418 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59925 /* 169420 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59926 /* 169422 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59927 /* 169426 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
59928 /* 169432 */ GIR_RootConstrainSelectedInstOperands,
59929 /* 169433 */ // GIR_Coverage, 22522,
59930 /* 169433 */ GIR_EraseRootFromParent_Done,
59931 /* 169434 */ // Label 3740: @169434
59932 /* 169434 */ GIM_Try, /*On fail goto*//*Label 3741*/ GIMT_Encode4(169516), // Rule ID 22523 //
59933 /* 169439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
59934 /* 169442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59935 /* 169446 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
59936 /* 169450 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59937 /* 169454 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
59938 /* 169458 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
59939 /* 169462 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
59940 /* 169466 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
59941 /* 169470 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
59942 /* 169473 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
59943 /* 169477 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
59944 /* 169484 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
59945 /* 169488 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
59946 /* 169490 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59947 /* 169497 */ // (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)
59948 /* 169497 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
59949 /* 169500 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59950 /* 169502 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59951 /* 169504 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59952 /* 169508 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
59953 /* 169514 */ GIR_RootConstrainSelectedInstOperands,
59954 /* 169515 */ // GIR_Coverage, 22523,
59955 /* 169515 */ GIR_EraseRootFromParent_Done,
59956 /* 169516 */ // Label 3741: @169516
59957 /* 169516 */ GIM_Try, /*On fail goto*//*Label 3742*/ GIMT_Encode4(169598), // Rule ID 22524 //
59958 /* 169521 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
59959 /* 169524 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59960 /* 169528 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
59961 /* 169532 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
59962 /* 169536 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
59963 /* 169540 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s32,
59964 /* 169544 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
59965 /* 169548 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
59966 /* 169552 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
59967 /* 169555 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
59968 /* 169559 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(4),
59969 /* 169566 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
59970 /* 169570 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
59971 /* 169572 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59972 /* 169579 */ // (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)
59973 /* 169579 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
59974 /* 169582 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59975 /* 169584 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
59976 /* 169586 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59977 /* 169590 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
59978 /* 169596 */ GIR_RootConstrainSelectedInstOperands,
59979 /* 169597 */ // GIR_Coverage, 22524,
59980 /* 169597 */ GIR_EraseRootFromParent_Done,
59981 /* 169598 */ // Label 3742: @169598
59982 /* 169598 */ GIM_Try, /*On fail goto*//*Label 3743*/ GIMT_Encode4(169663), // Rule ID 1007 //
59983 /* 169603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
59984 /* 169606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59985 /* 169610 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
59986 /* 169614 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
59987 /* 169618 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
59988 /* 169625 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
59989 /* 169629 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
59990 /* 169633 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
59991 /* 169635 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
59992 /* 169642 */ // (fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
59993 /* 169642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m32),
59994 /* 169645 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
59995 /* 169647 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
59996 /* 169649 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
59997 /* 169653 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
59998 /* 169656 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
59999 /* 169661 */ GIR_RootConstrainSelectedInstOperands,
60000 /* 169662 */ // GIR_Coverage, 1007,
60001 /* 169662 */ GIR_EraseRootFromParent_Done,
60002 /* 169663 */ // Label 3743: @169663
60003 /* 169663 */ GIM_Try, /*On fail goto*//*Label 3744*/ GIMT_Encode4(169728), // Rule ID 1009 //
60004 /* 169668 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
60005 /* 169671 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60006 /* 169675 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60007 /* 169679 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60008 /* 169683 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60009 /* 169690 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60010 /* 169694 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60011 /* 169698 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60012 /* 169700 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60013 /* 169707 */ // (fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60014 /* 169707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m32),
60015 /* 169710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60016 /* 169712 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60017 /* 169714 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60018 /* 169718 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60019 /* 169721 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60020 /* 169726 */ GIR_RootConstrainSelectedInstOperands,
60021 /* 169727 */ // GIR_Coverage, 1009,
60022 /* 169727 */ GIR_EraseRootFromParent_Done,
60023 /* 169728 */ // Label 3744: @169728
60024 /* 169728 */ GIM_Try, /*On fail goto*//*Label 3745*/ GIMT_Encode4(169793), // Rule ID 997 //
60025 /* 169733 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
60026 /* 169736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60027 /* 169740 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60028 /* 169744 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60029 /* 169748 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60030 /* 169751 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60031 /* 169755 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60032 /* 169759 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60033 /* 169763 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60034 /* 169765 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60035 /* 169772 */ // (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)
60036 /* 169772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp32m),
60037 /* 169775 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60038 /* 169777 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60039 /* 169779 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60040 /* 169783 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60041 /* 169786 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60042 /* 169791 */ GIR_RootConstrainSelectedInstOperands,
60043 /* 169792 */ // GIR_Coverage, 997,
60044 /* 169792 */ GIR_EraseRootFromParent_Done,
60045 /* 169793 */ // Label 3745: @169793
60046 /* 169793 */ GIM_Try, /*On fail goto*//*Label 3746*/ GIMT_Encode4(169858), // Rule ID 985 //
60047 /* 169798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
60048 /* 169801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60049 /* 169805 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60050 /* 169809 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60051 /* 169813 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60052 /* 169817 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
60053 /* 169824 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60054 /* 169828 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60055 /* 169830 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60056 /* 169837 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60057 /* 169837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m32),
60058 /* 169840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60059 /* 169842 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60060 /* 169844 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60061 /* 169848 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60062 /* 169851 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60063 /* 169856 */ GIR_RootConstrainSelectedInstOperands,
60064 /* 169857 */ // GIR_Coverage, 985,
60065 /* 169857 */ GIR_EraseRootFromParent_Done,
60066 /* 169858 */ // Label 3746: @169858
60067 /* 169858 */ GIM_Try, /*On fail goto*//*Label 3747*/ GIMT_Encode4(169923), // Rule ID 987 //
60068 /* 169863 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
60069 /* 169866 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60070 /* 169870 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60071 /* 169874 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60072 /* 169878 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60073 /* 169882 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60074 /* 169889 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60075 /* 169893 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60076 /* 169895 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60077 /* 169902 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60078 /* 169902 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m32),
60079 /* 169905 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60080 /* 169907 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60081 /* 169909 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60082 /* 169913 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60083 /* 169916 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60084 /* 169921 */ GIR_RootConstrainSelectedInstOperands,
60085 /* 169922 */ // GIR_Coverage, 987,
60086 /* 169922 */ GIR_EraseRootFromParent_Done,
60087 /* 169923 */ // Label 3747: @169923
60088 /* 169923 */ GIM_Try, /*On fail goto*//*Label 3748*/ GIMT_Encode4(169988), // Rule ID 975 //
60089 /* 169928 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
60090 /* 169931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60091 /* 169935 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60092 /* 169939 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60093 /* 169943 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60094 /* 169947 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60095 /* 169950 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60096 /* 169954 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60097 /* 169958 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60098 /* 169960 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60099 /* 169967 */ // (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)
60100 /* 169967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32m),
60101 /* 169970 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60102 /* 169972 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60103 /* 169974 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60104 /* 169978 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60105 /* 169981 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60106 /* 169986 */ GIR_RootConstrainSelectedInstOperands,
60107 /* 169987 */ // GIR_Coverage, 975,
60108 /* 169987 */ GIR_EraseRootFromParent_Done,
60109 /* 169988 */ // Label 3748: @169988
60110 /* 169988 */ GIM_Try, /*On fail goto*//*Label 3749*/ GIMT_Encode4(170050), // Rule ID 2257 //
60111 /* 169993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
60112 /* 169996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60113 /* 170000 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60114 /* 170004 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60115 /* 170008 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60116 /* 170012 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60117 /* 170015 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60118 /* 170019 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60119 /* 170023 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60120 /* 170025 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60121 /* 170032 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60122 /* 170032 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
60123 /* 170035 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60124 /* 170037 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60125 /* 170039 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60126 /* 170043 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60127 /* 170048 */ GIR_RootConstrainSelectedInstOperands,
60128 /* 170049 */ // GIR_Coverage, 2257,
60129 /* 170049 */ GIR_EraseRootFromParent_Done,
60130 /* 170050 */ // Label 3749: @170050
60131 /* 170050 */ GIM_Try, /*On fail goto*//*Label 3750*/ GIMT_Encode4(170112), // Rule ID 2265 //
60132 /* 170055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
60133 /* 170058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60134 /* 170062 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60135 /* 170066 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60136 /* 170070 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60137 /* 170074 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60138 /* 170077 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60139 /* 170081 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60140 /* 170085 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60141 /* 170087 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60142 /* 170094 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIVSSrm:{ *:[f32] } FR32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60143 /* 170094 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
60144 /* 170097 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60145 /* 170099 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60146 /* 170101 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60147 /* 170105 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60148 /* 170110 */ GIR_RootConstrainSelectedInstOperands,
60149 /* 170111 */ // GIR_Coverage, 2265,
60150 /* 170111 */ GIR_EraseRootFromParent_Done,
60151 /* 170112 */ // Label 3750: @170112
60152 /* 170112 */ GIM_Try, /*On fail goto*//*Label 3751*/ GIMT_Encode4(170174), // Rule ID 6068 //
60153 /* 170117 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60154 /* 170120 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60155 /* 170124 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60156 /* 170128 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60157 /* 170132 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60158 /* 170136 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60159 /* 170139 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60160 /* 170143 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60161 /* 170147 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60162 /* 170149 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60163 /* 170156 */ // (fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSSZrm:{ *:[f32] } FR32X:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60164 /* 170156 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
60165 /* 170159 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60166 /* 170161 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60167 /* 170163 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60168 /* 170167 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60169 /* 170172 */ GIR_RootConstrainSelectedInstOperands,
60170 /* 170173 */ // GIR_Coverage, 6068,
60171 /* 170173 */ GIR_EraseRootFromParent_Done,
60172 /* 170174 */ // Label 3751: @170174
60173 /* 170174 */ GIM_Try, /*On fail goto*//*Label 3752*/ GIMT_Encode4(170211), // Rule ID 881 //
60174 /* 170179 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
60175 /* 170182 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60176 /* 170186 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60177 /* 170190 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
60178 /* 170194 */ // (fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (DIV_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
60179 /* 170194 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32),
60180 /* 170199 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
60181 /* 170205 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
60182 /* 170209 */ GIR_RootConstrainSelectedInstOperands,
60183 /* 170210 */ // GIR_Coverage, 881,
60184 /* 170210 */ GIR_Done,
60185 /* 170211 */ // Label 3752: @170211
60186 /* 170211 */ GIM_Try, /*On fail goto*//*Label 3753*/ GIMT_Encode4(170242), // Rule ID 2255 //
60187 /* 170216 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
60188 /* 170219 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60189 /* 170223 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60190 /* 170227 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60191 /* 170231 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VDIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
60192 /* 170231 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSrr),
60193 /* 170236 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60194 /* 170240 */ GIR_RootConstrainSelectedInstOperands,
60195 /* 170241 */ // GIR_Coverage, 2255,
60196 /* 170241 */ GIR_Done,
60197 /* 170242 */ // Label 3753: @170242
60198 /* 170242 */ GIM_Try, /*On fail goto*//*Label 3754*/ GIMT_Encode4(170273), // Rule ID 2263 //
60199 /* 170247 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
60200 /* 170250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60201 /* 170254 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60202 /* 170258 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
60203 /* 170262 */ // (fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (DIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
60204 /* 170262 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSSrr),
60205 /* 170267 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60206 /* 170271 */ GIR_RootConstrainSelectedInstOperands,
60207 /* 170272 */ // GIR_Coverage, 2263,
60208 /* 170272 */ GIR_Done,
60209 /* 170273 */ // Label 3754: @170273
60210 /* 170273 */ GIM_Try, /*On fail goto*//*Label 3755*/ GIMT_Encode4(170304), // Rule ID 6066 //
60211 /* 170278 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60212 /* 170281 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60213 /* 170285 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60214 /* 170289 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
60215 /* 170293 */ // (fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VDIVSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
60216 /* 170293 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrr),
60217 /* 170298 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60218 /* 170302 */ GIR_RootConstrainSelectedInstOperands,
60219 /* 170303 */ // GIR_Coverage, 6066,
60220 /* 170303 */ GIR_Done,
60221 /* 170304 */ // Label 3755: @170304
60222 /* 170304 */ GIM_Reject,
60223 /* 170305 */ // Label 3739: @170305
60224 /* 170305 */ GIM_Reject,
60225 /* 170306 */ // Label 3724: @170306
60226 /* 170306 */ GIM_Try, /*On fail goto*//*Label 3756*/ GIMT_Encode4(171414),
60227 /* 170311 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
60228 /* 170314 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
60229 /* 170317 */ GIM_Try, /*On fail goto*//*Label 3757*/ GIMT_Encode4(170399), // Rule ID 22525 //
60230 /* 170322 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
60231 /* 170325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60232 /* 170329 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60233 /* 170333 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60234 /* 170337 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
60235 /* 170341 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
60236 /* 170345 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
60237 /* 170349 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
60238 /* 170353 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
60239 /* 170356 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
60240 /* 170360 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
60241 /* 170367 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
60242 /* 170371 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
60243 /* 170373 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60244 /* 170380 */ // (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)
60245 /* 170380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
60246 /* 170383 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60247 /* 170385 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60248 /* 170387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60249 /* 170391 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
60250 /* 170397 */ GIR_RootConstrainSelectedInstOperands,
60251 /* 170398 */ // GIR_Coverage, 22525,
60252 /* 170398 */ GIR_EraseRootFromParent_Done,
60253 /* 170399 */ // Label 3757: @170399
60254 /* 170399 */ GIM_Try, /*On fail goto*//*Label 3758*/ GIMT_Encode4(170481), // Rule ID 22526 //
60255 /* 170404 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
60256 /* 170407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60257 /* 170411 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60258 /* 170415 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60259 /* 170419 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
60260 /* 170423 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
60261 /* 170427 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
60262 /* 170431 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
60263 /* 170435 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
60264 /* 170438 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
60265 /* 170442 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
60266 /* 170449 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
60267 /* 170453 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
60268 /* 170455 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60269 /* 170462 */ // (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)
60270 /* 170462 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
60271 /* 170465 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60272 /* 170467 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60273 /* 170469 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60274 /* 170473 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
60275 /* 170479 */ GIR_RootConstrainSelectedInstOperands,
60276 /* 170480 */ // GIR_Coverage, 22526,
60277 /* 170480 */ GIR_EraseRootFromParent_Done,
60278 /* 170481 */ // Label 3758: @170481
60279 /* 170481 */ GIM_Try, /*On fail goto*//*Label 3759*/ GIMT_Encode4(170563), // Rule ID 22527 //
60280 /* 170486 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60281 /* 170489 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60282 /* 170493 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60283 /* 170497 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60284 /* 170501 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
60285 /* 170505 */ GIM_CheckType, /*MI*/1, /*Op*/1, /*Type*/GILLT_s64,
60286 /* 170509 */ GIM_RecordInsn, /*DefineMI*/2, /*MI*/1, /*OpIdx*/1, // MIs[2]
60287 /* 170513 */ GIM_CheckOpcode, /*MI*/2, GIMT_Encode2(TargetOpcode::G_LOAD),
60288 /* 170517 */ GIM_CheckAtomicOrderingOrStrongerThan, /*MI*/2, /*Order*/(uint8_t)AtomicOrdering::Unordered,
60289 /* 170520 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/2, /*MMO*/0, /*OpIdx*/0,
60290 /* 170524 */ GIM_CheckMemorySizeEqualTo, /*MI*/2, /*MMO*/0, /*Size*/GIMT_Encode4(8),
60291 /* 170531 */ GIM_CheckPointerToAny, /*MI*/2, /*Op*/1, /*SizeInBits*/0,
60292 /* 170535 */ GIM_CheckIsSafeToFold, /*NumInsns*/2,
60293 /* 170537 */ GIM_CheckComplexPattern, /*MI*/2, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60294 /* 170544 */ // (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)
60295 /* 170544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
60296 /* 170547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60297 /* 170549 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60298 /* 170551 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60299 /* 170555 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/3, /*MergeInsnID's*/0, 1, 2,
60300 /* 170561 */ GIR_RootConstrainSelectedInstOperands,
60301 /* 170562 */ // GIR_Coverage, 22527,
60302 /* 170562 */ GIR_EraseRootFromParent_Done,
60303 /* 170563 */ // Label 3759: @170563
60304 /* 170563 */ GIM_Try, /*On fail goto*//*Label 3760*/ GIMT_Encode4(170628), // Rule ID 1011 //
60305 /* 170568 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60306 /* 170571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60307 /* 170575 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60308 /* 170579 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60309 /* 170583 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
60310 /* 170590 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60311 /* 170594 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60312 /* 170598 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60313 /* 170600 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60314 /* 170607 */ // (fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60315 /* 170607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m64),
60316 /* 170610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60317 /* 170612 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60318 /* 170614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60319 /* 170618 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60320 /* 170621 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60321 /* 170626 */ GIR_RootConstrainSelectedInstOperands,
60322 /* 170627 */ // GIR_Coverage, 1011,
60323 /* 170627 */ GIR_EraseRootFromParent_Done,
60324 /* 170628 */ // Label 3760: @170628
60325 /* 170628 */ GIM_Try, /*On fail goto*//*Label 3761*/ GIMT_Encode4(170693), // Rule ID 1013 //
60326 /* 170633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60327 /* 170636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60328 /* 170640 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60329 /* 170644 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60330 /* 170648 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60331 /* 170655 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60332 /* 170659 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60333 /* 170663 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60334 /* 170665 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60335 /* 170672 */ // (fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60336 /* 170672 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m64),
60337 /* 170675 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60338 /* 170677 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60339 /* 170679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60340 /* 170683 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60341 /* 170686 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60342 /* 170691 */ GIR_RootConstrainSelectedInstOperands,
60343 /* 170692 */ // GIR_Coverage, 1013,
60344 /* 170692 */ GIR_EraseRootFromParent_Done,
60345 /* 170693 */ // Label 3761: @170693
60346 /* 170693 */ GIM_Try, /*On fail goto*//*Label 3762*/ GIMT_Encode4(170758), // Rule ID 999 //
60347 /* 170698 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60348 /* 170701 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60349 /* 170705 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60350 /* 170709 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60351 /* 170713 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60352 /* 170716 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60353 /* 170720 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60354 /* 170724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60355 /* 170728 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60356 /* 170730 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60357 /* 170737 */ // (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)
60358 /* 170737 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m),
60359 /* 170740 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60360 /* 170742 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60361 /* 170744 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60362 /* 170748 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60363 /* 170751 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60364 /* 170756 */ GIR_RootConstrainSelectedInstOperands,
60365 /* 170757 */ // GIR_Coverage, 999,
60366 /* 170757 */ GIR_EraseRootFromParent_Done,
60367 /* 170758 */ // Label 3762: @170758
60368 /* 170758 */ GIM_Try, /*On fail goto*//*Label 3763*/ GIMT_Encode4(170830), // Rule ID 1001 //
60369 /* 170763 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60370 /* 170766 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60371 /* 170770 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60372 /* 170774 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60373 /* 170778 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60374 /* 170781 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60375 /* 170785 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60376 /* 170792 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60377 /* 170796 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60378 /* 170800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60379 /* 170802 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60380 /* 170809 */ // (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)
60381 /* 170809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m32),
60382 /* 170812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60383 /* 170814 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60384 /* 170816 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60385 /* 170820 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60386 /* 170823 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60387 /* 170828 */ GIR_RootConstrainSelectedInstOperands,
60388 /* 170829 */ // GIR_Coverage, 1001,
60389 /* 170829 */ GIR_EraseRootFromParent_Done,
60390 /* 170830 */ // Label 3763: @170830
60391 /* 170830 */ GIM_Try, /*On fail goto*//*Label 3764*/ GIMT_Encode4(170895), // Rule ID 989 //
60392 /* 170835 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60393 /* 170838 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60394 /* 170842 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60395 /* 170846 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60396 /* 170850 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60397 /* 170854 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
60398 /* 170861 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60399 /* 170865 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60400 /* 170867 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60401 /* 170874 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60402 /* 170874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m64),
60403 /* 170877 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60404 /* 170879 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60405 /* 170881 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60406 /* 170885 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60407 /* 170888 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60408 /* 170893 */ GIR_RootConstrainSelectedInstOperands,
60409 /* 170894 */ // GIR_Coverage, 989,
60410 /* 170894 */ GIR_EraseRootFromParent_Done,
60411 /* 170895 */ // Label 3764: @170895
60412 /* 170895 */ GIM_Try, /*On fail goto*//*Label 3765*/ GIMT_Encode4(170960), // Rule ID 991 //
60413 /* 170900 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60414 /* 170903 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60415 /* 170907 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60416 /* 170911 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60417 /* 170915 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60418 /* 170919 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60419 /* 170926 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60420 /* 170930 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60421 /* 170932 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60422 /* 170939 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60423 /* 170939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m64),
60424 /* 170942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60425 /* 170944 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60426 /* 170946 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60427 /* 170950 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60428 /* 170953 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60429 /* 170958 */ GIR_RootConstrainSelectedInstOperands,
60430 /* 170959 */ // GIR_Coverage, 991,
60431 /* 170959 */ GIR_EraseRootFromParent_Done,
60432 /* 170960 */ // Label 3765: @170960
60433 /* 170960 */ GIM_Try, /*On fail goto*//*Label 3766*/ GIMT_Encode4(171025), // Rule ID 977 //
60434 /* 170965 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60435 /* 170968 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60436 /* 170972 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60437 /* 170976 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60438 /* 170980 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60439 /* 170984 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60440 /* 170987 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60441 /* 170991 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60442 /* 170995 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60443 /* 170997 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60444 /* 171004 */ // (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)
60445 /* 171004 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m),
60446 /* 171007 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60447 /* 171009 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60448 /* 171011 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60449 /* 171015 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60450 /* 171018 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60451 /* 171023 */ GIR_RootConstrainSelectedInstOperands,
60452 /* 171024 */ // GIR_Coverage, 977,
60453 /* 171024 */ GIR_EraseRootFromParent_Done,
60454 /* 171025 */ // Label 3766: @171025
60455 /* 171025 */ GIM_Try, /*On fail goto*//*Label 3767*/ GIMT_Encode4(171097), // Rule ID 979 //
60456 /* 171030 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60457 /* 171033 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60458 /* 171037 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60459 /* 171041 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60460 /* 171045 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60461 /* 171049 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60462 /* 171052 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60463 /* 171056 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60464 /* 171063 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60465 /* 171067 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60466 /* 171069 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60467 /* 171076 */ // (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)
60468 /* 171076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m32),
60469 /* 171079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60470 /* 171081 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60471 /* 171083 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60472 /* 171087 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60473 /* 171090 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60474 /* 171095 */ GIR_RootConstrainSelectedInstOperands,
60475 /* 171096 */ // GIR_Coverage, 979,
60476 /* 171096 */ GIR_EraseRootFromParent_Done,
60477 /* 171097 */ // Label 3767: @171097
60478 /* 171097 */ GIM_Try, /*On fail goto*//*Label 3768*/ GIMT_Encode4(171159), // Rule ID 2261 //
60479 /* 171102 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
60480 /* 171105 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60481 /* 171109 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60482 /* 171113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60483 /* 171117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60484 /* 171121 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60485 /* 171124 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60486 /* 171128 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60487 /* 171132 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60488 /* 171134 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60489 /* 171141 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60490 /* 171141 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
60491 /* 171144 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60492 /* 171146 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60493 /* 171148 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60494 /* 171152 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60495 /* 171157 */ GIR_RootConstrainSelectedInstOperands,
60496 /* 171158 */ // GIR_Coverage, 2261,
60497 /* 171158 */ GIR_EraseRootFromParent_Done,
60498 /* 171159 */ // Label 3768: @171159
60499 /* 171159 */ GIM_Try, /*On fail goto*//*Label 3769*/ GIMT_Encode4(171221), // Rule ID 2269 //
60500 /* 171164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
60501 /* 171167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60502 /* 171171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60503 /* 171175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60504 /* 171179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60505 /* 171183 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60506 /* 171186 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60507 /* 171190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60508 /* 171194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60509 /* 171196 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60510 /* 171203 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (DIVSDrm:{ *:[f64] } FR64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60511 /* 171203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
60512 /* 171206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60513 /* 171208 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60514 /* 171210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60515 /* 171214 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60516 /* 171219 */ GIR_RootConstrainSelectedInstOperands,
60517 /* 171220 */ // GIR_Coverage, 2269,
60518 /* 171220 */ GIR_EraseRootFromParent_Done,
60519 /* 171221 */ // Label 3769: @171221
60520 /* 171221 */ GIM_Try, /*On fail goto*//*Label 3770*/ GIMT_Encode4(171283), // Rule ID 6087 //
60521 /* 171226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60522 /* 171229 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60523 /* 171233 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60524 /* 171237 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60525 /* 171241 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60526 /* 171245 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60527 /* 171248 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60528 /* 171252 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60529 /* 171256 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60530 /* 171258 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60531 /* 171265 */ // (fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVSDZrm:{ *:[f64] } FR64X:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
60532 /* 171265 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
60533 /* 171268 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60534 /* 171270 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60535 /* 171272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60536 /* 171276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60537 /* 171281 */ GIR_RootConstrainSelectedInstOperands,
60538 /* 171282 */ // GIR_Coverage, 6087,
60539 /* 171282 */ GIR_EraseRootFromParent_Done,
60540 /* 171283 */ // Label 3770: @171283
60541 /* 171283 */ GIM_Try, /*On fail goto*//*Label 3771*/ GIMT_Encode4(171320), // Rule ID 883 //
60542 /* 171288 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
60543 /* 171291 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60544 /* 171295 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60545 /* 171299 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
60546 /* 171303 */ // (fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (DIV_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
60547 /* 171303 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64),
60548 /* 171308 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
60549 /* 171314 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
60550 /* 171318 */ GIR_RootConstrainSelectedInstOperands,
60551 /* 171319 */ // GIR_Coverage, 883,
60552 /* 171319 */ GIR_Done,
60553 /* 171320 */ // Label 3771: @171320
60554 /* 171320 */ GIM_Try, /*On fail goto*//*Label 3772*/ GIMT_Encode4(171351), // Rule ID 2259 //
60555 /* 171325 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
60556 /* 171328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60557 /* 171332 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60558 /* 171336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60559 /* 171340 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VDIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
60560 /* 171340 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDrr),
60561 /* 171345 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60562 /* 171349 */ GIR_RootConstrainSelectedInstOperands,
60563 /* 171350 */ // GIR_Coverage, 2259,
60564 /* 171350 */ GIR_Done,
60565 /* 171351 */ // Label 3772: @171351
60566 /* 171351 */ GIM_Try, /*On fail goto*//*Label 3773*/ GIMT_Encode4(171382), // Rule ID 2267 //
60567 /* 171356 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
60568 /* 171359 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60569 /* 171363 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60570 /* 171367 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
60571 /* 171371 */ // (fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (DIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
60572 /* 171371 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSDrr),
60573 /* 171376 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60574 /* 171380 */ GIR_RootConstrainSelectedInstOperands,
60575 /* 171381 */ // GIR_Coverage, 2267,
60576 /* 171381 */ GIR_Done,
60577 /* 171382 */ // Label 3773: @171382
60578 /* 171382 */ GIM_Try, /*On fail goto*//*Label 3774*/ GIMT_Encode4(171413), // Rule ID 6085 //
60579 /* 171387 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
60580 /* 171390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60581 /* 171394 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60582 /* 171398 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
60583 /* 171402 */ // (fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VDIVSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
60584 /* 171402 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrr),
60585 /* 171407 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60586 /* 171411 */ GIR_RootConstrainSelectedInstOperands,
60587 /* 171412 */ // GIR_Coverage, 6085,
60588 /* 171412 */ GIR_Done,
60589 /* 171413 */ // Label 3774: @171413
60590 /* 171413 */ GIM_Reject,
60591 /* 171414 */ // Label 3756: @171414
60592 /* 171414 */ GIM_Reject,
60593 /* 171415 */ // Label 3725: @171415
60594 /* 171415 */ GIM_Try, /*On fail goto*//*Label 3775*/ GIMT_Encode4(171980),
60595 /* 171420 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
60596 /* 171423 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
60597 /* 171426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60598 /* 171430 */ GIM_Try, /*On fail goto*//*Label 3776*/ GIMT_Encode4(171491), // Rule ID 1015 //
60599 /* 171435 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60600 /* 171438 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60601 /* 171442 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60602 /* 171446 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
60603 /* 171453 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60604 /* 171457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60605 /* 171461 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60606 /* 171463 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60607 /* 171470 */ // (fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
60608 /* 171470 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m80),
60609 /* 171473 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60610 /* 171475 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60611 /* 171477 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60612 /* 171481 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60613 /* 171484 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60614 /* 171489 */ GIR_RootConstrainSelectedInstOperands,
60615 /* 171490 */ // GIR_Coverage, 1015,
60616 /* 171490 */ GIR_EraseRootFromParent_Done,
60617 /* 171491 */ // Label 3776: @171491
60618 /* 171491 */ GIM_Try, /*On fail goto*//*Label 3777*/ GIMT_Encode4(171552), // Rule ID 1017 //
60619 /* 171496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60620 /* 171499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60621 /* 171503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60622 /* 171507 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60623 /* 171514 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60624 /* 171518 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60625 /* 171522 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60626 /* 171524 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60627 /* 171531 */ // (fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
60628 /* 171531 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m80),
60629 /* 171534 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60630 /* 171536 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60631 /* 171538 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60632 /* 171542 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60633 /* 171545 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60634 /* 171550 */ GIR_RootConstrainSelectedInstOperands,
60635 /* 171551 */ // GIR_Coverage, 1017,
60636 /* 171551 */ GIR_EraseRootFromParent_Done,
60637 /* 171552 */ // Label 3777: @171552
60638 /* 171552 */ GIM_Try, /*On fail goto*//*Label 3778*/ GIMT_Encode4(171620), // Rule ID 1003 //
60639 /* 171557 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60640 /* 171560 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60641 /* 171564 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60642 /* 171568 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60643 /* 171571 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60644 /* 171575 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60645 /* 171582 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60646 /* 171586 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60647 /* 171590 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60648 /* 171592 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60649 /* 171599 */ // (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)
60650 /* 171599 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m32),
60651 /* 171602 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60652 /* 171604 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60653 /* 171606 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60654 /* 171610 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60655 /* 171613 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60656 /* 171618 */ GIR_RootConstrainSelectedInstOperands,
60657 /* 171619 */ // GIR_Coverage, 1003,
60658 /* 171619 */ GIR_EraseRootFromParent_Done,
60659 /* 171620 */ // Label 3778: @171620
60660 /* 171620 */ GIM_Try, /*On fail goto*//*Label 3779*/ GIMT_Encode4(171688), // Rule ID 1005 //
60661 /* 171625 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60662 /* 171628 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
60663 /* 171632 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60664 /* 171636 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60665 /* 171639 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60666 /* 171643 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
60667 /* 171650 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60668 /* 171654 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60669 /* 171658 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60670 /* 171660 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60671 /* 171667 */ // (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)
60672 /* 171667 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m64),
60673 /* 171670 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60674 /* 171672 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
60675 /* 171674 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60676 /* 171678 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60677 /* 171681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60678 /* 171686 */ GIR_RootConstrainSelectedInstOperands,
60679 /* 171687 */ // GIR_Coverage, 1005,
60680 /* 171687 */ GIR_EraseRootFromParent_Done,
60681 /* 171688 */ // Label 3779: @171688
60682 /* 171688 */ GIM_Try, /*On fail goto*//*Label 3780*/ GIMT_Encode4(171749), // Rule ID 993 //
60683 /* 171693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60684 /* 171696 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60685 /* 171700 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60686 /* 171704 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60687 /* 171708 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
60688 /* 171715 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60689 /* 171719 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60690 /* 171721 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60691 /* 171728 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
60692 /* 171728 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m80),
60693 /* 171731 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60694 /* 171733 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60695 /* 171735 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60696 /* 171739 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60697 /* 171742 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60698 /* 171747 */ GIR_RootConstrainSelectedInstOperands,
60699 /* 171748 */ // GIR_Coverage, 993,
60700 /* 171748 */ GIR_EraseRootFromParent_Done,
60701 /* 171749 */ // Label 3780: @171749
60702 /* 171749 */ GIM_Try, /*On fail goto*//*Label 3781*/ GIMT_Encode4(171810), // Rule ID 995 //
60703 /* 171754 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60704 /* 171757 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60705 /* 171761 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60706 /* 171765 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
60707 /* 171769 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60708 /* 171776 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60709 /* 171780 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60710 /* 171782 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60711 /* 171789 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
60712 /* 171789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m80),
60713 /* 171792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60714 /* 171794 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60715 /* 171796 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60716 /* 171800 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60717 /* 171803 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60718 /* 171808 */ GIR_RootConstrainSelectedInstOperands,
60719 /* 171809 */ // GIR_Coverage, 995,
60720 /* 171809 */ GIR_EraseRootFromParent_Done,
60721 /* 171810 */ // Label 3781: @171810
60722 /* 171810 */ GIM_Try, /*On fail goto*//*Label 3782*/ GIMT_Encode4(171878), // Rule ID 981 //
60723 /* 171815 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60724 /* 171818 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60725 /* 171822 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60726 /* 171826 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60727 /* 171830 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60728 /* 171833 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60729 /* 171837 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
60730 /* 171844 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60731 /* 171848 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60732 /* 171850 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60733 /* 171857 */ // (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)
60734 /* 171857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m32),
60735 /* 171860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60736 /* 171862 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60737 /* 171864 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60738 /* 171868 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60739 /* 171871 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60740 /* 171876 */ GIR_RootConstrainSelectedInstOperands,
60741 /* 171877 */ // GIR_Coverage, 981,
60742 /* 171877 */ GIR_EraseRootFromParent_Done,
60743 /* 171878 */ // Label 3782: @171878
60744 /* 171878 */ GIM_Try, /*On fail goto*//*Label 3783*/ GIMT_Encode4(171946), // Rule ID 983 //
60745 /* 171883 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60746 /* 171886 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60747 /* 171890 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60748 /* 171894 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60749 /* 171898 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60750 /* 171901 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60751 /* 171905 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
60752 /* 171912 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60753 /* 171916 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60754 /* 171918 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60755 /* 171925 */ // (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)
60756 /* 171925 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m64),
60757 /* 171928 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60758 /* 171930 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60759 /* 171932 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60760 /* 171936 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
60761 /* 171939 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60762 /* 171944 */ GIR_RootConstrainSelectedInstOperands,
60763 /* 171945 */ // GIR_Coverage, 983,
60764 /* 171945 */ GIR_EraseRootFromParent_Done,
60765 /* 171946 */ // Label 3783: @171946
60766 /* 171946 */ GIM_Try, /*On fail goto*//*Label 3784*/ GIMT_Encode4(171979), // Rule ID 885 //
60767 /* 171951 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
60768 /* 171954 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60769 /* 171958 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
60770 /* 171962 */ // (fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (DIV_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
60771 /* 171962 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80),
60772 /* 171967 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
60773 /* 171973 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
60774 /* 171977 */ GIR_RootConstrainSelectedInstOperands,
60775 /* 171978 */ // GIR_Coverage, 885,
60776 /* 171978 */ GIR_Done,
60777 /* 171979 */ // Label 3784: @171979
60778 /* 171979 */ GIM_Reject,
60779 /* 171980 */ // Label 3775: @171980
60780 /* 171980 */ GIM_Reject,
60781 /* 171981 */ // Label 3726: @171981
60782 /* 171981 */ GIM_Try, /*On fail goto*//*Label 3785*/ GIMT_Encode4(172078),
60783 /* 171986 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
60784 /* 171989 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
60785 /* 171992 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60786 /* 171996 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60787 /* 172000 */ GIM_Try, /*On fail goto*//*Label 3786*/ GIMT_Encode4(172054), // Rule ID 6676 //
60788 /* 172005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
60789 /* 172008 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60790 /* 172012 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60791 /* 172016 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60792 /* 172019 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60793 /* 172023 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60794 /* 172027 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60795 /* 172029 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60796 /* 172036 */ // (fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZ128rm:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, addr:{ *:[iPTR] }:$src2)
60797 /* 172036 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rm),
60798 /* 172039 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60799 /* 172041 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60800 /* 172043 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60801 /* 172047 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60802 /* 172052 */ GIR_RootConstrainSelectedInstOperands,
60803 /* 172053 */ // GIR_Coverage, 6676,
60804 /* 172053 */ GIR_EraseRootFromParent_Done,
60805 /* 172054 */ // Label 3786: @172054
60806 /* 172054 */ GIM_Try, /*On fail goto*//*Label 3787*/ GIMT_Encode4(172077), // Rule ID 6672 //
60807 /* 172059 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
60808 /* 172062 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60809 /* 172066 */ // (fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VDIVPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
60810 /* 172066 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rr),
60811 /* 172071 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60812 /* 172075 */ GIR_RootConstrainSelectedInstOperands,
60813 /* 172076 */ // GIR_Coverage, 6672,
60814 /* 172076 */ GIR_Done,
60815 /* 172077 */ // Label 3787: @172077
60816 /* 172077 */ GIM_Reject,
60817 /* 172078 */ // Label 3785: @172078
60818 /* 172078 */ GIM_Reject,
60819 /* 172079 */ // Label 3727: @172079
60820 /* 172079 */ GIM_Try, /*On fail goto*//*Label 3788*/ GIMT_Encode4(172176),
60821 /* 172084 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
60822 /* 172087 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
60823 /* 172090 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60824 /* 172094 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60825 /* 172098 */ GIM_Try, /*On fail goto*//*Label 3789*/ GIMT_Encode4(172152), // Rule ID 6688 //
60826 /* 172103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
60827 /* 172106 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60828 /* 172110 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60829 /* 172114 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60830 /* 172117 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60831 /* 172121 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60832 /* 172125 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60833 /* 172127 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60834 /* 172134 */ // (fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZ256rm:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, addr:{ *:[iPTR] }:$src2)
60835 /* 172134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rm),
60836 /* 172137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60837 /* 172139 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60838 /* 172141 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60839 /* 172145 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60840 /* 172150 */ GIR_RootConstrainSelectedInstOperands,
60841 /* 172151 */ // GIR_Coverage, 6688,
60842 /* 172151 */ GIR_EraseRootFromParent_Done,
60843 /* 172152 */ // Label 3789: @172152
60844 /* 172152 */ GIM_Try, /*On fail goto*//*Label 3790*/ GIMT_Encode4(172175), // Rule ID 6684 //
60845 /* 172157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
60846 /* 172160 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
60847 /* 172164 */ // (fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VDIVPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
60848 /* 172164 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rr),
60849 /* 172169 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60850 /* 172173 */ GIR_RootConstrainSelectedInstOperands,
60851 /* 172174 */ // GIR_Coverage, 6684,
60852 /* 172174 */ GIR_Done,
60853 /* 172175 */ // Label 3790: @172175
60854 /* 172175 */ GIM_Reject,
60855 /* 172176 */ // Label 3788: @172176
60856 /* 172176 */ GIM_Reject,
60857 /* 172177 */ // Label 3728: @172177
60858 /* 172177 */ GIM_Try, /*On fail goto*//*Label 3791*/ GIMT_Encode4(172274),
60859 /* 172182 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
60860 /* 172185 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
60861 /* 172188 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60862 /* 172192 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60863 /* 172196 */ GIM_Try, /*On fail goto*//*Label 3792*/ GIMT_Encode4(172250), // Rule ID 6664 //
60864 /* 172201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
60865 /* 172204 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60866 /* 172208 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60867 /* 172212 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60868 /* 172215 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60869 /* 172219 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60870 /* 172223 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60871 /* 172225 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60872 /* 172232 */ // (fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPHZrm:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, addr:{ *:[iPTR] }:$src2)
60873 /* 172232 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrm),
60874 /* 172235 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60875 /* 172237 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60876 /* 172239 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60877 /* 172243 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60878 /* 172248 */ GIR_RootConstrainSelectedInstOperands,
60879 /* 172249 */ // GIR_Coverage, 6664,
60880 /* 172249 */ GIR_EraseRootFromParent_Done,
60881 /* 172250 */ // Label 3792: @172250
60882 /* 172250 */ GIM_Try, /*On fail goto*//*Label 3793*/ GIMT_Encode4(172273), // Rule ID 6660 //
60883 /* 172255 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
60884 /* 172258 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
60885 /* 172262 */ // (fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VDIVPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
60886 /* 172262 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrr),
60887 /* 172267 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60888 /* 172271 */ GIR_RootConstrainSelectedInstOperands,
60889 /* 172272 */ // GIR_Coverage, 6660,
60890 /* 172272 */ GIR_Done,
60891 /* 172273 */ // Label 3793: @172273
60892 /* 172273 */ GIM_Reject,
60893 /* 172274 */ // Label 3791: @172274
60894 /* 172274 */ GIM_Reject,
60895 /* 172275 */ // Label 3729: @172275
60896 /* 172275 */ GIM_Try, /*On fail goto*//*Label 3794*/ GIMT_Encode4(172504),
60897 /* 172280 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
60898 /* 172283 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
60899 /* 172286 */ GIM_Try, /*On fail goto*//*Label 3795*/ GIMT_Encode4(172348), // Rule ID 2233 //
60900 /* 172291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
60901 /* 172294 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60902 /* 172298 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60903 /* 172302 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60904 /* 172306 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60905 /* 172310 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60906 /* 172313 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60907 /* 172317 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60908 /* 172321 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60909 /* 172323 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60910 /* 172330 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSrm:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60911 /* 172330 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSrm),
60912 /* 172333 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60913 /* 172335 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60914 /* 172337 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60915 /* 172341 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60916 /* 172346 */ GIR_RootConstrainSelectedInstOperands,
60917 /* 172347 */ // GIR_Coverage, 2233,
60918 /* 172347 */ GIR_EraseRootFromParent_Done,
60919 /* 172348 */ // Label 3795: @172348
60920 /* 172348 */ GIM_Try, /*On fail goto*//*Label 3796*/ GIMT_Encode4(172410), // Rule ID 6616 //
60921 /* 172353 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
60922 /* 172356 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60923 /* 172360 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60924 /* 172364 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60925 /* 172368 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60926 /* 172372 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60927 /* 172375 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60928 /* 172379 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60929 /* 172383 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60930 /* 172385 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60931 /* 172392 */ // (fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZ128rm:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60932 /* 172392 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rm),
60933 /* 172395 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60934 /* 172397 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60935 /* 172399 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
60936 /* 172403 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
60937 /* 172408 */ GIR_RootConstrainSelectedInstOperands,
60938 /* 172409 */ // GIR_Coverage, 6616,
60939 /* 172409 */ GIR_EraseRootFromParent_Done,
60940 /* 172410 */ // Label 3796: @172410
60941 /* 172410 */ GIM_Try, /*On fail goto*//*Label 3797*/ GIMT_Encode4(172441), // Rule ID 2231 //
60942 /* 172415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
60943 /* 172418 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60944 /* 172422 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60945 /* 172426 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60946 /* 172430 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VDIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
60947 /* 172430 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSrr),
60948 /* 172435 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60949 /* 172439 */ GIR_RootConstrainSelectedInstOperands,
60950 /* 172440 */ // GIR_Coverage, 2231,
60951 /* 172440 */ GIR_Done,
60952 /* 172441 */ // Label 3797: @172441
60953 /* 172441 */ GIM_Try, /*On fail goto*//*Label 3798*/ GIMT_Encode4(172472), // Rule ID 2247 //
60954 /* 172446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
60955 /* 172449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60956 /* 172453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60957 /* 172457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
60958 /* 172461 */ // (fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (DIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
60959 /* 172461 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPSrr),
60960 /* 172466 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60961 /* 172470 */ GIR_RootConstrainSelectedInstOperands,
60962 /* 172471 */ // GIR_Coverage, 2247,
60963 /* 172471 */ GIR_Done,
60964 /* 172472 */ // Label 3798: @172472
60965 /* 172472 */ GIM_Try, /*On fail goto*//*Label 3799*/ GIMT_Encode4(172503), // Rule ID 6612 //
60966 /* 172477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
60967 /* 172480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60968 /* 172484 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60969 /* 172488 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
60970 /* 172492 */ // (fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VDIVPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
60971 /* 172492 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rr),
60972 /* 172497 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
60973 /* 172501 */ GIR_RootConstrainSelectedInstOperands,
60974 /* 172502 */ // GIR_Coverage, 6612,
60975 /* 172502 */ GIR_Done,
60976 /* 172503 */ // Label 3799: @172503
60977 /* 172503 */ GIM_Reject,
60978 /* 172504 */ // Label 3794: @172504
60979 /* 172504 */ GIM_Reject,
60980 /* 172505 */ // Label 3730: @172505
60981 /* 172505 */ GIM_Try, /*On fail goto*//*Label 3800*/ GIMT_Encode4(172703),
60982 /* 172510 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
60983 /* 172513 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
60984 /* 172516 */ GIM_Try, /*On fail goto*//*Label 3801*/ GIMT_Encode4(172578), // Rule ID 2241 //
60985 /* 172521 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
60986 /* 172524 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60987 /* 172528 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
60988 /* 172532 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
60989 /* 172536 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
60990 /* 172540 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
60991 /* 172543 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
60992 /* 172547 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
60993 /* 172551 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
60994 /* 172553 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
60995 /* 172560 */ // (fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSYrm:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
60996 /* 172560 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrm),
60997 /* 172563 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
60998 /* 172565 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
60999 /* 172567 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61000 /* 172571 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61001 /* 172576 */ GIR_RootConstrainSelectedInstOperands,
61002 /* 172577 */ // GIR_Coverage, 2241,
61003 /* 172577 */ GIR_EraseRootFromParent_Done,
61004 /* 172578 */ // Label 3801: @172578
61005 /* 172578 */ GIM_Try, /*On fail goto*//*Label 3802*/ GIMT_Encode4(172640), // Rule ID 6628 //
61006 /* 172583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61007 /* 172586 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61008 /* 172590 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61009 /* 172594 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61010 /* 172598 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61011 /* 172602 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61012 /* 172605 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61013 /* 172609 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61014 /* 172613 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61015 /* 172615 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61016 /* 172622 */ // (fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZ256rm:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61017 /* 172622 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rm),
61018 /* 172625 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61019 /* 172627 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61020 /* 172629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61021 /* 172633 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61022 /* 172638 */ GIR_RootConstrainSelectedInstOperands,
61023 /* 172639 */ // GIR_Coverage, 6628,
61024 /* 172639 */ GIR_EraseRootFromParent_Done,
61025 /* 172640 */ // Label 3802: @172640
61026 /* 172640 */ GIM_Try, /*On fail goto*//*Label 3803*/ GIMT_Encode4(172671), // Rule ID 2239 //
61027 /* 172645 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61028 /* 172648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61029 /* 172652 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61030 /* 172656 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61031 /* 172660 */ // (fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VDIVPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
61032 /* 172660 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrr),
61033 /* 172665 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61034 /* 172669 */ GIR_RootConstrainSelectedInstOperands,
61035 /* 172670 */ // GIR_Coverage, 2239,
61036 /* 172670 */ GIR_Done,
61037 /* 172671 */ // Label 3803: @172671
61038 /* 172671 */ GIM_Try, /*On fail goto*//*Label 3804*/ GIMT_Encode4(172702), // Rule ID 6624 //
61039 /* 172676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61040 /* 172679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61041 /* 172683 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61042 /* 172687 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61043 /* 172691 */ // (fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VDIVPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
61044 /* 172691 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rr),
61045 /* 172696 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61046 /* 172700 */ GIR_RootConstrainSelectedInstOperands,
61047 /* 172701 */ // GIR_Coverage, 6624,
61048 /* 172701 */ GIR_Done,
61049 /* 172702 */ // Label 3804: @172702
61050 /* 172702 */ GIM_Reject,
61051 /* 172703 */ // Label 3800: @172703
61052 /* 172703 */ GIM_Reject,
61053 /* 172704 */ // Label 3731: @172704
61054 /* 172704 */ GIM_Try, /*On fail goto*//*Label 3805*/ GIMT_Encode4(172801),
61055 /* 172709 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
61056 /* 172712 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
61057 /* 172715 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61058 /* 172719 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61059 /* 172723 */ GIM_Try, /*On fail goto*//*Label 3806*/ GIMT_Encode4(172777), // Rule ID 6592 //
61060 /* 172728 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61061 /* 172731 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61062 /* 172735 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61063 /* 172739 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61064 /* 172742 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61065 /* 172746 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61066 /* 172750 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61067 /* 172752 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61068 /* 172759 */ // (fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPSZrm:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, addr:{ *:[iPTR] }:$src2)
61069 /* 172759 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrm),
61070 /* 172762 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61071 /* 172764 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61072 /* 172766 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61073 /* 172770 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61074 /* 172775 */ GIR_RootConstrainSelectedInstOperands,
61075 /* 172776 */ // GIR_Coverage, 6592,
61076 /* 172776 */ GIR_EraseRootFromParent_Done,
61077 /* 172777 */ // Label 3806: @172777
61078 /* 172777 */ GIM_Try, /*On fail goto*//*Label 3807*/ GIMT_Encode4(172800), // Rule ID 6588 //
61079 /* 172782 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61080 /* 172785 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61081 /* 172789 */ // (fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VDIVPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
61082 /* 172789 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrr),
61083 /* 172794 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61084 /* 172798 */ GIR_RootConstrainSelectedInstOperands,
61085 /* 172799 */ // GIR_Coverage, 6588,
61086 /* 172799 */ GIR_Done,
61087 /* 172800 */ // Label 3807: @172800
61088 /* 172800 */ GIM_Reject,
61089 /* 172801 */ // Label 3805: @172801
61090 /* 172801 */ GIM_Reject,
61091 /* 172802 */ // Label 3732: @172802
61092 /* 172802 */ GIM_Try, /*On fail goto*//*Label 3808*/ GIMT_Encode4(173031),
61093 /* 172807 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
61094 /* 172810 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
61095 /* 172813 */ GIM_Try, /*On fail goto*//*Label 3809*/ GIMT_Encode4(172875), // Rule ID 2237 //
61096 /* 172818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61097 /* 172821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61098 /* 172825 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61099 /* 172829 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61100 /* 172833 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61101 /* 172837 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61102 /* 172840 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61103 /* 172844 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61104 /* 172848 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61105 /* 172850 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61106 /* 172857 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDrm:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61107 /* 172857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDrm),
61108 /* 172860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61109 /* 172862 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61110 /* 172864 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61111 /* 172868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61112 /* 172873 */ GIR_RootConstrainSelectedInstOperands,
61113 /* 172874 */ // GIR_Coverage, 2237,
61114 /* 172874 */ GIR_EraseRootFromParent_Done,
61115 /* 172875 */ // Label 3809: @172875
61116 /* 172875 */ GIM_Try, /*On fail goto*//*Label 3810*/ GIMT_Encode4(172937), // Rule ID 6640 //
61117 /* 172880 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61118 /* 172883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61119 /* 172887 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61120 /* 172891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61121 /* 172895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61122 /* 172899 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61123 /* 172902 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61124 /* 172906 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61125 /* 172910 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61126 /* 172912 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61127 /* 172919 */ // (fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZ128rm:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61128 /* 172919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rm),
61129 /* 172922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61130 /* 172924 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61131 /* 172926 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61132 /* 172930 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61133 /* 172935 */ GIR_RootConstrainSelectedInstOperands,
61134 /* 172936 */ // GIR_Coverage, 6640,
61135 /* 172936 */ GIR_EraseRootFromParent_Done,
61136 /* 172937 */ // Label 3810: @172937
61137 /* 172937 */ GIM_Try, /*On fail goto*//*Label 3811*/ GIMT_Encode4(172968), // Rule ID 2235 //
61138 /* 172942 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61139 /* 172945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61140 /* 172949 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61141 /* 172953 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61142 /* 172957 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VDIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
61143 /* 172957 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDrr),
61144 /* 172962 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61145 /* 172966 */ GIR_RootConstrainSelectedInstOperands,
61146 /* 172967 */ // GIR_Coverage, 2235,
61147 /* 172967 */ GIR_Done,
61148 /* 172968 */ // Label 3811: @172968
61149 /* 172968 */ GIM_Try, /*On fail goto*//*Label 3812*/ GIMT_Encode4(172999), // Rule ID 2251 //
61150 /* 172973 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
61151 /* 172976 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61152 /* 172980 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61153 /* 172984 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61154 /* 172988 */ // (fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (DIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
61155 /* 172988 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPDrr),
61156 /* 172993 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61157 /* 172997 */ GIR_RootConstrainSelectedInstOperands,
61158 /* 172998 */ // GIR_Coverage, 2251,
61159 /* 172998 */ GIR_Done,
61160 /* 172999 */ // Label 3812: @172999
61161 /* 172999 */ GIM_Try, /*On fail goto*//*Label 3813*/ GIMT_Encode4(173030), // Rule ID 6636 //
61162 /* 173004 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61163 /* 173007 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61164 /* 173011 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61165 /* 173015 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61166 /* 173019 */ // (fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VDIVPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
61167 /* 173019 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rr),
61168 /* 173024 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61169 /* 173028 */ GIR_RootConstrainSelectedInstOperands,
61170 /* 173029 */ // GIR_Coverage, 6636,
61171 /* 173029 */ GIR_Done,
61172 /* 173030 */ // Label 3813: @173030
61173 /* 173030 */ GIM_Reject,
61174 /* 173031 */ // Label 3808: @173031
61175 /* 173031 */ GIM_Reject,
61176 /* 173032 */ // Label 3733: @173032
61177 /* 173032 */ GIM_Try, /*On fail goto*//*Label 3814*/ GIMT_Encode4(173230),
61178 /* 173037 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
61179 /* 173040 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
61180 /* 173043 */ GIM_Try, /*On fail goto*//*Label 3815*/ GIMT_Encode4(173105), // Rule ID 2245 //
61181 /* 173048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61182 /* 173051 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61183 /* 173055 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61184 /* 173059 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61185 /* 173063 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61186 /* 173067 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61187 /* 173070 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61188 /* 173074 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61189 /* 173078 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61190 /* 173080 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61191 /* 173087 */ // (fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDYrm:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61192 /* 173087 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrm),
61193 /* 173090 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61194 /* 173092 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61195 /* 173094 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61196 /* 173098 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61197 /* 173103 */ GIR_RootConstrainSelectedInstOperands,
61198 /* 173104 */ // GIR_Coverage, 2245,
61199 /* 173104 */ GIR_EraseRootFromParent_Done,
61200 /* 173105 */ // Label 3815: @173105
61201 /* 173105 */ GIM_Try, /*On fail goto*//*Label 3816*/ GIMT_Encode4(173167), // Rule ID 6652 //
61202 /* 173110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61203 /* 173113 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61204 /* 173117 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61205 /* 173121 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61206 /* 173125 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61207 /* 173129 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61208 /* 173132 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61209 /* 173136 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61210 /* 173140 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61211 /* 173142 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61212 /* 173149 */ // (fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZ256rm:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61213 /* 173149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rm),
61214 /* 173152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61215 /* 173154 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61216 /* 173156 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61217 /* 173160 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61218 /* 173165 */ GIR_RootConstrainSelectedInstOperands,
61219 /* 173166 */ // GIR_Coverage, 6652,
61220 /* 173166 */ GIR_EraseRootFromParent_Done,
61221 /* 173167 */ // Label 3816: @173167
61222 /* 173167 */ GIM_Try, /*On fail goto*//*Label 3817*/ GIMT_Encode4(173198), // Rule ID 2243 //
61223 /* 173172 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61224 /* 173175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61225 /* 173179 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61226 /* 173183 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61227 /* 173187 */ // (fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VDIVPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
61228 /* 173187 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrr),
61229 /* 173192 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61230 /* 173196 */ GIR_RootConstrainSelectedInstOperands,
61231 /* 173197 */ // GIR_Coverage, 2243,
61232 /* 173197 */ GIR_Done,
61233 /* 173198 */ // Label 3817: @173198
61234 /* 173198 */ GIM_Try, /*On fail goto*//*Label 3818*/ GIMT_Encode4(173229), // Rule ID 6648 //
61235 /* 173203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61236 /* 173206 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61237 /* 173210 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61238 /* 173214 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61239 /* 173218 */ // (fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VDIVPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
61240 /* 173218 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rr),
61241 /* 173223 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61242 /* 173227 */ GIR_RootConstrainSelectedInstOperands,
61243 /* 173228 */ // GIR_Coverage, 6648,
61244 /* 173228 */ GIR_Done,
61245 /* 173229 */ // Label 3818: @173229
61246 /* 173229 */ GIM_Reject,
61247 /* 173230 */ // Label 3814: @173230
61248 /* 173230 */ GIM_Reject,
61249 /* 173231 */ // Label 3734: @173231
61250 /* 173231 */ GIM_Try, /*On fail goto*//*Label 3819*/ GIMT_Encode4(173328),
61251 /* 173236 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
61252 /* 173239 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
61253 /* 173242 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61254 /* 173246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61255 /* 173250 */ GIM_Try, /*On fail goto*//*Label 3820*/ GIMT_Encode4(173304), // Rule ID 6604 //
61256 /* 173255 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61257 /* 173258 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
61258 /* 173262 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61259 /* 173266 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61260 /* 173269 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61261 /* 173273 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61262 /* 173277 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61263 /* 173279 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61264 /* 173286 */ // (fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VDIVPDZrm:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, addr:{ *:[iPTR] }:$src2)
61265 /* 173286 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrm),
61266 /* 173289 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61267 /* 173291 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
61268 /* 173293 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
61269 /* 173297 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61270 /* 173302 */ GIR_RootConstrainSelectedInstOperands,
61271 /* 173303 */ // GIR_Coverage, 6604,
61272 /* 173303 */ GIR_EraseRootFromParent_Done,
61273 /* 173304 */ // Label 3820: @173304
61274 /* 173304 */ GIM_Try, /*On fail goto*//*Label 3821*/ GIMT_Encode4(173327), // Rule ID 6600 //
61275 /* 173309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61276 /* 173312 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61277 /* 173316 */ // (fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VDIVPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
61278 /* 173316 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrr),
61279 /* 173321 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61280 /* 173325 */ GIR_RootConstrainSelectedInstOperands,
61281 /* 173326 */ // GIR_Coverage, 6600,
61282 /* 173326 */ GIR_Done,
61283 /* 173327 */ // Label 3821: @173327
61284 /* 173327 */ GIM_Reject,
61285 /* 173328 */ // Label 3819: @173328
61286 /* 173328 */ GIM_Reject,
61287 /* 173329 */ // Label 3735: @173329
61288 /* 173329 */ GIM_Reject,
61289 /* 173330 */ // Label 47: @173330
61290 /* 173330 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 3825*/ GIMT_Encode4(173452),
61291 /* 173341 */ /*GILLT_s32*//*Label 3822*/ GIMT_Encode4(173353),
61292 /* 173345 */ /*GILLT_s64*//*Label 3823*/ GIMT_Encode4(173386),
61293 /* 173349 */ /*GILLT_s80*//*Label 3824*/ GIMT_Encode4(173419),
61294 /* 173353 */ // Label 3822: @173353
61295 /* 173353 */ GIM_Try, /*On fail goto*//*Label 3826*/ GIMT_Encode4(173385), // Rule ID 1018 //
61296 /* 173358 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61297 /* 173361 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61298 /* 173364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61299 /* 173368 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61300 /* 173372 */ // (fneg:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (CHS_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
61301 /* 173372 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp32),
61302 /* 173377 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
61303 /* 173383 */ GIR_RootConstrainSelectedInstOperands,
61304 /* 173384 */ // GIR_Coverage, 1018,
61305 /* 173384 */ GIR_Done,
61306 /* 173385 */ // Label 3826: @173385
61307 /* 173385 */ GIM_Reject,
61308 /* 173386 */ // Label 3823: @173386
61309 /* 173386 */ GIM_Try, /*On fail goto*//*Label 3827*/ GIMT_Encode4(173418), // Rule ID 1019 //
61310 /* 173391 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
61311 /* 173394 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61312 /* 173397 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61313 /* 173401 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61314 /* 173405 */ // (fneg:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (CHS_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
61315 /* 173405 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp64),
61316 /* 173410 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
61317 /* 173416 */ GIR_RootConstrainSelectedInstOperands,
61318 /* 173417 */ // GIR_Coverage, 1019,
61319 /* 173417 */ GIR_Done,
61320 /* 173418 */ // Label 3827: @173418
61321 /* 173418 */ GIM_Reject,
61322 /* 173419 */ // Label 3824: @173419
61323 /* 173419 */ GIM_Try, /*On fail goto*//*Label 3828*/ GIMT_Encode4(173451), // Rule ID 1020 //
61324 /* 173424 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
61325 /* 173427 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
61326 /* 173430 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61327 /* 173434 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61328 /* 173438 */ // (fneg:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (CHS_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
61329 /* 173438 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CHS_Fp80),
61330 /* 173443 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
61331 /* 173449 */ GIR_RootConstrainSelectedInstOperands,
61332 /* 173450 */ // GIR_Coverage, 1020,
61333 /* 173450 */ GIR_Done,
61334 /* 173451 */ // Label 3828: @173451
61335 /* 173451 */ GIM_Reject,
61336 /* 173452 */ // Label 3825: @173452
61337 /* 173452 */ GIM_Reject,
61338 /* 173453 */ // Label 48: @173453
61339 /* 173453 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(25), /*)*//*default:*//*Label 3836*/ GIMT_Encode4(174404),
61340 /* 173464 */ /*GILLT_s32*//*Label 3829*/ GIMT_Encode4(173552),
61341 /* 173468 */ /*GILLT_s64*//*Label 3830*/ GIMT_Encode4(173673),
61342 /* 173472 */ /*GILLT_s80*//*Label 3831*/ GIMT_Encode4(174156), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61343 /* 173532 */ /*GILLT_v8s32*//*Label 3832*/ GIMT_Encode4(174217),
61344 /* 173536 */ /*GILLT_v16s32*//*Label 3833*/ GIMT_Encode4(174248), GIMT_Encode4(0),
61345 /* 173544 */ /*GILLT_v4s64*//*Label 3834*/ GIMT_Encode4(174279),
61346 /* 173548 */ /*GILLT_v8s64*//*Label 3835*/ GIMT_Encode4(174343),
61347 /* 173552 */ // Label 3829: @173552
61348 /* 173552 */ GIM_Try, /*On fail goto*//*Label 3837*/ GIMT_Encode4(173672),
61349 /* 173557 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
61350 /* 173560 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61351 /* 173564 */ GIM_Try, /*On fail goto*//*Label 3838*/ GIMT_Encode4(173633), // Rule ID 21191 //
61352 /* 173569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_OptForSize),
61353 /* 173572 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61354 /* 173576 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61355 /* 173580 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61356 /* 173583 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61357 /* 173587 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61358 /* 173591 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61359 /* 173593 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61360 /* 173600 */ // (fpextend:{ *:[f32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSH2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
61361 /* 173600 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61362 /* 173603 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61363 /* 173607 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61364 /* 173612 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61365 /* 173614 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SSZrm),
61366 /* 173617 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61367 /* 173619 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61368 /* 173622 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61369 /* 173626 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61370 /* 173631 */ GIR_RootConstrainSelectedInstOperands,
61371 /* 173632 */ // GIR_Coverage, 21191,
61372 /* 173632 */ GIR_EraseRootFromParent_Done,
61373 /* 173633 */ // Label 3838: @173633
61374 /* 173633 */ GIM_Try, /*On fail goto*//*Label 3839*/ GIMT_Encode4(173671), // Rule ID 21189 //
61375 /* 173638 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61376 /* 173641 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
61377 /* 173645 */ // (fpextend:{ *:[f32] } FR16X:{ *:[f16] }:$src) => (VCVTSH2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR16X:{ *:[f16] }:$src)
61378 /* 173645 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61379 /* 173648 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61380 /* 173652 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61381 /* 173657 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61382 /* 173659 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SSZrr),
61383 /* 173662 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61384 /* 173664 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61385 /* 173667 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61386 /* 173669 */ GIR_RootConstrainSelectedInstOperands,
61387 /* 173670 */ // GIR_Coverage, 21189,
61388 /* 173670 */ GIR_EraseRootFromParent_Done,
61389 /* 173671 */ // Label 3839: @173671
61390 /* 173671 */ GIM_Reject,
61391 /* 173672 */ // Label 3837: @173672
61392 /* 173672 */ GIM_Reject,
61393 /* 173673 */ // Label 3830: @173673
61394 /* 173673 */ GIM_Try, /*On fail goto*//*Label 3840*/ GIMT_Encode4(173732), // Rule ID 1870 //
61395 /* 173678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE2),
61396 /* 173681 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61397 /* 173684 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61398 /* 173688 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61399 /* 173692 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61400 /* 173696 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61401 /* 173699 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61402 /* 173703 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61403 /* 173707 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61404 /* 173709 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61405 /* 173716 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSS2SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
61406 /* 173716 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSS2SDrm),
61407 /* 173719 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61408 /* 173721 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61409 /* 173725 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61410 /* 173730 */ GIR_RootConstrainSelectedInstOperands,
61411 /* 173731 */ // GIR_Coverage, 1870,
61412 /* 173731 */ GIR_EraseRootFromParent_Done,
61413 /* 173732 */ // Label 3840: @173732
61414 /* 173732 */ GIM_Try, /*On fail goto*//*Label 3841*/ GIMT_Encode4(173808), // Rule ID 17968 //
61415 /* 173737 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
61416 /* 173740 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61417 /* 173743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61418 /* 173747 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61419 /* 173751 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61420 /* 173755 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61421 /* 173758 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61422 /* 173762 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61423 /* 173766 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61424 /* 173768 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61425 /* 173775 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
61426 /* 173775 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61427 /* 173778 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61428 /* 173782 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61429 /* 173787 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61430 /* 173789 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDrm),
61431 /* 173792 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61432 /* 173794 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61433 /* 173797 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61434 /* 173801 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61435 /* 173806 */ GIR_RootConstrainSelectedInstOperands,
61436 /* 173807 */ // GIR_Coverage, 17968,
61437 /* 173807 */ GIR_EraseRootFromParent_Done,
61438 /* 173808 */ // Label 3841: @173808
61439 /* 173808 */ GIM_Try, /*On fail goto*//*Label 3842*/ GIMT_Encode4(173884), // Rule ID 21185 //
61440 /* 173813 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
61441 /* 173816 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61442 /* 173819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61443 /* 173823 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61444 /* 173827 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61445 /* 173831 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61446 /* 173834 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61447 /* 173838 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61448 /* 173842 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61449 /* 173844 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61450 /* 173851 */ // (fpextend:{ *:[f64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSS2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
61451 /* 173851 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61452 /* 173854 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61453 /* 173858 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61454 /* 173863 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61455 /* 173865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDZrm),
61456 /* 173868 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61457 /* 173870 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61458 /* 173873 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61459 /* 173877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61460 /* 173882 */ GIR_RootConstrainSelectedInstOperands,
61461 /* 173883 */ // GIR_Coverage, 21185,
61462 /* 173883 */ GIR_EraseRootFromParent_Done,
61463 /* 173884 */ // Label 3842: @173884
61464 /* 173884 */ GIM_Try, /*On fail goto*//*Label 3843*/ GIMT_Encode4(173960), // Rule ID 21195 //
61465 /* 173889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_OptForSize),
61466 /* 173892 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
61467 /* 173895 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61468 /* 173899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61469 /* 173903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61470 /* 173907 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61471 /* 173910 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61472 /* 173914 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61473 /* 173918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61474 /* 173920 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61475 /* 173927 */ // (fpextend:{ *:[f64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSH2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
61476 /* 173927 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61477 /* 173930 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61478 /* 173934 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61479 /* 173939 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61480 /* 173941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SDZrm),
61481 /* 173944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61482 /* 173946 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61483 /* 173949 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61484 /* 173953 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61485 /* 173958 */ GIR_RootConstrainSelectedInstOperands,
61486 /* 173959 */ // GIR_Coverage, 21195,
61487 /* 173959 */ GIR_EraseRootFromParent_Done,
61488 /* 173960 */ // Label 3843: @173960
61489 /* 173960 */ GIM_Try, /*On fail goto*//*Label 3844*/ GIMT_Encode4(173990), // Rule ID 1868 //
61490 /* 173965 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
61491 /* 173968 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61492 /* 173971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61493 /* 173975 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61494 /* 173979 */ // (fpextend:{ *:[f64] } FR32:{ *:[f32] }:$src) => (CVTSS2SDrr:{ *:[f64] } FR32:{ *:[f32] }:$src)
61495 /* 173979 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSS2SDrr),
61496 /* 173984 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61497 /* 173988 */ GIR_RootConstrainSelectedInstOperands,
61498 /* 173989 */ // GIR_Coverage, 1868,
61499 /* 173989 */ GIR_Done,
61500 /* 173990 */ // Label 3844: @173990
61501 /* 173990 */ GIM_Try, /*On fail goto*//*Label 3845*/ GIMT_Encode4(174020), // Rule ID 17693 //
61502 /* 173995 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61503 /* 173998 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61504 /* 174001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61505 /* 174005 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61506 /* 174009 */ // (fpextend:{ *:[f64] } RFP32:{ *:[f32] }:$src) => (COPY_TO_REGCLASS:{ *:[f64] } RFP32:{ *:[f32] }:$src, RFP64:{ *:[i32] })
61507 /* 174009 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
61508 /* 174014 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP64RegClassID),
61509 /* 174019 */ // GIR_Coverage, 17693,
61510 /* 174019 */ GIR_Done,
61511 /* 174020 */ // Label 3845: @174020
61512 /* 174020 */ GIM_Try, /*On fail goto*//*Label 3846*/ GIMT_Encode4(174065), // Rule ID 17966 //
61513 /* 174025 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61514 /* 174028 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61515 /* 174031 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61516 /* 174035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61517 /* 174039 */ // (fpextend:{ *:[f64] } FR32:{ *:[f32] }:$src) => (VCVTSS2SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR32:{ *:[f32] }:$src)
61518 /* 174039 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61519 /* 174042 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61520 /* 174046 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61521 /* 174051 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61522 /* 174053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDrr),
61523 /* 174056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61524 /* 174058 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61525 /* 174061 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61526 /* 174063 */ GIR_RootConstrainSelectedInstOperands,
61527 /* 174064 */ // GIR_Coverage, 17966,
61528 /* 174064 */ GIR_EraseRootFromParent_Done,
61529 /* 174065 */ // Label 3846: @174065
61530 /* 174065 */ GIM_Try, /*On fail goto*//*Label 3847*/ GIMT_Encode4(174110), // Rule ID 21183 //
61531 /* 174070 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61532 /* 174073 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61533 /* 174076 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61534 /* 174080 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61535 /* 174084 */ // (fpextend:{ *:[f64] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR32X:{ *:[f32] }:$src)
61536 /* 174084 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61537 /* 174087 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61538 /* 174091 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61539 /* 174096 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61540 /* 174098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SDZrr),
61541 /* 174101 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61542 /* 174103 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61543 /* 174106 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61544 /* 174108 */ GIR_RootConstrainSelectedInstOperands,
61545 /* 174109 */ // GIR_Coverage, 21183,
61546 /* 174109 */ GIR_EraseRootFromParent_Done,
61547 /* 174110 */ // Label 3847: @174110
61548 /* 174110 */ GIM_Try, /*On fail goto*//*Label 3848*/ GIMT_Encode4(174155), // Rule ID 21193 //
61549 /* 174115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61550 /* 174118 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
61551 /* 174121 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61552 /* 174125 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
61553 /* 174129 */ // (fpextend:{ *:[f64] } FR16X:{ *:[f16] }:$src) => (VCVTSH2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR16X:{ *:[f16] }:$src)
61554 /* 174129 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
61555 /* 174132 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61556 /* 174136 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61557 /* 174141 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61558 /* 174143 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSH2SDZrr),
61559 /* 174146 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61560 /* 174148 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61561 /* 174151 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61562 /* 174153 */ GIR_RootConstrainSelectedInstOperands,
61563 /* 174154 */ // GIR_Coverage, 21193,
61564 /* 174154 */ GIR_EraseRootFromParent_Done,
61565 /* 174155 */ // Label 3848: @174155
61566 /* 174155 */ GIM_Reject,
61567 /* 174156 */ // Label 3831: @174156
61568 /* 174156 */ GIM_Try, /*On fail goto*//*Label 3849*/ GIMT_Encode4(174186), // Rule ID 17695 //
61569 /* 174161 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61570 /* 174164 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61571 /* 174167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61572 /* 174171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61573 /* 174175 */ // (fpextend:{ *:[f80] } RFP32:{ *:[f32] }:$src) => (COPY_TO_REGCLASS:{ *:[f80] } RFP32:{ *:[f32] }:$src, RFP80:{ *:[i32] })
61574 /* 174175 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
61575 /* 174180 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP80RegClassID),
61576 /* 174185 */ // GIR_Coverage, 17695,
61577 /* 174185 */ GIR_Done,
61578 /* 174186 */ // Label 3849: @174186
61579 /* 174186 */ GIM_Try, /*On fail goto*//*Label 3850*/ GIMT_Encode4(174216), // Rule ID 17697 //
61580 /* 174191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
61581 /* 174194 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61582 /* 174197 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61583 /* 174201 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61584 /* 174205 */ // (fpextend:{ *:[f80] } RFP64:{ *:[f64] }:$src) => (COPY_TO_REGCLASS:{ *:[f80] } RFP64:{ *:[f64] }:$src, RFP80:{ *:[i32] })
61585 /* 174205 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
61586 /* 174210 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP80RegClassID),
61587 /* 174215 */ // GIR_Coverage, 17697,
61588 /* 174215 */ GIR_Done,
61589 /* 174216 */ // Label 3850: @174216
61590 /* 174216 */ GIM_Reject,
61591 /* 174217 */ // Label 3832: @174217
61592 /* 174217 */ GIM_Try, /*On fail goto*//*Label 3851*/ GIMT_Encode4(174247), // Rule ID 10618 //
61593 /* 174222 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
61594 /* 174225 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
61595 /* 174228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61596 /* 174232 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61597 /* 174236 */ // (fpextend:{ *:[v8f32] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2PSXZ256rr:{ *:[v8f32] } VR128X:{ *:[v8f16] }:$src)
61598 /* 174236 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PSXZ256rr),
61599 /* 174241 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61600 /* 174245 */ GIR_RootConstrainSelectedInstOperands,
61601 /* 174246 */ // GIR_Coverage, 10618,
61602 /* 174246 */ GIR_Done,
61603 /* 174247 */ // Label 3851: @174247
61604 /* 174247 */ GIM_Reject,
61605 /* 174248 */ // Label 3833: @174248
61606 /* 174248 */ GIM_Try, /*On fail goto*//*Label 3852*/ GIMT_Encode4(174278), // Rule ID 10593 //
61607 /* 174253 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61608 /* 174256 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
61609 /* 174259 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61610 /* 174263 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61611 /* 174267 */ // (fpextend:{ *:[v16f32] } VR256X:{ *:[v16f16] }:$src) => (VCVTPH2PSXZrr:{ *:[v16f32] } VR256X:{ *:[v16f16] }:$src)
61612 /* 174267 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PSXZrr),
61613 /* 174272 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61614 /* 174276 */ GIR_RootConstrainSelectedInstOperands,
61615 /* 174277 */ // GIR_Coverage, 10593,
61616 /* 174277 */ GIR_Done,
61617 /* 174278 */ // Label 3852: @174278
61618 /* 174278 */ GIM_Reject,
61619 /* 174279 */ // Label 3834: @174279
61620 /* 174279 */ GIM_Try, /*On fail goto*//*Label 3853*/ GIMT_Encode4(174342),
61621 /* 174284 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
61622 /* 174287 */ GIM_Try, /*On fail goto*//*Label 3854*/ GIMT_Encode4(174314), // Rule ID 1911 //
61623 /* 174292 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
61624 /* 174295 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
61625 /* 174299 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
61626 /* 174303 */ // (fpextend:{ *:[v4f64] } VR128:{ *:[v4f32] }:$src) => (VCVTPS2PDYrr:{ *:[v4f64] } VR128:{ *:[v4f32] }:$src)
61627 /* 174303 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDYrr),
61628 /* 174308 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61629 /* 174312 */ GIR_RootConstrainSelectedInstOperands,
61630 /* 174313 */ // GIR_Coverage, 1911,
61631 /* 174313 */ GIR_Done,
61632 /* 174314 */ // Label 3854: @174314
61633 /* 174314 */ GIM_Try, /*On fail goto*//*Label 3855*/ GIMT_Encode4(174341), // Rule ID 10555 //
61634 /* 174319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
61635 /* 174322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61636 /* 174326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61637 /* 174330 */ // (fpextend:{ *:[v4f64] } VR128X:{ *:[v4f32] }:$src) => (VCVTPS2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4f32] }:$src)
61638 /* 174330 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDZ256rr),
61639 /* 174335 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61640 /* 174339 */ GIR_RootConstrainSelectedInstOperands,
61641 /* 174340 */ // GIR_Coverage, 10555,
61642 /* 174340 */ GIR_Done,
61643 /* 174341 */ // Label 3855: @174341
61644 /* 174341 */ GIM_Reject,
61645 /* 174342 */ // Label 3853: @174342
61646 /* 174342 */ GIM_Reject,
61647 /* 174343 */ // Label 3835: @174343
61648 /* 174343 */ GIM_Try, /*On fail goto*//*Label 3856*/ GIMT_Encode4(174373), // Rule ID 10530 //
61649 /* 174348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61650 /* 174351 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
61651 /* 174354 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61652 /* 174358 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
61653 /* 174362 */ // (fpextend:{ *:[v8f64] } VR256X:{ *:[v8f32] }:$src) => (VCVTPS2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8f32] }:$src)
61654 /* 174362 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPS2PDZrr),
61655 /* 174367 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61656 /* 174371 */ GIR_RootConstrainSelectedInstOperands,
61657 /* 174372 */ // GIR_Coverage, 10530,
61658 /* 174372 */ GIR_Done,
61659 /* 174373 */ // Label 3856: @174373
61660 /* 174373 */ GIM_Try, /*On fail goto*//*Label 3857*/ GIMT_Encode4(174403), // Rule ID 10644 //
61661 /* 174378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61662 /* 174381 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
61663 /* 174384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
61664 /* 174388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
61665 /* 174392 */ // (fpextend:{ *:[v8f64] } VR128X:{ *:[v8f16] }:$src) => (VCVTPH2PDZrr:{ *:[v8f64] } VR128X:{ *:[v8f16] }:$src)
61666 /* 174392 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTPH2PDZrr),
61667 /* 174397 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61668 /* 174401 */ GIR_RootConstrainSelectedInstOperands,
61669 /* 174402 */ // GIR_Coverage, 10644,
61670 /* 174402 */ GIR_Done,
61671 /* 174403 */ // Label 3857: @174403
61672 /* 174403 */ GIM_Reject,
61673 /* 174404 */ // Label 3836: @174404
61674 /* 174404 */ GIM_Reject,
61675 /* 174405 */ // Label 49: @174405
61676 /* 174405 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 3861*/ GIMT_Encode4(174790),
61677 /* 174416 */ /*GILLT_s16*//*Label 3858*/ GIMT_Encode4(174428),
61678 /* 174420 */ /*GILLT_s32*//*Label 3859*/ GIMT_Encode4(174519),
61679 /* 174424 */ /*GILLT_s64*//*Label 3860*/ GIMT_Encode4(174759),
61680 /* 174428 */ // Label 3858: @174428
61681 /* 174428 */ GIM_Try, /*On fail goto*//*Label 3862*/ GIMT_Encode4(174473), // Rule ID 21197 //
61682 /* 174433 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61683 /* 174436 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61684 /* 174439 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
61685 /* 174443 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61686 /* 174447 */ // (fpround:{ *:[f16] } FR32X:{ *:[f32] }:$src) => (VCVTSS2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR32X:{ *:[f32] }:$src)
61687 /* 174447 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
61688 /* 174450 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61689 /* 174454 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61690 /* 174459 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61691 /* 174461 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSS2SHZrr),
61692 /* 174464 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61693 /* 174466 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61694 /* 174469 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61695 /* 174471 */ GIR_RootConstrainSelectedInstOperands,
61696 /* 174472 */ // GIR_Coverage, 21197,
61697 /* 174472 */ GIR_EraseRootFromParent_Done,
61698 /* 174473 */ // Label 3862: @174473
61699 /* 174473 */ GIM_Try, /*On fail goto*//*Label 3863*/ GIMT_Encode4(174518), // Rule ID 21199 //
61700 /* 174478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61701 /* 174481 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61702 /* 174484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
61703 /* 174488 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61704 /* 174492 */ // (fpround:{ *:[f16] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR64X:{ *:[f64] }:$src)
61705 /* 174492 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
61706 /* 174495 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61707 /* 174499 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61708 /* 174504 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61709 /* 174506 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SHZrr),
61710 /* 174509 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61711 /* 174511 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61712 /* 174514 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61713 /* 174516 */ GIR_RootConstrainSelectedInstOperands,
61714 /* 174517 */ // GIR_Coverage, 21199,
61715 /* 174517 */ GIR_EraseRootFromParent_Done,
61716 /* 174518 */ // Label 3863: @174518
61717 /* 174518 */ GIM_Reject,
61718 /* 174519 */ // Label 3859: @174519
61719 /* 174519 */ GIM_Try, /*On fail goto*//*Label 3864*/ GIMT_Encode4(174578), // Rule ID 1858 //
61720 /* 174524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE2),
61721 /* 174527 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61722 /* 174530 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61723 /* 174534 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61724 /* 174538 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61725 /* 174542 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61726 /* 174545 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61727 /* 174549 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61728 /* 174553 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61729 /* 174555 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61730 /* 174562 */ // (fpround:{ *:[f32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSD2SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
61731 /* 174562 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSD2SSrm),
61732 /* 174565 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61733 /* 174567 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61734 /* 174571 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61735 /* 174576 */ GIR_RootConstrainSelectedInstOperands,
61736 /* 174577 */ // GIR_Coverage, 1858,
61737 /* 174577 */ GIR_EraseRootFromParent_Done,
61738 /* 174578 */ // Label 3864: @174578
61739 /* 174578 */ GIM_Try, /*On fail goto*//*Label 3865*/ GIMT_Encode4(174608), // Rule ID 1856 //
61740 /* 174583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
61741 /* 174586 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61742 /* 174589 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61743 /* 174593 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61744 /* 174597 */ // (fpround:{ *:[f32] } FR64:{ *:[f64] }:$src) => (CVTSD2SSrr:{ *:[f32] } FR64:{ *:[f64] }:$src)
61745 /* 174597 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSD2SSrr),
61746 /* 174602 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61747 /* 174606 */ GIR_RootConstrainSelectedInstOperands,
61748 /* 174607 */ // GIR_Coverage, 1856,
61749 /* 174607 */ GIR_Done,
61750 /* 174608 */ // Label 3865: @174608
61751 /* 174608 */ GIM_Try, /*On fail goto*//*Label 3866*/ GIMT_Encode4(174638), // Rule ID 17699 //
61752 /* 174613 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61753 /* 174616 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61754 /* 174619 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61755 /* 174623 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61756 /* 174627 */ // (fpround:{ *:[f32] } RFP64:{ *:[f64] }:$src) => (COPY_TO_REGCLASS:{ *:[f32] } RFP64:{ *:[f64] }:$src, RFP32:{ *:[i32] })
61757 /* 174627 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
61758 /* 174632 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP32RegClassID),
61759 /* 174637 */ // GIR_Coverage, 17699,
61760 /* 174637 */ GIR_Done,
61761 /* 174638 */ // Label 3866: @174638
61762 /* 174638 */ GIM_Try, /*On fail goto*//*Label 3867*/ GIMT_Encode4(174668), // Rule ID 17701 //
61763 /* 174643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
61764 /* 174646 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
61765 /* 174649 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
61766 /* 174653 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61767 /* 174657 */ // (fpround:{ *:[f32] } RFP80:{ *:[f80] }:$src) => (COPY_TO_REGCLASS:{ *:[f32] } RFP80:{ *:[f80] }:$src, RFP32:{ *:[i32] })
61768 /* 174657 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
61769 /* 174662 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP32RegClassID),
61770 /* 174667 */ // GIR_Coverage, 17701,
61771 /* 174667 */ GIR_Done,
61772 /* 174668 */ // Label 3867: @174668
61773 /* 174668 */ GIM_Try, /*On fail goto*//*Label 3868*/ GIMT_Encode4(174713), // Rule ID 17964 //
61774 /* 174673 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61775 /* 174676 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61776 /* 174679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61777 /* 174683 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61778 /* 174687 */ // (fpround:{ *:[f32] } FR64:{ *:[f64] }:$src) => (VCVTSD2SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR64:{ *:[f64] }:$src)
61779 /* 174687 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61780 /* 174690 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61781 /* 174694 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61782 /* 174699 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61783 /* 174701 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SSrr),
61784 /* 174704 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61785 /* 174706 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61786 /* 174709 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61787 /* 174711 */ GIR_RootConstrainSelectedInstOperands,
61788 /* 174712 */ // GIR_Coverage, 17964,
61789 /* 174712 */ GIR_EraseRootFromParent_Done,
61790 /* 174713 */ // Label 3868: @174713
61791 /* 174713 */ GIM_Try, /*On fail goto*//*Label 3869*/ GIMT_Encode4(174758), // Rule ID 21187 //
61792 /* 174718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61793 /* 174721 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61794 /* 174724 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
61795 /* 174728 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
61796 /* 174732 */ // (fpround:{ *:[f32] } FR64X:{ *:[f64] }:$src) => (VCVTSD2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR64X:{ *:[f64] }:$src)
61797 /* 174732 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
61798 /* 174735 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
61799 /* 174739 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
61800 /* 174744 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
61801 /* 174746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSD2SSZrr),
61802 /* 174749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61803 /* 174751 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
61804 /* 174754 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
61805 /* 174756 */ GIR_RootConstrainSelectedInstOperands,
61806 /* 174757 */ // GIR_Coverage, 21187,
61807 /* 174757 */ GIR_EraseRootFromParent_Done,
61808 /* 174758 */ // Label 3869: @174758
61809 /* 174758 */ GIM_Reject,
61810 /* 174759 */ // Label 3860: @174759
61811 /* 174759 */ GIM_Try, /*On fail goto*//*Label 3870*/ GIMT_Encode4(174789), // Rule ID 17703 //
61812 /* 174764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
61813 /* 174767 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
61814 /* 174770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
61815 /* 174774 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
61816 /* 174778 */ // (fpround:{ *:[f64] } RFP80:{ *:[f80] }:$src) => (COPY_TO_REGCLASS:{ *:[f64] } RFP80:{ *:[f80] }:$src, RFP64:{ *:[i32] })
61817 /* 174778 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
61818 /* 174783 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::RFP64RegClassID),
61819 /* 174788 */ // GIR_Coverage, 17703,
61820 /* 174788 */ GIR_Done,
61821 /* 174789 */ // Label 3870: @174789
61822 /* 174789 */ GIM_Reject,
61823 /* 174790 */ // Label 3861: @174790
61824 /* 174790 */ GIM_Reject,
61825 /* 174791 */ // Label 50: @174791
61826 /* 174791 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(20), /*)*//*default:*//*Label 3874*/ GIMT_Encode4(176207),
61827 /* 174802 */ /*GILLT_s32*//*Label 3871*/ GIMT_Encode4(174870),
61828 /* 174806 */ /*GILLT_s64*//*Label 3872*/ GIMT_Encode4(175494), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
61829 /* 174866 */ /*GILLT_v4s32*//*Label 3873*/ GIMT_Encode4(176118),
61830 /* 174870 */ // Label 3871: @174870
61831 /* 174870 */ GIM_Try, /*On fail goto*//*Label 3875*/ GIMT_Encode4(174929), // Rule ID 1718 //
61832 /* 174875 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61833 /* 174878 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61834 /* 174881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61835 /* 174885 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61836 /* 174889 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61837 /* 174893 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61838 /* 174896 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61839 /* 174900 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61840 /* 174904 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61841 /* 174906 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61842 /* 174913 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
61843 /* 174913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIrm),
61844 /* 174916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61845 /* 174918 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61846 /* 174922 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61847 /* 174927 */ GIR_RootConstrainSelectedInstOperands,
61848 /* 174928 */ // GIR_Coverage, 1718,
61849 /* 174928 */ GIR_EraseRootFromParent_Done,
61850 /* 174929 */ // Label 3875: @174929
61851 /* 174929 */ GIM_Try, /*On fail goto*//*Label 3876*/ GIMT_Encode4(174988), // Rule ID 1726 //
61852 /* 174934 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61853 /* 174937 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61854 /* 174940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61855 /* 174944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61856 /* 174948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61857 /* 174952 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61858 /* 174955 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61859 /* 174959 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61860 /* 174963 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61861 /* 174965 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61862 /* 174972 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
61863 /* 174972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIrm),
61864 /* 174975 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61865 /* 174977 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61866 /* 174981 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61867 /* 174986 */ GIR_RootConstrainSelectedInstOperands,
61868 /* 174987 */ // GIR_Coverage, 1726,
61869 /* 174987 */ GIR_EraseRootFromParent_Done,
61870 /* 174988 */ // Label 3876: @174988
61871 /* 174988 */ GIM_Try, /*On fail goto*//*Label 3877*/ GIMT_Encode4(175047), // Rule ID 1742 //
61872 /* 174993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
61873 /* 174996 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61874 /* 174999 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61875 /* 175003 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61876 /* 175007 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61877 /* 175011 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61878 /* 175014 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61879 /* 175018 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61880 /* 175022 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61881 /* 175024 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61882 /* 175031 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSS2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
61883 /* 175031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SIrm),
61884 /* 175034 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61885 /* 175036 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61886 /* 175040 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61887 /* 175045 */ GIR_RootConstrainSelectedInstOperands,
61888 /* 175046 */ // GIR_Coverage, 1742,
61889 /* 175046 */ GIR_EraseRootFromParent_Done,
61890 /* 175047 */ // Label 3877: @175047
61891 /* 175047 */ GIM_Try, /*On fail goto*//*Label 3878*/ GIMT_Encode4(175106), // Rule ID 1750 //
61892 /* 175052 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
61893 /* 175055 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61894 /* 175058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61895 /* 175062 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61896 /* 175066 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61897 /* 175070 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61898 /* 175073 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61899 /* 175077 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61900 /* 175081 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61901 /* 175083 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61902 /* 175090 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSD2SIrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
61903 /* 175090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SIrm),
61904 /* 175093 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61905 /* 175095 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61906 /* 175099 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61907 /* 175104 */ GIR_RootConstrainSelectedInstOperands,
61908 /* 175105 */ // GIR_Coverage, 1750,
61909 /* 175105 */ GIR_EraseRootFromParent_Done,
61910 /* 175106 */ // Label 3878: @175106
61911 /* 175106 */ GIM_Try, /*On fail goto*//*Label 3879*/ GIMT_Encode4(175165), // Rule ID 10343 //
61912 /* 175111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61913 /* 175114 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61914 /* 175117 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61915 /* 175121 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61916 /* 175125 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61917 /* 175129 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61918 /* 175132 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61919 /* 175136 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61920 /* 175140 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61921 /* 175142 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61922 /* 175149 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
61923 /* 175149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIZrm),
61924 /* 175152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61925 /* 175154 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61926 /* 175158 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61927 /* 175163 */ GIR_RootConstrainSelectedInstOperands,
61928 /* 175164 */ // GIR_Coverage, 10343,
61929 /* 175164 */ GIR_EraseRootFromParent_Done,
61930 /* 175165 */ // Label 3879: @175165
61931 /* 175165 */ GIM_Try, /*On fail goto*//*Label 3880*/ GIMT_Encode4(175224), // Rule ID 10361 //
61932 /* 175170 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
61933 /* 175173 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61934 /* 175176 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61935 /* 175180 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61936 /* 175184 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61937 /* 175188 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61938 /* 175191 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61939 /* 175195 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61940 /* 175199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61941 /* 175201 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61942 /* 175208 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
61943 /* 175208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIZrm),
61944 /* 175211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61945 /* 175213 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61946 /* 175217 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61947 /* 175222 */ GIR_RootConstrainSelectedInstOperands,
61948 /* 175223 */ // GIR_Coverage, 10361,
61949 /* 175223 */ GIR_EraseRootFromParent_Done,
61950 /* 175224 */ // Label 3880: @175224
61951 /* 175224 */ GIM_Try, /*On fail goto*//*Label 3881*/ GIMT_Encode4(175283), // Rule ID 15151 //
61952 /* 175229 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
61953 /* 175232 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
61954 /* 175235 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61955 /* 175239 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
61956 /* 175243 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
61957 /* 175247 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
61958 /* 175250 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
61959 /* 175254 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
61960 /* 175258 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
61961 /* 175260 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
61962 /* 175267 */ // (fp_to_sint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
61963 /* 175267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrm),
61964 /* 175270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
61965 /* 175272 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
61966 /* 175276 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
61967 /* 175281 */ GIR_RootConstrainSelectedInstOperands,
61968 /* 175282 */ // GIR_Coverage, 15151,
61969 /* 175282 */ GIR_EraseRootFromParent_Done,
61970 /* 175283 */ // Label 3881: @175283
61971 /* 175283 */ GIM_Try, /*On fail goto*//*Label 3882*/ GIMT_Encode4(175313), // Rule ID 1716 //
61972 /* 175288 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61973 /* 175291 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61974 /* 175294 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61975 /* 175298 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
61976 /* 175302 */ // (fp_to_sint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (VCVTTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
61977 /* 175302 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIrr),
61978 /* 175307 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61979 /* 175311 */ GIR_RootConstrainSelectedInstOperands,
61980 /* 175312 */ // GIR_Coverage, 1716,
61981 /* 175312 */ GIR_Done,
61982 /* 175313 */ // Label 3882: @175313
61983 /* 175313 */ GIM_Try, /*On fail goto*//*Label 3883*/ GIMT_Encode4(175343), // Rule ID 1724 //
61984 /* 175318 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
61985 /* 175321 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
61986 /* 175324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61987 /* 175328 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
61988 /* 175332 */ // (fp_to_sint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (VCVTTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
61989 /* 175332 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIrr),
61990 /* 175337 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
61991 /* 175341 */ GIR_RootConstrainSelectedInstOperands,
61992 /* 175342 */ // GIR_Coverage, 1724,
61993 /* 175342 */ GIR_Done,
61994 /* 175343 */ // Label 3883: @175343
61995 /* 175343 */ GIM_Try, /*On fail goto*//*Label 3884*/ GIMT_Encode4(175373), // Rule ID 1740 //
61996 /* 175348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
61997 /* 175351 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
61998 /* 175354 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
61999 /* 175358 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62000 /* 175362 */ // (fp_to_sint:{ *:[i32] } FR32:{ *:[f32] }:$src) => (CVTTSS2SIrr:{ *:[i32] } FR32:{ *:[f32] }:$src)
62001 /* 175362 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SIrr),
62002 /* 175367 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62003 /* 175371 */ GIR_RootConstrainSelectedInstOperands,
62004 /* 175372 */ // GIR_Coverage, 1740,
62005 /* 175372 */ GIR_Done,
62006 /* 175373 */ // Label 3884: @175373
62007 /* 175373 */ GIM_Try, /*On fail goto*//*Label 3885*/ GIMT_Encode4(175403), // Rule ID 1748 //
62008 /* 175378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
62009 /* 175381 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62010 /* 175384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62011 /* 175388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62012 /* 175392 */ // (fp_to_sint:{ *:[i32] } FR64:{ *:[f64] }:$src) => (CVTTSD2SIrr:{ *:[i32] } FR64:{ *:[f64] }:$src)
62013 /* 175392 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SIrr),
62014 /* 175397 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62015 /* 175401 */ GIR_RootConstrainSelectedInstOperands,
62016 /* 175402 */ // GIR_Coverage, 1748,
62017 /* 175402 */ GIR_Done,
62018 /* 175403 */ // Label 3885: @175403
62019 /* 175403 */ GIM_Try, /*On fail goto*//*Label 3886*/ GIMT_Encode4(175433), // Rule ID 10341 //
62020 /* 175408 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62021 /* 175411 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62022 /* 175414 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62023 /* 175418 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62024 /* 175422 */ // (fp_to_sint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2SIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
62025 /* 175422 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SIZrr),
62026 /* 175427 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62027 /* 175431 */ GIR_RootConstrainSelectedInstOperands,
62028 /* 175432 */ // GIR_Coverage, 10341,
62029 /* 175432 */ GIR_Done,
62030 /* 175433 */ // Label 3886: @175433
62031 /* 175433 */ GIM_Try, /*On fail goto*//*Label 3887*/ GIMT_Encode4(175463), // Rule ID 10359 //
62032 /* 175438 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62033 /* 175441 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62034 /* 175444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62035 /* 175448 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62036 /* 175452 */ // (fp_to_sint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2SIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
62037 /* 175452 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SIZrr),
62038 /* 175457 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62039 /* 175461 */ GIR_RootConstrainSelectedInstOperands,
62040 /* 175462 */ // GIR_Coverage, 10359,
62041 /* 175462 */ GIR_Done,
62042 /* 175463 */ // Label 3887: @175463
62043 /* 175463 */ GIM_Try, /*On fail goto*//*Label 3888*/ GIMT_Encode4(175493), // Rule ID 15149 //
62044 /* 175468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62045 /* 175471 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62046 /* 175474 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62047 /* 175478 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62048 /* 175482 */ // (fp_to_sint:{ *:[i32] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2SIZrr:{ *:[i32] } FR16X:{ *:[f16] }:$src)
62049 /* 175482 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SIZrr),
62050 /* 175487 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62051 /* 175491 */ GIR_RootConstrainSelectedInstOperands,
62052 /* 175492 */ // GIR_Coverage, 15149,
62053 /* 175492 */ GIR_Done,
62054 /* 175493 */ // Label 3888: @175493
62055 /* 175493 */ GIM_Reject,
62056 /* 175494 */ // Label 3872: @175494
62057 /* 175494 */ GIM_Try, /*On fail goto*//*Label 3889*/ GIMT_Encode4(175553), // Rule ID 1722 //
62058 /* 175499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62059 /* 175502 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62060 /* 175505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62061 /* 175509 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62062 /* 175513 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62063 /* 175517 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62064 /* 175520 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62065 /* 175524 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62066 /* 175528 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62067 /* 175530 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62068 /* 175537 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62069 /* 175537 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64rm),
62070 /* 175540 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62071 /* 175542 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62072 /* 175546 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62073 /* 175551 */ GIR_RootConstrainSelectedInstOperands,
62074 /* 175552 */ // GIR_Coverage, 1722,
62075 /* 175552 */ GIR_EraseRootFromParent_Done,
62076 /* 175553 */ // Label 3889: @175553
62077 /* 175553 */ GIM_Try, /*On fail goto*//*Label 3890*/ GIMT_Encode4(175612), // Rule ID 1730 //
62078 /* 175558 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62079 /* 175561 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62080 /* 175564 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62081 /* 175568 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62082 /* 175572 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62083 /* 175576 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62084 /* 175579 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62085 /* 175583 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62086 /* 175587 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62087 /* 175589 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62088 /* 175596 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62089 /* 175596 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64rm),
62090 /* 175599 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62091 /* 175601 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62092 /* 175605 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62093 /* 175610 */ GIR_RootConstrainSelectedInstOperands,
62094 /* 175611 */ // GIR_Coverage, 1730,
62095 /* 175611 */ GIR_EraseRootFromParent_Done,
62096 /* 175612 */ // Label 3890: @175612
62097 /* 175612 */ GIM_Try, /*On fail goto*//*Label 3891*/ GIMT_Encode4(175671), // Rule ID 1746 //
62098 /* 175617 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62099 /* 175620 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62100 /* 175623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62101 /* 175627 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62102 /* 175631 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62103 /* 175635 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62104 /* 175638 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62105 /* 175642 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62106 /* 175646 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62107 /* 175648 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62108 /* 175655 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSS2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62109 /* 175655 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SI64rm),
62110 /* 175658 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62111 /* 175660 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62112 /* 175664 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62113 /* 175669 */ GIR_RootConstrainSelectedInstOperands,
62114 /* 175670 */ // GIR_Coverage, 1746,
62115 /* 175670 */ GIR_EraseRootFromParent_Done,
62116 /* 175671 */ // Label 3891: @175671
62117 /* 175671 */ GIM_Try, /*On fail goto*//*Label 3892*/ GIMT_Encode4(175730), // Rule ID 1754 //
62118 /* 175676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
62119 /* 175679 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62120 /* 175682 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62121 /* 175686 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62122 /* 175690 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62123 /* 175694 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62124 /* 175697 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62125 /* 175701 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62126 /* 175705 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62127 /* 175707 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62128 /* 175714 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTTSD2SI64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62129 /* 175714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SI64rm),
62130 /* 175717 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62131 /* 175719 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62132 /* 175723 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62133 /* 175728 */ GIR_RootConstrainSelectedInstOperands,
62134 /* 175729 */ // GIR_Coverage, 1754,
62135 /* 175729 */ GIR_EraseRootFromParent_Done,
62136 /* 175730 */ // Label 3892: @175730
62137 /* 175730 */ GIM_Try, /*On fail goto*//*Label 3893*/ GIMT_Encode4(175789), // Rule ID 10352 //
62138 /* 175735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62139 /* 175738 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62140 /* 175741 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62141 /* 175745 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62142 /* 175749 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62143 /* 175753 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62144 /* 175756 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62145 /* 175760 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62146 /* 175764 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62147 /* 175766 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62148 /* 175773 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62149 /* 175773 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64Zrm),
62150 /* 175776 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62151 /* 175778 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62152 /* 175782 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62153 /* 175787 */ GIR_RootConstrainSelectedInstOperands,
62154 /* 175788 */ // GIR_Coverage, 10352,
62155 /* 175788 */ GIR_EraseRootFromParent_Done,
62156 /* 175789 */ // Label 3893: @175789
62157 /* 175789 */ GIM_Try, /*On fail goto*//*Label 3894*/ GIMT_Encode4(175848), // Rule ID 10370 //
62158 /* 175794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62159 /* 175797 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62160 /* 175800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62161 /* 175804 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62162 /* 175808 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62163 /* 175812 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62164 /* 175815 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62165 /* 175819 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62166 /* 175823 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62167 /* 175825 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62168 /* 175832 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62169 /* 175832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64Zrm),
62170 /* 175835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62171 /* 175837 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62172 /* 175841 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62173 /* 175846 */ GIR_RootConstrainSelectedInstOperands,
62174 /* 175847 */ // GIR_Coverage, 10370,
62175 /* 175847 */ GIR_EraseRootFromParent_Done,
62176 /* 175848 */ // Label 3894: @175848
62177 /* 175848 */ GIM_Try, /*On fail goto*//*Label 3895*/ GIMT_Encode4(175907), // Rule ID 15160 //
62178 /* 175853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62179 /* 175856 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62180 /* 175859 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62181 /* 175863 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62182 /* 175867 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62183 /* 175871 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62184 /* 175874 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62185 /* 175878 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62186 /* 175882 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62187 /* 175884 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62188 /* 175891 */ // (fp_to_sint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2SI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62189 /* 175891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrm),
62190 /* 175894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62191 /* 175896 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62192 /* 175900 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62193 /* 175905 */ GIR_RootConstrainSelectedInstOperands,
62194 /* 175906 */ // GIR_Coverage, 15160,
62195 /* 175906 */ GIR_EraseRootFromParent_Done,
62196 /* 175907 */ // Label 3895: @175907
62197 /* 175907 */ GIM_Try, /*On fail goto*//*Label 3896*/ GIMT_Encode4(175937), // Rule ID 1720 //
62198 /* 175912 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62199 /* 175915 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62200 /* 175918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62201 /* 175922 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62202 /* 175926 */ // (fp_to_sint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (VCVTTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
62203 /* 175926 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64rr),
62204 /* 175931 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62205 /* 175935 */ GIR_RootConstrainSelectedInstOperands,
62206 /* 175936 */ // GIR_Coverage, 1720,
62207 /* 175936 */ GIR_Done,
62208 /* 175937 */ // Label 3896: @175937
62209 /* 175937 */ GIM_Try, /*On fail goto*//*Label 3897*/ GIMT_Encode4(175967), // Rule ID 1728 //
62210 /* 175942 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62211 /* 175945 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62212 /* 175948 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62213 /* 175952 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62214 /* 175956 */ // (fp_to_sint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (VCVTTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
62215 /* 175956 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64rr),
62216 /* 175961 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62217 /* 175965 */ GIR_RootConstrainSelectedInstOperands,
62218 /* 175966 */ // GIR_Coverage, 1728,
62219 /* 175966 */ GIR_Done,
62220 /* 175967 */ // Label 3897: @175967
62221 /* 175967 */ GIM_Try, /*On fail goto*//*Label 3898*/ GIMT_Encode4(175997), // Rule ID 1744 //
62222 /* 175972 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62223 /* 175975 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62224 /* 175978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62225 /* 175982 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62226 /* 175986 */ // (fp_to_sint:{ *:[i64] } FR32:{ *:[f32] }:$src) => (CVTTSS2SI64rr:{ *:[i64] } FR32:{ *:[f32] }:$src)
62227 /* 175986 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSS2SI64rr),
62228 /* 175991 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62229 /* 175995 */ GIR_RootConstrainSelectedInstOperands,
62230 /* 175996 */ // GIR_Coverage, 1744,
62231 /* 175996 */ GIR_Done,
62232 /* 175997 */ // Label 3898: @175997
62233 /* 175997 */ GIM_Try, /*On fail goto*//*Label 3899*/ GIMT_Encode4(176027), // Rule ID 1752 //
62234 /* 176002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
62235 /* 176005 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62236 /* 176008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62237 /* 176012 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62238 /* 176016 */ // (fp_to_sint:{ *:[i64] } FR64:{ *:[f64] }:$src) => (CVTTSD2SI64rr:{ *:[i64] } FR64:{ *:[f64] }:$src)
62239 /* 176016 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTTSD2SI64rr),
62240 /* 176021 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62241 /* 176025 */ GIR_RootConstrainSelectedInstOperands,
62242 /* 176026 */ // GIR_Coverage, 1752,
62243 /* 176026 */ GIR_Done,
62244 /* 176027 */ // Label 3899: @176027
62245 /* 176027 */ GIM_Try, /*On fail goto*//*Label 3900*/ GIMT_Encode4(176057), // Rule ID 10350 //
62246 /* 176032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62247 /* 176035 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62248 /* 176038 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62249 /* 176042 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62250 /* 176046 */ // (fp_to_sint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2SI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
62251 /* 176046 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2SI64Zrr),
62252 /* 176051 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62253 /* 176055 */ GIR_RootConstrainSelectedInstOperands,
62254 /* 176056 */ // GIR_Coverage, 10350,
62255 /* 176056 */ GIR_Done,
62256 /* 176057 */ // Label 3900: @176057
62257 /* 176057 */ GIM_Try, /*On fail goto*//*Label 3901*/ GIMT_Encode4(176087), // Rule ID 10368 //
62258 /* 176062 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62259 /* 176065 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62260 /* 176068 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62261 /* 176072 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62262 /* 176076 */ // (fp_to_sint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2SI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
62263 /* 176076 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2SI64Zrr),
62264 /* 176081 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62265 /* 176085 */ GIR_RootConstrainSelectedInstOperands,
62266 /* 176086 */ // GIR_Coverage, 10368,
62267 /* 176086 */ GIR_Done,
62268 /* 176087 */ // Label 3901: @176087
62269 /* 176087 */ GIM_Try, /*On fail goto*//*Label 3902*/ GIMT_Encode4(176117), // Rule ID 15158 //
62270 /* 176092 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62271 /* 176095 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62272 /* 176098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62273 /* 176102 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62274 /* 176106 */ // (fp_to_sint:{ *:[i64] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2SI64Zrr:{ *:[i64] } FR16X:{ *:[f16] }:$src)
62275 /* 176106 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2SI64Zrr),
62276 /* 176111 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62277 /* 176115 */ GIR_RootConstrainSelectedInstOperands,
62278 /* 176116 */ // GIR_Coverage, 15158,
62279 /* 176116 */ GIR_Done,
62280 /* 176117 */ // Label 3902: @176117
62281 /* 176117 */ GIM_Reject,
62282 /* 176118 */ // Label 3873: @176118
62283 /* 176118 */ GIM_Try, /*On fail goto*//*Label 3903*/ GIMT_Encode4(176206),
62284 /* 176123 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
62285 /* 176126 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
62286 /* 176130 */ GIM_Try, /*On fail goto*//*Label 3904*/ GIMT_Encode4(176182), // Rule ID 18020 //
62287 /* 176135 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
62288 /* 176138 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62289 /* 176142 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62290 /* 176146 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62291 /* 176149 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62292 /* 176153 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62293 /* 176157 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62294 /* 176159 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62295 /* 176166 */ // (fp_to_sint:{ *:[v4i32] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTPD2DQYrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
62296 /* 176166 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2DQYrm),
62297 /* 176169 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62298 /* 176171 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62299 /* 176175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62300 /* 176180 */ GIR_RootConstrainSelectedInstOperands,
62301 /* 176181 */ // GIR_Coverage, 18020,
62302 /* 176181 */ GIR_EraseRootFromParent_Done,
62303 /* 176182 */ // Label 3904: @176182
62304 /* 176182 */ GIM_Try, /*On fail goto*//*Label 3905*/ GIMT_Encode4(176205), // Rule ID 18018 //
62305 /* 176187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
62306 /* 176190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
62307 /* 176194 */ // (fp_to_sint:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src) => (VCVTTPD2DQYrr:{ *:[v4i32] } VR256:{ *:[v4f64] }:$src)
62308 /* 176194 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTPD2DQYrr),
62309 /* 176199 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62310 /* 176203 */ GIR_RootConstrainSelectedInstOperands,
62311 /* 176204 */ // GIR_Coverage, 18018,
62312 /* 176204 */ GIR_Done,
62313 /* 176205 */ // Label 3905: @176205
62314 /* 176205 */ GIM_Reject,
62315 /* 176206 */ // Label 3903: @176206
62316 /* 176206 */ GIM_Reject,
62317 /* 176207 */ // Label 3874: @176207
62318 /* 176207 */ GIM_Reject,
62319 /* 176208 */ // Label 51: @176208
62320 /* 176208 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(5), /*)*//*default:*//*Label 3908*/ GIMT_Encode4(176763),
62321 /* 176219 */ /*GILLT_s32*//*Label 3906*/ GIMT_Encode4(176227),
62322 /* 176223 */ /*GILLT_s64*//*Label 3907*/ GIMT_Encode4(176495),
62323 /* 176227 */ // Label 3906: @176227
62324 /* 176227 */ GIM_Try, /*On fail goto*//*Label 3909*/ GIMT_Encode4(176286), // Rule ID 10379 //
62325 /* 176232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62326 /* 176235 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62327 /* 176238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62328 /* 176242 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62329 /* 176246 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62330 /* 176250 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62331 /* 176253 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62332 /* 176257 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62333 /* 176261 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62334 /* 176263 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62335 /* 176270 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62336 /* 176270 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USIZrm),
62337 /* 176273 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62338 /* 176275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62339 /* 176279 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62340 /* 176284 */ GIR_RootConstrainSelectedInstOperands,
62341 /* 176285 */ // GIR_Coverage, 10379,
62342 /* 176285 */ GIR_EraseRootFromParent_Done,
62343 /* 176286 */ // Label 3909: @176286
62344 /* 176286 */ GIM_Try, /*On fail goto*//*Label 3910*/ GIMT_Encode4(176345), // Rule ID 10397 //
62345 /* 176291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62346 /* 176294 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62347 /* 176297 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62348 /* 176301 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62349 /* 176305 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62350 /* 176309 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62351 /* 176312 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62352 /* 176316 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62353 /* 176320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62354 /* 176322 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62355 /* 176329 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62356 /* 176329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USIZrm),
62357 /* 176332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62358 /* 176334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62359 /* 176338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62360 /* 176343 */ GIR_RootConstrainSelectedInstOperands,
62361 /* 176344 */ // GIR_Coverage, 10397,
62362 /* 176344 */ GIR_EraseRootFromParent_Done,
62363 /* 176345 */ // Label 3910: @176345
62364 /* 176345 */ GIM_Try, /*On fail goto*//*Label 3911*/ GIMT_Encode4(176404), // Rule ID 15169 //
62365 /* 176350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62366 /* 176353 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62367 /* 176356 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62368 /* 176360 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62369 /* 176364 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62370 /* 176368 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62371 /* 176371 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62372 /* 176375 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62373 /* 176379 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62374 /* 176381 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62375 /* 176388 */ // (fp_to_uint:{ *:[i32] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2USIZrm:{ *:[i32] } addr:{ *:[iPTR] }:$src)
62376 /* 176388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USIZrm),
62377 /* 176391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62378 /* 176393 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62379 /* 176397 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62380 /* 176402 */ GIR_RootConstrainSelectedInstOperands,
62381 /* 176403 */ // GIR_Coverage, 15169,
62382 /* 176403 */ GIR_EraseRootFromParent_Done,
62383 /* 176404 */ // Label 3911: @176404
62384 /* 176404 */ GIM_Try, /*On fail goto*//*Label 3912*/ GIMT_Encode4(176434), // Rule ID 10377 //
62385 /* 176409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62386 /* 176412 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62387 /* 176415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62388 /* 176419 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62389 /* 176423 */ // (fp_to_uint:{ *:[i32] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2USIZrr:{ *:[i32] } FR32X:{ *:[f32] }:$src)
62390 /* 176423 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USIZrr),
62391 /* 176428 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62392 /* 176432 */ GIR_RootConstrainSelectedInstOperands,
62393 /* 176433 */ // GIR_Coverage, 10377,
62394 /* 176433 */ GIR_Done,
62395 /* 176434 */ // Label 3912: @176434
62396 /* 176434 */ GIM_Try, /*On fail goto*//*Label 3913*/ GIMT_Encode4(176464), // Rule ID 10395 //
62397 /* 176439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62398 /* 176442 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62399 /* 176445 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62400 /* 176449 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62401 /* 176453 */ // (fp_to_uint:{ *:[i32] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2USIZrr:{ *:[i32] } FR64X:{ *:[f64] }:$src)
62402 /* 176453 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USIZrr),
62403 /* 176458 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62404 /* 176462 */ GIR_RootConstrainSelectedInstOperands,
62405 /* 176463 */ // GIR_Coverage, 10395,
62406 /* 176463 */ GIR_Done,
62407 /* 176464 */ // Label 3913: @176464
62408 /* 176464 */ GIM_Try, /*On fail goto*//*Label 3914*/ GIMT_Encode4(176494), // Rule ID 15167 //
62409 /* 176469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62410 /* 176472 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62411 /* 176475 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62412 /* 176479 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62413 /* 176483 */ // (fp_to_uint:{ *:[i32] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2USIZrr:{ *:[i32] } FR16X:{ *:[f16] }:$src)
62414 /* 176483 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USIZrr),
62415 /* 176488 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62416 /* 176492 */ GIR_RootConstrainSelectedInstOperands,
62417 /* 176493 */ // GIR_Coverage, 15167,
62418 /* 176493 */ GIR_Done,
62419 /* 176494 */ // Label 3914: @176494
62420 /* 176494 */ GIM_Reject,
62421 /* 176495 */ // Label 3907: @176495
62422 /* 176495 */ GIM_Try, /*On fail goto*//*Label 3915*/ GIMT_Encode4(176554), // Rule ID 10388 //
62423 /* 176500 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62424 /* 176503 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62425 /* 176506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62426 /* 176510 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62427 /* 176514 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62428 /* 176518 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62429 /* 176521 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62430 /* 176525 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62431 /* 176529 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62432 /* 176531 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62433 /* 176538 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSS2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62434 /* 176538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USI64Zrm),
62435 /* 176541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62436 /* 176543 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62437 /* 176547 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62438 /* 176552 */ GIR_RootConstrainSelectedInstOperands,
62439 /* 176553 */ // GIR_Coverage, 10388,
62440 /* 176553 */ GIR_EraseRootFromParent_Done,
62441 /* 176554 */ // Label 3915: @176554
62442 /* 176554 */ GIM_Try, /*On fail goto*//*Label 3916*/ GIMT_Encode4(176613), // Rule ID 10406 //
62443 /* 176559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62444 /* 176562 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62445 /* 176565 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62446 /* 176569 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62447 /* 176573 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62448 /* 176577 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62449 /* 176580 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62450 /* 176584 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62451 /* 176588 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62452 /* 176590 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62453 /* 176597 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSD2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62454 /* 176597 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USI64Zrm),
62455 /* 176600 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62456 /* 176602 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62457 /* 176606 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62458 /* 176611 */ GIR_RootConstrainSelectedInstOperands,
62459 /* 176612 */ // GIR_Coverage, 10406,
62460 /* 176612 */ GIR_EraseRootFromParent_Done,
62461 /* 176613 */ // Label 3916: @176613
62462 /* 176613 */ GIM_Try, /*On fail goto*//*Label 3917*/ GIMT_Encode4(176672), // Rule ID 15178 //
62463 /* 176618 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62464 /* 176621 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62465 /* 176624 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62466 /* 176628 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62467 /* 176632 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62468 /* 176636 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62469 /* 176639 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62470 /* 176643 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62471 /* 176647 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62472 /* 176649 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62473 /* 176656 */ // (fp_to_uint:{ *:[i64] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTTSH2USI64Zrm:{ *:[i64] } addr:{ *:[iPTR] }:$src)
62474 /* 176656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USI64Zrm),
62475 /* 176659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62476 /* 176661 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62477 /* 176665 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62478 /* 176670 */ GIR_RootConstrainSelectedInstOperands,
62479 /* 176671 */ // GIR_Coverage, 15178,
62480 /* 176671 */ GIR_EraseRootFromParent_Done,
62481 /* 176672 */ // Label 3917: @176672
62482 /* 176672 */ GIM_Try, /*On fail goto*//*Label 3918*/ GIMT_Encode4(176702), // Rule ID 10386 //
62483 /* 176677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62484 /* 176680 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62485 /* 176683 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62486 /* 176687 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62487 /* 176691 */ // (fp_to_uint:{ *:[i64] } FR32X:{ *:[f32] }:$src) => (VCVTTSS2USI64Zrr:{ *:[i64] } FR32X:{ *:[f32] }:$src)
62488 /* 176691 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSS2USI64Zrr),
62489 /* 176696 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62490 /* 176700 */ GIR_RootConstrainSelectedInstOperands,
62491 /* 176701 */ // GIR_Coverage, 10386,
62492 /* 176701 */ GIR_Done,
62493 /* 176702 */ // Label 3918: @176702
62494 /* 176702 */ GIM_Try, /*On fail goto*//*Label 3919*/ GIMT_Encode4(176732), // Rule ID 10404 //
62495 /* 176707 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62496 /* 176710 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62497 /* 176713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62498 /* 176717 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62499 /* 176721 */ // (fp_to_uint:{ *:[i64] } FR64X:{ *:[f64] }:$src) => (VCVTTSD2USI64Zrr:{ *:[i64] } FR64X:{ *:[f64] }:$src)
62500 /* 176721 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSD2USI64Zrr),
62501 /* 176726 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62502 /* 176730 */ GIR_RootConstrainSelectedInstOperands,
62503 /* 176731 */ // GIR_Coverage, 10404,
62504 /* 176731 */ GIR_Done,
62505 /* 176732 */ // Label 3919: @176732
62506 /* 176732 */ GIM_Try, /*On fail goto*//*Label 3920*/ GIMT_Encode4(176762), // Rule ID 15176 //
62507 /* 176737 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62508 /* 176740 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
62509 /* 176743 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62510 /* 176747 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62511 /* 176751 */ // (fp_to_uint:{ *:[i64] } FR16X:{ *:[f16] }:$src) => (VCVTTSH2USI64Zrr:{ *:[i64] } FR16X:{ *:[f16] }:$src)
62512 /* 176751 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTTSH2USI64Zrr),
62513 /* 176756 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62514 /* 176760 */ GIR_RootConstrainSelectedInstOperands,
62515 /* 176761 */ // GIR_Coverage, 15176,
62516 /* 176761 */ GIR_Done,
62517 /* 176762 */ // Label 3920: @176762
62518 /* 176762 */ GIM_Reject,
62519 /* 176763 */ // Label 3908: @176763
62520 /* 176763 */ GIM_Reject,
62521 /* 176764 */ // Label 52: @176764
62522 /* 176764 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 3933*/ GIMT_Encode4(180147),
62523 /* 176775 */ /*GILLT_s16*//*Label 3921*/ GIMT_Encode4(176867),
62524 /* 176779 */ /*GILLT_s32*//*Label 3922*/ GIMT_Encode4(177110),
62525 /* 176783 */ /*GILLT_s64*//*Label 3923*/ GIMT_Encode4(177773), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
62526 /* 176831 */ /*GILLT_v8s16*//*Label 3924*/ GIMT_Encode4(178432),
62527 /* 176835 */ /*GILLT_v16s16*//*Label 3925*/ GIMT_Encode4(178700),
62528 /* 176839 */ /*GILLT_v32s16*//*Label 3926*/ GIMT_Encode4(178879),
62529 /* 176843 */ /*GILLT_v4s32*//*Label 3927*/ GIMT_Encode4(178968),
62530 /* 176847 */ /*GILLT_v8s32*//*Label 3928*/ GIMT_Encode4(179266),
62531 /* 176851 */ /*GILLT_v16s32*//*Label 3929*/ GIMT_Encode4(179534),
62532 /* 176855 */ /*GILLT_v2s64*//*Label 3930*/ GIMT_Encode4(179623),
62533 /* 176859 */ /*GILLT_v4s64*//*Label 3931*/ GIMT_Encode4(179712),
62534 /* 176863 */ /*GILLT_v8s64*//*Label 3932*/ GIMT_Encode4(179972),
62535 /* 176867 */ // Label 3921: @176867
62536 /* 176867 */ GIM_Try, /*On fail goto*//*Label 3934*/ GIMT_Encode4(176943), // Rule ID 22216 //
62537 /* 176872 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62538 /* 176875 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62539 /* 176878 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62540 /* 176882 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62541 /* 176886 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62542 /* 176890 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62543 /* 176893 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62544 /* 176897 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62545 /* 176901 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62546 /* 176903 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62547 /* 176910 */ // (sint_to_fp:{ *:[f16] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
62548 /* 176910 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62549 /* 176913 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62550 /* 176917 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62551 /* 176922 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62552 /* 176924 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SHZrm),
62553 /* 176927 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62554 /* 176929 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62555 /* 176932 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62556 /* 176936 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62557 /* 176941 */ GIR_RootConstrainSelectedInstOperands,
62558 /* 176942 */ // GIR_Coverage, 22216,
62559 /* 176942 */ GIR_EraseRootFromParent_Done,
62560 /* 176943 */ // Label 3934: @176943
62561 /* 176943 */ GIM_Try, /*On fail goto*//*Label 3935*/ GIMT_Encode4(177019), // Rule ID 22214 //
62562 /* 176948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62563 /* 176951 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62564 /* 176954 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62565 /* 176958 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62566 /* 176962 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62567 /* 176966 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62568 /* 176969 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62569 /* 176973 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62570 /* 176977 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62571 /* 176979 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62572 /* 176986 */ // (sint_to_fp:{ *:[f16] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
62573 /* 176986 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62574 /* 176989 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62575 /* 176993 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62576 /* 176998 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62577 /* 177000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SHZrm),
62578 /* 177003 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62579 /* 177005 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62580 /* 177008 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62581 /* 177012 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62582 /* 177017 */ GIR_RootConstrainSelectedInstOperands,
62583 /* 177018 */ // GIR_Coverage, 22214,
62584 /* 177018 */ GIR_EraseRootFromParent_Done,
62585 /* 177019 */ // Label 3935: @177019
62586 /* 177019 */ GIM_Try, /*On fail goto*//*Label 3936*/ GIMT_Encode4(177064), // Rule ID 22218 //
62587 /* 177024 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62588 /* 177027 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62589 /* 177030 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62590 /* 177034 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62591 /* 177038 */ // (sint_to_fp:{ *:[f16] } GR32:{ *:[i32] }:$src) => (VCVTSI2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR32:{ *:[i32] }:$src)
62592 /* 177038 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62593 /* 177041 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62594 /* 177045 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62595 /* 177050 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62596 /* 177052 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SHZrr),
62597 /* 177055 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62598 /* 177057 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62599 /* 177060 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62600 /* 177062 */ GIR_RootConstrainSelectedInstOperands,
62601 /* 177063 */ // GIR_Coverage, 22218,
62602 /* 177063 */ GIR_EraseRootFromParent_Done,
62603 /* 177064 */ // Label 3936: @177064
62604 /* 177064 */ GIM_Try, /*On fail goto*//*Label 3937*/ GIMT_Encode4(177109), // Rule ID 22220 //
62605 /* 177069 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
62606 /* 177072 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62607 /* 177075 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
62608 /* 177079 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62609 /* 177083 */ // (sint_to_fp:{ *:[f16] } GR64:{ *:[i64] }:$src) => (VCVTSI642SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR64:{ *:[i64] }:$src)
62610 /* 177083 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
62611 /* 177086 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62612 /* 177090 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62613 /* 177095 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62614 /* 177097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SHZrr),
62615 /* 177100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62616 /* 177102 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62617 /* 177105 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62618 /* 177107 */ GIR_RootConstrainSelectedInstOperands,
62619 /* 177108 */ // GIR_Coverage, 22220,
62620 /* 177108 */ GIR_EraseRootFromParent_Done,
62621 /* 177109 */ // Label 3937: @177109
62622 /* 177109 */ GIM_Reject,
62623 /* 177110 */ // Label 3922: @177110
62624 /* 177110 */ GIM_Try, /*On fail goto*//*Label 3938*/ GIMT_Encode4(177169), // Rule ID 1770 //
62625 /* 177115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62626 /* 177118 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62627 /* 177121 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62628 /* 177125 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62629 /* 177129 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62630 /* 177133 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62631 /* 177136 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62632 /* 177140 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62633 /* 177144 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62634 /* 177146 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62635 /* 177153 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSI642SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
62636 /* 177153 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI642SSrm),
62637 /* 177156 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62638 /* 177158 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62639 /* 177162 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62640 /* 177167 */ GIR_RootConstrainSelectedInstOperands,
62641 /* 177168 */ // GIR_Coverage, 1770,
62642 /* 177168 */ GIR_EraseRootFromParent_Done,
62643 /* 177169 */ // Label 3938: @177169
62644 /* 177169 */ GIM_Try, /*On fail goto*//*Label 3939*/ GIMT_Encode4(177245), // Rule ID 17942 //
62645 /* 177174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62646 /* 177177 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62647 /* 177180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62648 /* 177184 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62649 /* 177188 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62650 /* 177192 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62651 /* 177195 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62652 /* 177199 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62653 /* 177203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62654 /* 177205 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62655 /* 177212 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SSrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
62656 /* 177212 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62657 /* 177215 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62658 /* 177219 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62659 /* 177224 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62660 /* 177226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSrm),
62661 /* 177229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62662 /* 177231 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62663 /* 177234 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62664 /* 177238 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62665 /* 177243 */ GIR_RootConstrainSelectedInstOperands,
62666 /* 177244 */ // GIR_Coverage, 17942,
62667 /* 177244 */ GIR_EraseRootFromParent_Done,
62668 /* 177245 */ // Label 3939: @177245
62669 /* 177245 */ GIM_Try, /*On fail goto*//*Label 3940*/ GIMT_Encode4(177321), // Rule ID 21117 //
62670 /* 177250 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62671 /* 177253 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62672 /* 177256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62673 /* 177260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62674 /* 177264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62675 /* 177268 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62676 /* 177271 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62677 /* 177275 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62678 /* 177279 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62679 /* 177281 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62680 /* 177288 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
62681 /* 177288 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62682 /* 177291 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62683 /* 177295 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62684 /* 177300 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62685 /* 177302 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSZrm),
62686 /* 177305 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62687 /* 177307 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62688 /* 177310 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62689 /* 177314 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62690 /* 177319 */ GIR_RootConstrainSelectedInstOperands,
62691 /* 177320 */ // GIR_Coverage, 21117,
62692 /* 177320 */ GIR_EraseRootFromParent_Done,
62693 /* 177321 */ // Label 3940: @177321
62694 /* 177321 */ GIM_Try, /*On fail goto*//*Label 3941*/ GIMT_Encode4(177380), // Rule ID 1766 //
62695 /* 177326 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62696 /* 177329 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62697 /* 177332 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62698 /* 177336 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62699 /* 177340 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62700 /* 177344 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62701 /* 177347 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62702 /* 177351 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62703 /* 177355 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62704 /* 177357 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62705 /* 177364 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (CVTSI2SSrm:{ *:[f32] } addr:{ *:[iPTR] }:$src)
62706 /* 177364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI2SSrm),
62707 /* 177367 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62708 /* 177369 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62709 /* 177373 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62710 /* 177378 */ GIR_RootConstrainSelectedInstOperands,
62711 /* 177379 */ // GIR_Coverage, 1766,
62712 /* 177379 */ GIR_EraseRootFromParent_Done,
62713 /* 177380 */ // Label 3941: @177380
62714 /* 177380 */ GIM_Try, /*On fail goto*//*Label 3942*/ GIMT_Encode4(177456), // Rule ID 17940 //
62715 /* 177385 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62716 /* 177388 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62717 /* 177391 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62718 /* 177395 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62719 /* 177399 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62720 /* 177403 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62721 /* 177406 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62722 /* 177410 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62723 /* 177414 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62724 /* 177416 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62725 /* 177423 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SSrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
62726 /* 177423 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62727 /* 177426 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62728 /* 177430 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62729 /* 177435 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62730 /* 177437 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSrm),
62731 /* 177440 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62732 /* 177442 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62733 /* 177445 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62734 /* 177449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62735 /* 177454 */ GIR_RootConstrainSelectedInstOperands,
62736 /* 177455 */ // GIR_Coverage, 17940,
62737 /* 177455 */ GIR_EraseRootFromParent_Done,
62738 /* 177456 */ // Label 3942: @177456
62739 /* 177456 */ GIM_Try, /*On fail goto*//*Label 3943*/ GIMT_Encode4(177532), // Rule ID 21115 //
62740 /* 177461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62741 /* 177464 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62742 /* 177467 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62743 /* 177471 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62744 /* 177475 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62745 /* 177479 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62746 /* 177482 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62747 /* 177486 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62748 /* 177490 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62749 /* 177492 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62750 /* 177499 */ // (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
62751 /* 177499 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62752 /* 177502 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62753 /* 177506 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62754 /* 177511 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62755 /* 177513 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSZrm),
62756 /* 177516 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62757 /* 177518 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62758 /* 177521 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62759 /* 177525 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62760 /* 177530 */ GIR_RootConstrainSelectedInstOperands,
62761 /* 177531 */ // GIR_Coverage, 21115,
62762 /* 177531 */ GIR_EraseRootFromParent_Done,
62763 /* 177532 */ // Label 3943: @177532
62764 /* 177532 */ GIM_Try, /*On fail goto*//*Label 3944*/ GIMT_Encode4(177562), // Rule ID 1764 //
62765 /* 177537 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62766 /* 177540 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62767 /* 177543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62768 /* 177547 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62769 /* 177551 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (CVTSI2SSrr:{ *:[f32] } GR32:{ *:[i32] }:$src)
62770 /* 177551 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI2SSrr),
62771 /* 177556 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62772 /* 177560 */ GIR_RootConstrainSelectedInstOperands,
62773 /* 177561 */ // GIR_Coverage, 1764,
62774 /* 177561 */ GIR_Done,
62775 /* 177562 */ // Label 3944: @177562
62776 /* 177562 */ GIM_Try, /*On fail goto*//*Label 3945*/ GIMT_Encode4(177592), // Rule ID 1768 //
62777 /* 177567 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
62778 /* 177570 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62779 /* 177573 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62780 /* 177577 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62781 /* 177581 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (CVTSI642SSrr:{ *:[f32] } GR64:{ *:[i64] }:$src)
62782 /* 177581 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI642SSrr),
62783 /* 177586 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
62784 /* 177590 */ GIR_RootConstrainSelectedInstOperands,
62785 /* 177591 */ // GIR_Coverage, 1768,
62786 /* 177591 */ GIR_Done,
62787 /* 177592 */ // Label 3945: @177592
62788 /* 177592 */ GIM_Try, /*On fail goto*//*Label 3946*/ GIMT_Encode4(177637), // Rule ID 17948 //
62789 /* 177597 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62790 /* 177600 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62791 /* 177603 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62792 /* 177607 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62793 /* 177611 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTSI2SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
62794 /* 177611 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62795 /* 177614 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62796 /* 177618 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62797 /* 177623 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62798 /* 177625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSrr),
62799 /* 177628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62800 /* 177630 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62801 /* 177633 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62802 /* 177635 */ GIR_RootConstrainSelectedInstOperands,
62803 /* 177636 */ // GIR_Coverage, 17948,
62804 /* 177636 */ GIR_EraseRootFromParent_Done,
62805 /* 177637 */ // Label 3946: @177637
62806 /* 177637 */ GIM_Try, /*On fail goto*//*Label 3947*/ GIMT_Encode4(177682), // Rule ID 17950 //
62807 /* 177642 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62808 /* 177645 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62809 /* 177648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
62810 /* 177652 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62811 /* 177656 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTSI642SSrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
62812 /* 177656 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62813 /* 177659 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62814 /* 177663 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62815 /* 177668 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62816 /* 177670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSrr),
62817 /* 177673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62818 /* 177675 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62819 /* 177678 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62820 /* 177680 */ GIR_RootConstrainSelectedInstOperands,
62821 /* 177681 */ // GIR_Coverage, 17950,
62822 /* 177681 */ GIR_EraseRootFromParent_Done,
62823 /* 177682 */ // Label 3947: @177682
62824 /* 177682 */ GIM_Try, /*On fail goto*//*Label 3948*/ GIMT_Encode4(177727), // Rule ID 21123 //
62825 /* 177687 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62826 /* 177690 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62827 /* 177693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62828 /* 177697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
62829 /* 177701 */ // (sint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTSI2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
62830 /* 177701 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62831 /* 177704 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62832 /* 177708 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62833 /* 177713 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62834 /* 177715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SSZrr),
62835 /* 177718 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62836 /* 177720 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62837 /* 177723 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62838 /* 177725 */ GIR_RootConstrainSelectedInstOperands,
62839 /* 177726 */ // GIR_Coverage, 21123,
62840 /* 177726 */ GIR_EraseRootFromParent_Done,
62841 /* 177727 */ // Label 3948: @177727
62842 /* 177727 */ GIM_Try, /*On fail goto*//*Label 3949*/ GIMT_Encode4(177772), // Rule ID 21125 //
62843 /* 177732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62844 /* 177735 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62845 /* 177738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
62846 /* 177742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
62847 /* 177746 */ // (sint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTSI642SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
62848 /* 177746 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
62849 /* 177749 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62850 /* 177753 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62851 /* 177758 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62852 /* 177760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SSZrr),
62853 /* 177763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62854 /* 177765 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62855 /* 177768 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
62856 /* 177770 */ GIR_RootConstrainSelectedInstOperands,
62857 /* 177771 */ // GIR_Coverage, 21125,
62858 /* 177771 */ GIR_EraseRootFromParent_Done,
62859 /* 177772 */ // Label 3949: @177772
62860 /* 177772 */ GIM_Reject,
62861 /* 177773 */ // Label 3923: @177773
62862 /* 177773 */ GIM_Try, /*On fail goto*//*Label 3950*/ GIMT_Encode4(177832), // Rule ID 1778 //
62863 /* 177778 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
62864 /* 177781 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62865 /* 177784 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62866 /* 177788 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62867 /* 177792 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62868 /* 177796 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62869 /* 177799 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62870 /* 177803 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62871 /* 177807 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62872 /* 177809 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62873 /* 177816 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (CVTSI642SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
62874 /* 177816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI642SDrm),
62875 /* 177819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62876 /* 177821 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62877 /* 177825 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62878 /* 177830 */ GIR_RootConstrainSelectedInstOperands,
62879 /* 177831 */ // GIR_Coverage, 1778,
62880 /* 177831 */ GIR_EraseRootFromParent_Done,
62881 /* 177832 */ // Label 3950: @177832
62882 /* 177832 */ GIM_Try, /*On fail goto*//*Label 3951*/ GIMT_Encode4(177908), // Rule ID 17946 //
62883 /* 177837 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62884 /* 177840 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62885 /* 177843 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62886 /* 177847 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62887 /* 177851 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62888 /* 177855 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62889 /* 177858 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62890 /* 177862 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62891 /* 177866 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62892 /* 177868 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62893 /* 177875 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
62894 /* 177875 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62895 /* 177878 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62896 /* 177882 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62897 /* 177887 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62898 /* 177889 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDrm),
62899 /* 177892 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62900 /* 177894 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62901 /* 177897 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62902 /* 177901 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62903 /* 177906 */ GIR_RootConstrainSelectedInstOperands,
62904 /* 177907 */ // GIR_Coverage, 17946,
62905 /* 177907 */ GIR_EraseRootFromParent_Done,
62906 /* 177908 */ // Label 3951: @177908
62907 /* 177908 */ GIM_Try, /*On fail goto*//*Label 3952*/ GIMT_Encode4(177984), // Rule ID 21121 //
62908 /* 177913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62909 /* 177916 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
62910 /* 177919 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62911 /* 177923 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62912 /* 177927 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62913 /* 177931 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62914 /* 177934 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
62915 /* 177938 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62916 /* 177942 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62917 /* 177944 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62918 /* 177951 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTSI642SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
62919 /* 177951 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62920 /* 177954 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62921 /* 177958 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62922 /* 177963 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62923 /* 177965 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDZrm),
62924 /* 177968 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62925 /* 177970 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62926 /* 177973 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62927 /* 177977 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62928 /* 177982 */ GIR_RootConstrainSelectedInstOperands,
62929 /* 177983 */ // GIR_Coverage, 21121,
62930 /* 177983 */ GIR_EraseRootFromParent_Done,
62931 /* 177984 */ // Label 3952: @177984
62932 /* 177984 */ GIM_Try, /*On fail goto*//*Label 3953*/ GIMT_Encode4(178043), // Rule ID 1774 //
62933 /* 177989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
62934 /* 177992 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62935 /* 177995 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62936 /* 177999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62937 /* 178003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62938 /* 178007 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62939 /* 178010 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62940 /* 178014 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62941 /* 178018 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62942 /* 178020 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62943 /* 178027 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (CVTSI2SDrm:{ *:[f64] } addr:{ *:[iPTR] }:$src)
62944 /* 178027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::CVTSI2SDrm),
62945 /* 178030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62946 /* 178032 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62947 /* 178036 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62948 /* 178041 */ GIR_RootConstrainSelectedInstOperands,
62949 /* 178042 */ // GIR_Coverage, 1774,
62950 /* 178042 */ GIR_EraseRootFromParent_Done,
62951 /* 178043 */ // Label 3953: @178043
62952 /* 178043 */ GIM_Try, /*On fail goto*//*Label 3954*/ GIMT_Encode4(178119), // Rule ID 17944 //
62953 /* 178048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
62954 /* 178051 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62955 /* 178054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
62956 /* 178058 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62957 /* 178062 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62958 /* 178066 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62959 /* 178069 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62960 /* 178073 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62961 /* 178077 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62962 /* 178079 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62963 /* 178086 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SDrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
62964 /* 178086 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62965 /* 178089 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62966 /* 178093 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62967 /* 178098 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62968 /* 178100 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDrm),
62969 /* 178103 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62970 /* 178105 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62971 /* 178108 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62972 /* 178112 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62973 /* 178117 */ GIR_RootConstrainSelectedInstOperands,
62974 /* 178118 */ // GIR_Coverage, 17944,
62975 /* 178118 */ GIR_EraseRootFromParent_Done,
62976 /* 178119 */ // Label 3954: @178119
62977 /* 178119 */ GIM_Try, /*On fail goto*//*Label 3955*/ GIMT_Encode4(178195), // Rule ID 21119 //
62978 /* 178124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
62979 /* 178127 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
62980 /* 178130 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
62981 /* 178134 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
62982 /* 178138 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
62983 /* 178142 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
62984 /* 178145 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
62985 /* 178149 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
62986 /* 178153 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
62987 /* 178155 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
62988 /* 178162 */ // (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTSI2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
62989 /* 178162 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
62990 /* 178165 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
62991 /* 178169 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
62992 /* 178174 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
62993 /* 178176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDZrm),
62994 /* 178179 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
62995 /* 178181 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
62996 /* 178184 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
62997 /* 178188 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
62998 /* 178193 */ GIR_RootConstrainSelectedInstOperands,
62999 /* 178194 */ // GIR_Coverage, 21119,
63000 /* 178194 */ GIR_EraseRootFromParent_Done,
63001 /* 178195 */ // Label 3955: @178195
63002 /* 178195 */ GIM_Try, /*On fail goto*//*Label 3956*/ GIMT_Encode4(178221), // Rule ID 1772 //
63003 /* 178200 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
63004 /* 178203 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63005 /* 178206 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63006 /* 178210 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63007 /* 178214 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (CVTSI2SDrr:{ *:[f64] } GR32:{ *:[i32] }:$src)
63008 /* 178214 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI2SDrr),
63009 /* 178219 */ GIR_RootConstrainSelectedInstOperands,
63010 /* 178220 */ // GIR_Coverage, 1772,
63011 /* 178220 */ GIR_Done,
63012 /* 178221 */ // Label 3956: @178221
63013 /* 178221 */ GIM_Try, /*On fail goto*//*Label 3957*/ GIMT_Encode4(178251), // Rule ID 1776 //
63014 /* 178226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
63015 /* 178229 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63016 /* 178232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63017 /* 178236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63018 /* 178240 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (CVTSI642SDrr:{ *:[f64] } GR64:{ *:[i64] }:$src)
63019 /* 178240 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTSI642SDrr),
63020 /* 178245 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63021 /* 178249 */ GIR_RootConstrainSelectedInstOperands,
63022 /* 178250 */ // GIR_Coverage, 1776,
63023 /* 178250 */ GIR_Done,
63024 /* 178251 */ // Label 3957: @178251
63025 /* 178251 */ GIM_Try, /*On fail goto*//*Label 3958*/ GIMT_Encode4(178296), // Rule ID 17952 //
63026 /* 178256 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63027 /* 178259 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63028 /* 178262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63029 /* 178266 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63030 /* 178270 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTSI2SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
63031 /* 178270 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63032 /* 178273 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63033 /* 178277 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63034 /* 178282 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63035 /* 178284 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDrr),
63036 /* 178287 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63037 /* 178289 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63038 /* 178292 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63039 /* 178294 */ GIR_RootConstrainSelectedInstOperands,
63040 /* 178295 */ // GIR_Coverage, 17952,
63041 /* 178295 */ GIR_EraseRootFromParent_Done,
63042 /* 178296 */ // Label 3958: @178296
63043 /* 178296 */ GIM_Try, /*On fail goto*//*Label 3959*/ GIMT_Encode4(178341), // Rule ID 17954 //
63044 /* 178301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
63045 /* 178304 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63046 /* 178307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
63047 /* 178311 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63048 /* 178315 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTSI642SDrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
63049 /* 178315 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63050 /* 178318 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63051 /* 178322 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63052 /* 178327 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63053 /* 178329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDrr),
63054 /* 178332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63055 /* 178334 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63056 /* 178337 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63057 /* 178339 */ GIR_RootConstrainSelectedInstOperands,
63058 /* 178340 */ // GIR_Coverage, 17954,
63059 /* 178340 */ GIR_EraseRootFromParent_Done,
63060 /* 178341 */ // Label 3959: @178341
63061 /* 178341 */ GIM_Try, /*On fail goto*//*Label 3960*/ GIMT_Encode4(178386), // Rule ID 21127 //
63062 /* 178346 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63063 /* 178349 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63064 /* 178352 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63065 /* 178356 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63066 /* 178360 */ // (sint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTSI2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
63067 /* 178360 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63068 /* 178363 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63069 /* 178367 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63070 /* 178372 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63071 /* 178374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI2SDZrr),
63072 /* 178377 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63073 /* 178379 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63074 /* 178382 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63075 /* 178384 */ GIR_RootConstrainSelectedInstOperands,
63076 /* 178385 */ // GIR_Coverage, 21127,
63077 /* 178385 */ GIR_EraseRootFromParent_Done,
63078 /* 178386 */ // Label 3960: @178386
63079 /* 178386 */ GIM_Try, /*On fail goto*//*Label 3961*/ GIMT_Encode4(178431), // Rule ID 21129 //
63080 /* 178391 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63081 /* 178394 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63082 /* 178397 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63083 /* 178401 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63084 /* 178405 */ // (sint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTSI642SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
63085 /* 178405 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63086 /* 178408 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63087 /* 178412 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63088 /* 178417 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63089 /* 178419 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTSI642SDZrr),
63090 /* 178422 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63091 /* 178424 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63092 /* 178427 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63093 /* 178429 */ GIR_RootConstrainSelectedInstOperands,
63094 /* 178430 */ // GIR_Coverage, 21129,
63095 /* 178430 */ GIR_EraseRootFromParent_Done,
63096 /* 178431 */ // Label 3961: @178431
63097 /* 178431 */ GIM_Reject,
63098 /* 178432 */ // Label 3924: @178432
63099 /* 178432 */ GIM_Try, /*On fail goto*//*Label 3962*/ GIMT_Encode4(178491), // Rule ID 11437 //
63100 /* 178437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63101 /* 178440 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63102 /* 178443 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63103 /* 178447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63104 /* 178451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63105 /* 178455 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63106 /* 178458 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63107 /* 178462 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63108 /* 178466 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63109 /* 178468 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63110 /* 178475 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PHZ256rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
63111 /* 178475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZ256rm),
63112 /* 178478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63113 /* 178480 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63114 /* 178484 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63115 /* 178489 */ GIR_RootConstrainSelectedInstOperands,
63116 /* 178490 */ // GIR_Coverage, 11437,
63117 /* 178490 */ GIR_EraseRootFromParent_Done,
63118 /* 178491 */ // Label 3962: @178491
63119 /* 178491 */ GIM_Try, /*On fail goto*//*Label 3963*/ GIMT_Encode4(178550), // Rule ID 14803 //
63120 /* 178496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63121 /* 178499 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
63122 /* 178502 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63123 /* 178506 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63124 /* 178510 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63125 /* 178514 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63126 /* 178517 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63127 /* 178521 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63128 /* 178525 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63129 /* 178527 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63130 /* 178534 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
63131 /* 178534 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ128rm),
63132 /* 178537 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63133 /* 178539 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63134 /* 178543 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63135 /* 178548 */ GIR_RootConstrainSelectedInstOperands,
63136 /* 178549 */ // GIR_Coverage, 14803,
63137 /* 178549 */ GIR_EraseRootFromParent_Done,
63138 /* 178550 */ // Label 3963: @178550
63139 /* 178550 */ GIM_Try, /*On fail goto*//*Label 3964*/ GIMT_Encode4(178609), // Rule ID 15103 //
63140 /* 178555 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63141 /* 178558 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63142 /* 178561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63143 /* 178565 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63144 /* 178569 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63145 /* 178573 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63146 /* 178576 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63147 /* 178580 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63148 /* 178584 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63149 /* 178586 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63150 /* 178593 */ // (sint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PHZrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
63151 /* 178593 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PHZrm),
63152 /* 178596 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63153 /* 178598 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63154 /* 178602 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63155 /* 178607 */ GIR_RootConstrainSelectedInstOperands,
63156 /* 178608 */ // GIR_Coverage, 15103,
63157 /* 178608 */ GIR_EraseRootFromParent_Done,
63158 /* 178609 */ // Label 3964: @178609
63159 /* 178609 */ GIM_Try, /*On fail goto*//*Label 3965*/ GIMT_Encode4(178639), // Rule ID 11433 //
63160 /* 178614 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63161 /* 178617 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63162 /* 178620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63163 /* 178624 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63164 /* 178628 */ // (sint_to_fp:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PHZ256rr:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src)
63165 /* 178628 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZ256rr),
63166 /* 178633 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63167 /* 178637 */ GIR_RootConstrainSelectedInstOperands,
63168 /* 178638 */ // GIR_Coverage, 11433,
63169 /* 178638 */ GIR_Done,
63170 /* 178639 */ // Label 3965: @178639
63171 /* 178639 */ GIM_Try, /*On fail goto*//*Label 3966*/ GIMT_Encode4(178669), // Rule ID 14799 //
63172 /* 178644 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63173 /* 178647 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
63174 /* 178650 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63175 /* 178654 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63176 /* 178658 */ // (sint_to_fp:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src) => (VCVTW2PHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src)
63177 /* 178658 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ128rr),
63178 /* 178663 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63179 /* 178667 */ GIR_RootConstrainSelectedInstOperands,
63180 /* 178668 */ // GIR_Coverage, 14799,
63181 /* 178668 */ GIR_Done,
63182 /* 178669 */ // Label 3966: @178669
63183 /* 178669 */ GIM_Try, /*On fail goto*//*Label 3967*/ GIMT_Encode4(178699), // Rule ID 15099 //
63184 /* 178674 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63185 /* 178677 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63186 /* 178680 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63187 /* 178684 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63188 /* 178688 */ // (sint_to_fp:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PHZrr:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src)
63189 /* 178688 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PHZrr),
63190 /* 178693 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63191 /* 178697 */ GIR_RootConstrainSelectedInstOperands,
63192 /* 178698 */ // GIR_Coverage, 15099,
63193 /* 178698 */ GIR_Done,
63194 /* 178699 */ // Label 3967: @178699
63195 /* 178699 */ GIM_Reject,
63196 /* 178700 */ // Label 3925: @178700
63197 /* 178700 */ GIM_Try, /*On fail goto*//*Label 3968*/ GIMT_Encode4(178759), // Rule ID 11422 //
63198 /* 178705 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63199 /* 178708 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
63200 /* 178711 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63201 /* 178715 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63202 /* 178719 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63203 /* 178723 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63204 /* 178726 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63205 /* 178730 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63206 /* 178734 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63207 /* 178736 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63208 /* 178743 */ // (sint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PHZrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
63209 /* 178743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZrm),
63210 /* 178746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63211 /* 178748 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63212 /* 178752 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63213 /* 178757 */ GIR_RootConstrainSelectedInstOperands,
63214 /* 178758 */ // GIR_Coverage, 11422,
63215 /* 178758 */ GIR_EraseRootFromParent_Done,
63216 /* 178759 */ // Label 3968: @178759
63217 /* 178759 */ GIM_Try, /*On fail goto*//*Label 3969*/ GIMT_Encode4(178818), // Rule ID 14815 //
63218 /* 178764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63219 /* 178767 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
63220 /* 178770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63221 /* 178774 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63222 /* 178778 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63223 /* 178782 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63224 /* 178785 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63225 /* 178789 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63226 /* 178793 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63227 /* 178795 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63228 /* 178802 */ // (sint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
63229 /* 178802 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ256rm),
63230 /* 178805 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63231 /* 178807 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63232 /* 178811 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63233 /* 178816 */ GIR_RootConstrainSelectedInstOperands,
63234 /* 178817 */ // GIR_Coverage, 14815,
63235 /* 178817 */ GIR_EraseRootFromParent_Done,
63236 /* 178818 */ // Label 3969: @178818
63237 /* 178818 */ GIM_Try, /*On fail goto*//*Label 3970*/ GIMT_Encode4(178848), // Rule ID 11418 //
63238 /* 178823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63239 /* 178826 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
63240 /* 178829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63241 /* 178833 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63242 /* 178837 */ // (sint_to_fp:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src) => (VCVTDQ2PHZrr:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src)
63243 /* 178837 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PHZrr),
63244 /* 178842 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63245 /* 178846 */ GIR_RootConstrainSelectedInstOperands,
63246 /* 178847 */ // GIR_Coverage, 11418,
63247 /* 178847 */ GIR_Done,
63248 /* 178848 */ // Label 3970: @178848
63249 /* 178848 */ GIM_Try, /*On fail goto*//*Label 3971*/ GIMT_Encode4(178878), // Rule ID 14811 //
63250 /* 178853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
63251 /* 178856 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
63252 /* 178859 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63253 /* 178863 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63254 /* 178867 */ // (sint_to_fp:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src) => (VCVTW2PHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src)
63255 /* 178867 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZ256rr),
63256 /* 178872 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63257 /* 178876 */ GIR_RootConstrainSelectedInstOperands,
63258 /* 178877 */ // GIR_Coverage, 14811,
63259 /* 178877 */ GIR_Done,
63260 /* 178878 */ // Label 3971: @178878
63261 /* 178878 */ GIM_Reject,
63262 /* 178879 */ // Label 3926: @178879
63263 /* 178879 */ GIM_Try, /*On fail goto*//*Label 3972*/ GIMT_Encode4(178967),
63264 /* 178884 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
63265 /* 178887 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63266 /* 178891 */ GIM_Try, /*On fail goto*//*Label 3973*/ GIMT_Encode4(178943), // Rule ID 14788 //
63267 /* 178896 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63268 /* 178899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63269 /* 178903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63270 /* 178907 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63271 /* 178910 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63272 /* 178914 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63273 /* 178918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63274 /* 178920 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63275 /* 178927 */ // (sint_to_fp:{ *:[v32f16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTW2PHZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
63276 /* 178927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZrm),
63277 /* 178930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63278 /* 178932 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63279 /* 178936 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63280 /* 178941 */ GIR_RootConstrainSelectedInstOperands,
63281 /* 178942 */ // GIR_Coverage, 14788,
63282 /* 178942 */ GIR_EraseRootFromParent_Done,
63283 /* 178943 */ // Label 3973: @178943
63284 /* 178943 */ GIM_Try, /*On fail goto*//*Label 3974*/ GIMT_Encode4(178966), // Rule ID 14784 //
63285 /* 178948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63286 /* 178951 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63287 /* 178955 */ // (sint_to_fp:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src) => (VCVTW2PHZrr:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src)
63288 /* 178955 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTW2PHZrr),
63289 /* 178960 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63290 /* 178964 */ GIR_RootConstrainSelectedInstOperands,
63291 /* 178965 */ // GIR_Coverage, 14784,
63292 /* 178965 */ GIR_Done,
63293 /* 178966 */ // Label 3974: @178966
63294 /* 178966 */ GIM_Reject,
63295 /* 178967 */ // Label 3972: @178967
63296 /* 178967 */ GIM_Reject,
63297 /* 178968 */ // Label 3927: @178968
63298 /* 178968 */ GIM_Try, /*On fail goto*//*Label 3975*/ GIMT_Encode4(179027), // Rule ID 1846 //
63299 /* 178973 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
63300 /* 178976 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63301 /* 178979 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63302 /* 178983 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63303 /* 178987 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63304 /* 178991 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63305 /* 178994 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63306 /* 178998 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63307 /* 179002 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63308 /* 179004 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63309 /* 179011 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSrm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
63310 /* 179011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSrm),
63311 /* 179014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63312 /* 179016 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63313 /* 179020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63314 /* 179025 */ GIR_RootConstrainSelectedInstOperands,
63315 /* 179026 */ // GIR_Coverage, 1846,
63316 /* 179026 */ GIR_EraseRootFromParent_Done,
63317 /* 179027 */ // Label 3975: @179027
63318 /* 179027 */ GIM_Try, /*On fail goto*//*Label 3976*/ GIMT_Encode4(179086), // Rule ID 10735 //
63319 /* 179032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63320 /* 179035 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63321 /* 179038 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63322 /* 179042 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63323 /* 179046 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63324 /* 179050 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63325 /* 179053 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63326 /* 179057 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63327 /* 179061 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63328 /* 179063 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63329 /* 179070 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
63330 /* 179070 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ128rm),
63331 /* 179073 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63332 /* 179075 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63333 /* 179079 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63334 /* 179084 */ GIR_RootConstrainSelectedInstOperands,
63335 /* 179085 */ // GIR_Coverage, 10735,
63336 /* 179085 */ GIR_EraseRootFromParent_Done,
63337 /* 179086 */ // Label 3976: @179086
63338 /* 179086 */ GIM_Try, /*On fail goto*//*Label 3977*/ GIMT_Encode4(179145), // Rule ID 11491 //
63339 /* 179091 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63340 /* 179094 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
63341 /* 179097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63342 /* 179101 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63343 /* 179105 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63344 /* 179109 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63345 /* 179112 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63346 /* 179116 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63347 /* 179120 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63348 /* 179122 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63349 /* 179129 */ // (sint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PSZ256rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
63350 /* 179129 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZ256rm),
63351 /* 179132 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63352 /* 179134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63353 /* 179138 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63354 /* 179143 */ GIR_RootConstrainSelectedInstOperands,
63355 /* 179144 */ // GIR_Coverage, 11491,
63356 /* 179144 */ GIR_EraseRootFromParent_Done,
63357 /* 179145 */ // Label 3977: @179145
63358 /* 179145 */ GIM_Try, /*On fail goto*//*Label 3978*/ GIMT_Encode4(179175), // Rule ID 1844 //
63359 /* 179150 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
63360 /* 179153 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63361 /* 179156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63362 /* 179160 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63363 /* 179164 */ // (sint_to_fp:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src) => (VCVTDQ2PSrr:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src)
63364 /* 179164 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSrr),
63365 /* 179169 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63366 /* 179173 */ GIR_RootConstrainSelectedInstOperands,
63367 /* 179174 */ // GIR_Coverage, 1844,
63368 /* 179174 */ GIR_Done,
63369 /* 179175 */ // Label 3978: @179175
63370 /* 179175 */ GIM_Try, /*On fail goto*//*Label 3979*/ GIMT_Encode4(179205), // Rule ID 1852 //
63371 /* 179180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
63372 /* 179183 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63373 /* 179186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63374 /* 179190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63375 /* 179194 */ // (sint_to_fp:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src) => (CVTDQ2PSrr:{ *:[v4f32] } VR128:{ *:[v4i32] }:$src)
63376 /* 179194 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::CVTDQ2PSrr),
63377 /* 179199 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63378 /* 179203 */ GIR_RootConstrainSelectedInstOperands,
63379 /* 179204 */ // GIR_Coverage, 1852,
63380 /* 179204 */ GIR_Done,
63381 /* 179205 */ // Label 3979: @179205
63382 /* 179205 */ GIM_Try, /*On fail goto*//*Label 3980*/ GIMT_Encode4(179235), // Rule ID 10731 //
63383 /* 179210 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63384 /* 179213 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63385 /* 179216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63386 /* 179220 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63387 /* 179224 */ // (sint_to_fp:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src) => (VCVTDQ2PSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src)
63388 /* 179224 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ128rr),
63389 /* 179229 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63390 /* 179233 */ GIR_RootConstrainSelectedInstOperands,
63391 /* 179234 */ // GIR_Coverage, 10731,
63392 /* 179234 */ GIR_Done,
63393 /* 179235 */ // Label 3980: @179235
63394 /* 179235 */ GIM_Try, /*On fail goto*//*Label 3981*/ GIMT_Encode4(179265), // Rule ID 11487 //
63395 /* 179240 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63396 /* 179243 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
63397 /* 179246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63398 /* 179250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63399 /* 179254 */ // (sint_to_fp:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src) => (VCVTQQ2PSZ256rr:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src)
63400 /* 179254 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZ256rr),
63401 /* 179259 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63402 /* 179263 */ GIR_RootConstrainSelectedInstOperands,
63403 /* 179264 */ // GIR_Coverage, 11487,
63404 /* 179264 */ GIR_Done,
63405 /* 179265 */ // Label 3981: @179265
63406 /* 179265 */ GIM_Reject,
63407 /* 179266 */ // Label 3928: @179266
63408 /* 179266 */ GIM_Try, /*On fail goto*//*Label 3982*/ GIMT_Encode4(179325), // Rule ID 1850 //
63409 /* 179271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
63410 /* 179274 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63411 /* 179277 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63412 /* 179281 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63413 /* 179285 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63414 /* 179289 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63415 /* 179292 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63416 /* 179296 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63417 /* 179300 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63418 /* 179302 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63419 /* 179309 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSYrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
63420 /* 179309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSYrm),
63421 /* 179312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63422 /* 179314 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63423 /* 179318 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63424 /* 179323 */ GIR_RootConstrainSelectedInstOperands,
63425 /* 179324 */ // GIR_Coverage, 1850,
63426 /* 179324 */ GIR_EraseRootFromParent_Done,
63427 /* 179325 */ // Label 3982: @179325
63428 /* 179325 */ GIM_Try, /*On fail goto*//*Label 3983*/ GIMT_Encode4(179384), // Rule ID 10747 //
63429 /* 179330 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63430 /* 179333 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63431 /* 179336 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63432 /* 179340 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63433 /* 179344 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63434 /* 179348 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63435 /* 179351 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63436 /* 179355 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63437 /* 179359 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63438 /* 179361 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63439 /* 179368 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
63440 /* 179368 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ256rm),
63441 /* 179371 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63442 /* 179373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63443 /* 179377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63444 /* 179382 */ GIR_RootConstrainSelectedInstOperands,
63445 /* 179383 */ // GIR_Coverage, 10747,
63446 /* 179383 */ GIR_EraseRootFromParent_Done,
63447 /* 179384 */ // Label 3983: @179384
63448 /* 179384 */ GIM_Try, /*On fail goto*//*Label 3984*/ GIMT_Encode4(179443), // Rule ID 11476 //
63449 /* 179389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
63450 /* 179392 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63451 /* 179395 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63452 /* 179399 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63453 /* 179403 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63454 /* 179407 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63455 /* 179410 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63456 /* 179414 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63457 /* 179418 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63458 /* 179420 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63459 /* 179427 */ // (sint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PSZrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
63460 /* 179427 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZrm),
63461 /* 179430 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63462 /* 179432 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63463 /* 179436 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63464 /* 179441 */ GIR_RootConstrainSelectedInstOperands,
63465 /* 179442 */ // GIR_Coverage, 11476,
63466 /* 179442 */ GIR_EraseRootFromParent_Done,
63467 /* 179443 */ // Label 3984: @179443
63468 /* 179443 */ GIM_Try, /*On fail goto*//*Label 3985*/ GIMT_Encode4(179473), // Rule ID 1848 //
63469 /* 179448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
63470 /* 179451 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63471 /* 179454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63472 /* 179458 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63473 /* 179462 */ // (sint_to_fp:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src) => (VCVTDQ2PSYrr:{ *:[v8f32] } VR256:{ *:[v8i32] }:$src)
63474 /* 179462 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSYrr),
63475 /* 179467 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63476 /* 179471 */ GIR_RootConstrainSelectedInstOperands,
63477 /* 179472 */ // GIR_Coverage, 1848,
63478 /* 179472 */ GIR_Done,
63479 /* 179473 */ // Label 3985: @179473
63480 /* 179473 */ GIM_Try, /*On fail goto*//*Label 3986*/ GIMT_Encode4(179503), // Rule ID 10743 //
63481 /* 179478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63482 /* 179481 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63483 /* 179484 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63484 /* 179488 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63485 /* 179492 */ // (sint_to_fp:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src)
63486 /* 179492 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZ256rr),
63487 /* 179497 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63488 /* 179501 */ GIR_RootConstrainSelectedInstOperands,
63489 /* 179502 */ // GIR_Coverage, 10743,
63490 /* 179502 */ GIR_Done,
63491 /* 179503 */ // Label 3986: @179503
63492 /* 179503 */ GIM_Try, /*On fail goto*//*Label 3987*/ GIMT_Encode4(179533), // Rule ID 11472 //
63493 /* 179508 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
63494 /* 179511 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63495 /* 179514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63496 /* 179518 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63497 /* 179522 */ // (sint_to_fp:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PSZrr:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src)
63498 /* 179522 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PSZrr),
63499 /* 179527 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63500 /* 179531 */ GIR_RootConstrainSelectedInstOperands,
63501 /* 179532 */ // GIR_Coverage, 11472,
63502 /* 179532 */ GIR_Done,
63503 /* 179533 */ // Label 3987: @179533
63504 /* 179533 */ GIM_Reject,
63505 /* 179534 */ // Label 3929: @179534
63506 /* 179534 */ GIM_Try, /*On fail goto*//*Label 3988*/ GIMT_Encode4(179622),
63507 /* 179539 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
63508 /* 179542 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63509 /* 179546 */ GIM_Try, /*On fail goto*//*Label 3989*/ GIMT_Encode4(179598), // Rule ID 10720 //
63510 /* 179551 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63511 /* 179554 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63512 /* 179558 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63513 /* 179562 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63514 /* 179565 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63515 /* 179569 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63516 /* 179573 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63517 /* 179575 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63518 /* 179582 */ // (sint_to_fp:{ *:[v16f32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
63519 /* 179582 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZrm),
63520 /* 179585 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63521 /* 179587 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63522 /* 179591 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63523 /* 179596 */ GIR_RootConstrainSelectedInstOperands,
63524 /* 179597 */ // GIR_Coverage, 10720,
63525 /* 179597 */ GIR_EraseRootFromParent_Done,
63526 /* 179598 */ // Label 3989: @179598
63527 /* 179598 */ GIM_Try, /*On fail goto*//*Label 3990*/ GIMT_Encode4(179621), // Rule ID 10716 //
63528 /* 179603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63529 /* 179606 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63530 /* 179610 */ // (sint_to_fp:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src) => (VCVTDQ2PSZrr:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src)
63531 /* 179610 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PSZrr),
63532 /* 179615 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63533 /* 179619 */ GIR_RootConstrainSelectedInstOperands,
63534 /* 179620 */ // GIR_Coverage, 10716,
63535 /* 179620 */ GIR_Done,
63536 /* 179621 */ // Label 3990: @179621
63537 /* 179621 */ GIM_Reject,
63538 /* 179622 */ // Label 3988: @179622
63539 /* 179622 */ GIM_Reject,
63540 /* 179623 */ // Label 3930: @179623
63541 /* 179623 */ GIM_Try, /*On fail goto*//*Label 3991*/ GIMT_Encode4(179711),
63542 /* 179628 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
63543 /* 179631 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63544 /* 179635 */ GIM_Try, /*On fail goto*//*Label 3992*/ GIMT_Encode4(179687), // Rule ID 11359 //
63545 /* 179640 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63546 /* 179643 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63547 /* 179647 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63548 /* 179651 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63549 /* 179654 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63550 /* 179658 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63551 /* 179662 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63552 /* 179664 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63553 /* 179671 */ // (sint_to_fp:{ *:[v2f64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
63554 /* 179671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ128rm),
63555 /* 179674 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63556 /* 179676 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63557 /* 179680 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63558 /* 179685 */ GIR_RootConstrainSelectedInstOperands,
63559 /* 179686 */ // GIR_Coverage, 11359,
63560 /* 179686 */ GIR_EraseRootFromParent_Done,
63561 /* 179687 */ // Label 3992: @179687
63562 /* 179687 */ GIM_Try, /*On fail goto*//*Label 3993*/ GIMT_Encode4(179710), // Rule ID 11355 //
63563 /* 179692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63564 /* 179695 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63565 /* 179699 */ // (sint_to_fp:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src) => (VCVTQQ2PDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src)
63566 /* 179699 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ128rr),
63567 /* 179704 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63568 /* 179708 */ GIR_RootConstrainSelectedInstOperands,
63569 /* 179709 */ // GIR_Coverage, 11355,
63570 /* 179709 */ GIR_Done,
63571 /* 179710 */ // Label 3993: @179710
63572 /* 179710 */ GIM_Reject,
63573 /* 179711 */ // Label 3991: @179711
63574 /* 179711 */ GIM_Reject,
63575 /* 179712 */ // Label 3931: @179712
63576 /* 179712 */ GIM_Try, /*On fail goto*//*Label 3994*/ GIMT_Encode4(179771), // Rule ID 1921 //
63577 /* 179717 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
63578 /* 179720 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63579 /* 179723 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63580 /* 179727 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63581 /* 179731 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63582 /* 179735 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63583 /* 179738 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63584 /* 179742 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63585 /* 179746 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63586 /* 179748 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63587 /* 179755 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDYrm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
63588 /* 179755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDYrm),
63589 /* 179758 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63590 /* 179760 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63591 /* 179764 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63592 /* 179769 */ GIR_RootConstrainSelectedInstOperands,
63593 /* 179770 */ // GIR_Coverage, 1921,
63594 /* 179770 */ GIR_EraseRootFromParent_Done,
63595 /* 179771 */ // Label 3994: @179771
63596 /* 179771 */ GIM_Try, /*On fail goto*//*Label 3995*/ GIMT_Encode4(179830), // Rule ID 10708 //
63597 /* 179776 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63598 /* 179779 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63599 /* 179782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63600 /* 179786 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63601 /* 179790 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63602 /* 179794 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63603 /* 179797 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63604 /* 179801 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63605 /* 179805 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63606 /* 179807 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63607 /* 179814 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
63608 /* 179814 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZ256rm),
63609 /* 179817 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63610 /* 179819 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63611 /* 179823 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63612 /* 179828 */ GIR_RootConstrainSelectedInstOperands,
63613 /* 179829 */ // GIR_Coverage, 10708,
63614 /* 179829 */ GIR_EraseRootFromParent_Done,
63615 /* 179830 */ // Label 3995: @179830
63616 /* 179830 */ GIM_Try, /*On fail goto*//*Label 3996*/ GIMT_Encode4(179889), // Rule ID 11371 //
63617 /* 179835 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63618 /* 179838 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
63619 /* 179841 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63620 /* 179845 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63621 /* 179849 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63622 /* 179853 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63623 /* 179856 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63624 /* 179860 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63625 /* 179864 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63626 /* 179866 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63627 /* 179873 */ // (sint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
63628 /* 179873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ256rm),
63629 /* 179876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63630 /* 179878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63631 /* 179882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63632 /* 179887 */ GIR_RootConstrainSelectedInstOperands,
63633 /* 179888 */ // GIR_Coverage, 11371,
63634 /* 179888 */ GIR_EraseRootFromParent_Done,
63635 /* 179889 */ // Label 3996: @179889
63636 /* 179889 */ GIM_Try, /*On fail goto*//*Label 3997*/ GIMT_Encode4(179915), // Rule ID 1923 //
63637 /* 179894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
63638 /* 179897 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63639 /* 179900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
63640 /* 179904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
63641 /* 179908 */ // (sint_to_fp:{ *:[v4f64] } VR128:{ *:[v4i32] }:$src) => (VCVTDQ2PDYrr:{ *:[v4f64] } VR128:{ *:[v4i32] }:$src)
63642 /* 179908 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDYrr),
63643 /* 179913 */ GIR_RootConstrainSelectedInstOperands,
63644 /* 179914 */ // GIR_Coverage, 1923,
63645 /* 179914 */ GIR_Done,
63646 /* 179915 */ // Label 3997: @179915
63647 /* 179915 */ GIM_Try, /*On fail goto*//*Label 3998*/ GIMT_Encode4(179941), // Rule ID 10704 //
63648 /* 179920 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
63649 /* 179923 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
63650 /* 179926 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63651 /* 179930 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
63652 /* 179934 */ // (sint_to_fp:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src) => (VCVTDQ2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src)
63653 /* 179934 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZ256rr),
63654 /* 179939 */ GIR_RootConstrainSelectedInstOperands,
63655 /* 179940 */ // GIR_Coverage, 10704,
63656 /* 179940 */ GIR_Done,
63657 /* 179941 */ // Label 3998: @179941
63658 /* 179941 */ GIM_Try, /*On fail goto*//*Label 3999*/ GIMT_Encode4(179971), // Rule ID 11367 //
63659 /* 179946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
63660 /* 179949 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
63661 /* 179952 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63662 /* 179956 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63663 /* 179960 */ // (sint_to_fp:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src) => (VCVTQQ2PDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src)
63664 /* 179960 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZ256rr),
63665 /* 179965 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63666 /* 179969 */ GIR_RootConstrainSelectedInstOperands,
63667 /* 179970 */ // GIR_Coverage, 11367,
63668 /* 179970 */ GIR_Done,
63669 /* 179971 */ // Label 3999: @179971
63670 /* 179971 */ GIM_Reject,
63671 /* 179972 */ // Label 3932: @179972
63672 /* 179972 */ GIM_Try, /*On fail goto*//*Label 4000*/ GIMT_Encode4(180031), // Rule ID 10684 //
63673 /* 179977 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63674 /* 179980 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63675 /* 179983 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63676 /* 179987 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63677 /* 179991 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63678 /* 179995 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63679 /* 179998 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63680 /* 180002 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63681 /* 180006 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63682 /* 180008 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63683 /* 180015 */ // (sint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTDQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
63684 /* 180015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZrm),
63685 /* 180018 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63686 /* 180020 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63687 /* 180024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63688 /* 180029 */ GIR_RootConstrainSelectedInstOperands,
63689 /* 180030 */ // GIR_Coverage, 10684,
63690 /* 180030 */ GIR_EraseRootFromParent_Done,
63691 /* 180031 */ // Label 4000: @180031
63692 /* 180031 */ GIM_Try, /*On fail goto*//*Label 4001*/ GIMT_Encode4(180090), // Rule ID 11344 //
63693 /* 180036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
63694 /* 180039 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63695 /* 180042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63696 /* 180046 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63697 /* 180050 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63698 /* 180054 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63699 /* 180057 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63700 /* 180061 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63701 /* 180065 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63702 /* 180067 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63703 /* 180074 */ // (sint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTQQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
63704 /* 180074 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZrm),
63705 /* 180077 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63706 /* 180079 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63707 /* 180083 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63708 /* 180088 */ GIR_RootConstrainSelectedInstOperands,
63709 /* 180089 */ // GIR_Coverage, 11344,
63710 /* 180089 */ GIR_EraseRootFromParent_Done,
63711 /* 180090 */ // Label 4001: @180090
63712 /* 180090 */ GIM_Try, /*On fail goto*//*Label 4002*/ GIMT_Encode4(180116), // Rule ID 10680 //
63713 /* 180095 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63714 /* 180098 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
63715 /* 180101 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63716 /* 180105 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
63717 /* 180109 */ // (sint_to_fp:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src) => (VCVTDQ2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src)
63718 /* 180109 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTDQ2PDZrr),
63719 /* 180114 */ GIR_RootConstrainSelectedInstOperands,
63720 /* 180115 */ // GIR_Coverage, 10680,
63721 /* 180115 */ GIR_Done,
63722 /* 180116 */ // Label 4002: @180116
63723 /* 180116 */ GIM_Try, /*On fail goto*//*Label 4003*/ GIMT_Encode4(180146), // Rule ID 11340 //
63724 /* 180121 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
63725 /* 180124 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
63726 /* 180127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63727 /* 180131 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
63728 /* 180135 */ // (sint_to_fp:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src) => (VCVTQQ2PDZrr:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src)
63729 /* 180135 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTQQ2PDZrr),
63730 /* 180140 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
63731 /* 180144 */ GIR_RootConstrainSelectedInstOperands,
63732 /* 180145 */ // GIR_Coverage, 11340,
63733 /* 180145 */ GIR_Done,
63734 /* 180146 */ // Label 4003: @180146
63735 /* 180146 */ GIM_Reject,
63736 /* 180147 */ // Label 3933: @180147
63737 /* 180147 */ GIM_Reject,
63738 /* 180148 */ // Label 53: @180148
63739 /* 180148 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4016*/ GIMT_Encode4(182402),
63740 /* 180159 */ /*GILLT_s16*//*Label 4004*/ GIMT_Encode4(180251),
63741 /* 180163 */ /*GILLT_s32*//*Label 4005*/ GIMT_Encode4(180494),
63742 /* 180167 */ /*GILLT_s64*//*Label 4006*/ GIMT_Encode4(180737), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
63743 /* 180215 */ /*GILLT_v8s16*//*Label 4007*/ GIMT_Encode4(180980),
63744 /* 180219 */ /*GILLT_v16s16*//*Label 4008*/ GIMT_Encode4(181248),
63745 /* 180223 */ /*GILLT_v32s16*//*Label 4009*/ GIMT_Encode4(181427),
63746 /* 180227 */ /*GILLT_v4s32*//*Label 4010*/ GIMT_Encode4(181516),
63747 /* 180231 */ /*GILLT_v8s32*//*Label 4011*/ GIMT_Encode4(181695),
63748 /* 180235 */ /*GILLT_v16s32*//*Label 4012*/ GIMT_Encode4(181874),
63749 /* 180239 */ /*GILLT_v2s64*//*Label 4013*/ GIMT_Encode4(181963),
63750 /* 180243 */ /*GILLT_v4s64*//*Label 4014*/ GIMT_Encode4(182052),
63751 /* 180247 */ /*GILLT_v8s64*//*Label 4015*/ GIMT_Encode4(182227),
63752 /* 180251 */ // Label 4004: @180251
63753 /* 180251 */ GIM_Try, /*On fail goto*//*Label 4017*/ GIMT_Encode4(180327), // Rule ID 22224 //
63754 /* 180256 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63755 /* 180259 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63756 /* 180262 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63757 /* 180266 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63758 /* 180270 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63759 /* 180274 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63760 /* 180277 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63761 /* 180281 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63762 /* 180285 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63763 /* 180287 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63764 /* 180294 */ // (uint_to_fp:{ *:[f16] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
63765 /* 180294 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
63766 /* 180297 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63767 /* 180301 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63768 /* 180306 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63769 /* 180308 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SHZrm),
63770 /* 180311 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63771 /* 180313 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63772 /* 180316 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63773 /* 180320 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63774 /* 180325 */ GIR_RootConstrainSelectedInstOperands,
63775 /* 180326 */ // GIR_Coverage, 22224,
63776 /* 180326 */ GIR_EraseRootFromParent_Done,
63777 /* 180327 */ // Label 4017: @180327
63778 /* 180327 */ GIM_Try, /*On fail goto*//*Label 4018*/ GIMT_Encode4(180403), // Rule ID 22222 //
63779 /* 180332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63780 /* 180335 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63781 /* 180338 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63782 /* 180342 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63783 /* 180346 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63784 /* 180350 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63785 /* 180353 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63786 /* 180357 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
63787 /* 180361 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63788 /* 180363 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63789 /* 180370 */ // (uint_to_fp:{ *:[f16] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SHZrm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
63790 /* 180370 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
63791 /* 180373 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63792 /* 180377 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63793 /* 180382 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63794 /* 180384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SHZrm),
63795 /* 180387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63796 /* 180389 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63797 /* 180392 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63798 /* 180396 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63799 /* 180401 */ GIR_RootConstrainSelectedInstOperands,
63800 /* 180402 */ // GIR_Coverage, 22222,
63801 /* 180402 */ GIR_EraseRootFromParent_Done,
63802 /* 180403 */ // Label 4018: @180403
63803 /* 180403 */ GIM_Try, /*On fail goto*//*Label 4019*/ GIMT_Encode4(180448), // Rule ID 22226 //
63804 /* 180408 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63805 /* 180411 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63806 /* 180414 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63807 /* 180418 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63808 /* 180422 */ // (uint_to_fp:{ *:[f16] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR32:{ *:[i32] }:$src)
63809 /* 180422 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
63810 /* 180425 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63811 /* 180429 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63812 /* 180434 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63813 /* 180436 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SHZrr),
63814 /* 180439 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63815 /* 180441 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63816 /* 180444 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63817 /* 180446 */ GIR_RootConstrainSelectedInstOperands,
63818 /* 180447 */ // GIR_Coverage, 22226,
63819 /* 180447 */ GIR_EraseRootFromParent_Done,
63820 /* 180448 */ // Label 4019: @180448
63821 /* 180448 */ GIM_Try, /*On fail goto*//*Label 4020*/ GIMT_Encode4(180493), // Rule ID 22228 //
63822 /* 180453 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
63823 /* 180456 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63824 /* 180459 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
63825 /* 180463 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63826 /* 180467 */ // (uint_to_fp:{ *:[f16] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SHZrr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), GR64:{ *:[i64] }:$src)
63827 /* 180467 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
63828 /* 180470 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63829 /* 180474 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63830 /* 180479 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63831 /* 180481 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SHZrr),
63832 /* 180484 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63833 /* 180486 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63834 /* 180489 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63835 /* 180491 */ GIR_RootConstrainSelectedInstOperands,
63836 /* 180492 */ // GIR_Coverage, 22228,
63837 /* 180492 */ GIR_EraseRootFromParent_Done,
63838 /* 180493 */ // Label 4020: @180493
63839 /* 180493 */ GIM_Reject,
63840 /* 180494 */ // Label 4005: @180494
63841 /* 180494 */ GIM_Try, /*On fail goto*//*Label 4021*/ GIMT_Encode4(180570), // Rule ID 21133 //
63842 /* 180499 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63843 /* 180502 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63844 /* 180505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63845 /* 180509 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63846 /* 180513 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63847 /* 180517 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63848 /* 180520 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63849 /* 180524 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63850 /* 180528 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63851 /* 180530 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63852 /* 180537 */ // (uint_to_fp:{ *:[f32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
63853 /* 180537 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63854 /* 180540 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63855 /* 180544 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63856 /* 180549 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63857 /* 180551 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SSZrm),
63858 /* 180554 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63859 /* 180556 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63860 /* 180559 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63861 /* 180563 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63862 /* 180568 */ GIR_RootConstrainSelectedInstOperands,
63863 /* 180569 */ // GIR_Coverage, 21133,
63864 /* 180569 */ GIR_EraseRootFromParent_Done,
63865 /* 180570 */ // Label 4021: @180570
63866 /* 180570 */ GIM_Try, /*On fail goto*//*Label 4022*/ GIMT_Encode4(180646), // Rule ID 21131 //
63867 /* 180575 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63868 /* 180578 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63869 /* 180581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63870 /* 180585 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63871 /* 180589 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63872 /* 180593 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63873 /* 180596 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63874 /* 180600 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
63875 /* 180604 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63876 /* 180606 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63877 /* 180613 */ // (uint_to_fp:{ *:[f32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SSZrm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
63878 /* 180613 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63879 /* 180616 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63880 /* 180620 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63881 /* 180625 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63882 /* 180627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SSZrm),
63883 /* 180630 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63884 /* 180632 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63885 /* 180635 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63886 /* 180639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63887 /* 180644 */ GIR_RootConstrainSelectedInstOperands,
63888 /* 180645 */ // GIR_Coverage, 21131,
63889 /* 180645 */ GIR_EraseRootFromParent_Done,
63890 /* 180646 */ // Label 4022: @180646
63891 /* 180646 */ GIM_Try, /*On fail goto*//*Label 4023*/ GIMT_Encode4(180691), // Rule ID 21139 //
63892 /* 180651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63893 /* 180654 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63894 /* 180657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63895 /* 180661 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63896 /* 180665 */ // (uint_to_fp:{ *:[f32] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR32:{ *:[i32] }:$src)
63897 /* 180665 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63898 /* 180668 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63899 /* 180672 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63900 /* 180677 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63901 /* 180679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SSZrr),
63902 /* 180682 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63903 /* 180684 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63904 /* 180687 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63905 /* 180689 */ GIR_RootConstrainSelectedInstOperands,
63906 /* 180690 */ // GIR_Coverage, 21139,
63907 /* 180690 */ GIR_EraseRootFromParent_Done,
63908 /* 180691 */ // Label 4023: @180691
63909 /* 180691 */ GIM_Try, /*On fail goto*//*Label 4024*/ GIMT_Encode4(180736), // Rule ID 21141 //
63910 /* 180696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63911 /* 180699 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63912 /* 180702 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
63913 /* 180706 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
63914 /* 180710 */ // (uint_to_fp:{ *:[f32] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SSZrr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), GR64:{ *:[i64] }:$src)
63915 /* 180710 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
63916 /* 180713 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63917 /* 180717 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63918 /* 180722 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63919 /* 180724 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SSZrr),
63920 /* 180727 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63921 /* 180729 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63922 /* 180732 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63923 /* 180734 */ GIR_RootConstrainSelectedInstOperands,
63924 /* 180735 */ // GIR_Coverage, 21141,
63925 /* 180735 */ GIR_EraseRootFromParent_Done,
63926 /* 180736 */ // Label 4024: @180736
63927 /* 180736 */ GIM_Reject,
63928 /* 180737 */ // Label 4006: @180737
63929 /* 180737 */ GIM_Try, /*On fail goto*//*Label 4025*/ GIMT_Encode4(180813), // Rule ID 21137 //
63930 /* 180742 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63931 /* 180745 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
63932 /* 180748 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63933 /* 180752 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63934 /* 180756 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63935 /* 180760 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63936 /* 180763 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
63937 /* 180767 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63938 /* 180771 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63939 /* 180773 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63940 /* 180780 */ // (uint_to_fp:{ *:[f64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUSI642SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
63941 /* 180780 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63942 /* 180783 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63943 /* 180787 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63944 /* 180792 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63945 /* 180794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SDZrm),
63946 /* 180797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63947 /* 180799 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63948 /* 180802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63949 /* 180806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63950 /* 180811 */ GIR_RootConstrainSelectedInstOperands,
63951 /* 180812 */ // GIR_Coverage, 21137,
63952 /* 180812 */ GIR_EraseRootFromParent_Done,
63953 /* 180813 */ // Label 4025: @180813
63954 /* 180813 */ GIM_Try, /*On fail goto*//*Label 4026*/ GIMT_Encode4(180889), // Rule ID 21135 //
63955 /* 180818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63956 /* 180821 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63957 /* 180824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63958 /* 180828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
63959 /* 180832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
63960 /* 180836 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
63961 /* 180839 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
63962 /* 180843 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
63963 /* 180847 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
63964 /* 180849 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
63965 /* 180856 */ // (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (VCVTUSI2SDZrm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
63966 /* 180856 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63967 /* 180859 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63968 /* 180863 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63969 /* 180868 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63970 /* 180870 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SDZrm),
63971 /* 180873 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63972 /* 180875 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63973 /* 180878 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
63974 /* 180882 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
63975 /* 180887 */ GIR_RootConstrainSelectedInstOperands,
63976 /* 180888 */ // GIR_Coverage, 21135,
63977 /* 180888 */ GIR_EraseRootFromParent_Done,
63978 /* 180889 */ // Label 4026: @180889
63979 /* 180889 */ GIM_Try, /*On fail goto*//*Label 4027*/ GIMT_Encode4(180934), // Rule ID 21143 //
63980 /* 180894 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63981 /* 180897 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
63982 /* 180900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
63983 /* 180904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
63984 /* 180908 */ // (uint_to_fp:{ *:[f64] } GR32:{ *:[i32] }:$src) => (VCVTUSI2SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR32:{ *:[i32] }:$src)
63985 /* 180908 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
63986 /* 180911 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
63987 /* 180915 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
63988 /* 180920 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
63989 /* 180922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI2SDZrr),
63990 /* 180925 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
63991 /* 180927 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
63992 /* 180930 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
63993 /* 180932 */ GIR_RootConstrainSelectedInstOperands,
63994 /* 180933 */ // GIR_Coverage, 21143,
63995 /* 180933 */ GIR_EraseRootFromParent_Done,
63996 /* 180934 */ // Label 4027: @180934
63997 /* 180934 */ GIM_Try, /*On fail goto*//*Label 4028*/ GIMT_Encode4(180979), // Rule ID 21145 //
63998 /* 180939 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
63999 /* 180942 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
64000 /* 180945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
64001 /* 180949 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
64002 /* 180953 */ // (uint_to_fp:{ *:[f64] } GR64:{ *:[i64] }:$src) => (VCVTUSI642SDZrr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), GR64:{ *:[i64] }:$src)
64003 /* 180953 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
64004 /* 180956 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
64005 /* 180960 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
64006 /* 180965 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
64007 /* 180967 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUSI642SDZrr),
64008 /* 180970 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64009 /* 180972 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
64010 /* 180975 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
64011 /* 180977 */ GIR_RootConstrainSelectedInstOperands,
64012 /* 180978 */ // GIR_Coverage, 21145,
64013 /* 180978 */ GIR_EraseRootFromParent_Done,
64014 /* 180979 */ // Label 4028: @180979
64015 /* 180979 */ GIM_Reject,
64016 /* 180980 */ // Label 4007: @180980
64017 /* 180980 */ GIM_Try, /*On fail goto*//*Label 4029*/ GIMT_Encode4(181039), // Rule ID 11464 //
64018 /* 180985 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64019 /* 180988 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64020 /* 180991 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64021 /* 180995 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64022 /* 180999 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64023 /* 181003 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64024 /* 181006 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64025 /* 181010 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64026 /* 181014 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64027 /* 181016 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64028 /* 181023 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PHZ256rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
64029 /* 181023 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZ256rm),
64030 /* 181026 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64031 /* 181028 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64032 /* 181032 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64033 /* 181037 */ GIR_RootConstrainSelectedInstOperands,
64034 /* 181038 */ // GIR_Coverage, 11464,
64035 /* 181038 */ GIR_EraseRootFromParent_Done,
64036 /* 181039 */ // Label 4029: @181039
64037 /* 181039 */ GIM_Try, /*On fail goto*//*Label 4030*/ GIMT_Encode4(181098), // Rule ID 14656 //
64038 /* 181044 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64039 /* 181047 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
64040 /* 181050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64041 /* 181054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64042 /* 181058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64043 /* 181062 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64044 /* 181065 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64045 /* 181069 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64046 /* 181073 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64047 /* 181075 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64048 /* 181082 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZ128rm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
64049 /* 181082 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ128rm),
64050 /* 181085 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64051 /* 181087 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64052 /* 181091 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64053 /* 181096 */ GIR_RootConstrainSelectedInstOperands,
64054 /* 181097 */ // GIR_Coverage, 14656,
64055 /* 181097 */ GIR_EraseRootFromParent_Done,
64056 /* 181098 */ // Label 4030: @181098
64057 /* 181098 */ GIM_Try, /*On fail goto*//*Label 4031*/ GIMT_Encode4(181157), // Rule ID 15118 //
64058 /* 181103 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64059 /* 181106 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64060 /* 181109 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64061 /* 181113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64062 /* 181117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64063 /* 181121 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64064 /* 181124 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64065 /* 181128 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64066 /* 181132 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64067 /* 181134 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64068 /* 181141 */ // (uint_to_fp:{ *:[v8f16] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PHZrm:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
64069 /* 181141 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PHZrm),
64070 /* 181144 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64071 /* 181146 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64072 /* 181150 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64073 /* 181155 */ GIR_RootConstrainSelectedInstOperands,
64074 /* 181156 */ // GIR_Coverage, 15118,
64075 /* 181156 */ GIR_EraseRootFromParent_Done,
64076 /* 181157 */ // Label 4031: @181157
64077 /* 181157 */ GIM_Try, /*On fail goto*//*Label 4032*/ GIMT_Encode4(181187), // Rule ID 11460 //
64078 /* 181162 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64079 /* 181165 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64080 /* 181168 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64081 /* 181172 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64082 /* 181176 */ // (uint_to_fp:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PHZ256rr:{ *:[v8f16] } VR256X:{ *:[v8i32] }:$src)
64083 /* 181176 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZ256rr),
64084 /* 181181 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64085 /* 181185 */ GIR_RootConstrainSelectedInstOperands,
64086 /* 181186 */ // GIR_Coverage, 11460,
64087 /* 181186 */ GIR_Done,
64088 /* 181187 */ // Label 4032: @181187
64089 /* 181187 */ GIM_Try, /*On fail goto*//*Label 4033*/ GIMT_Encode4(181217), // Rule ID 14652 //
64090 /* 181192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64091 /* 181195 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
64092 /* 181198 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64093 /* 181202 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64094 /* 181206 */ // (uint_to_fp:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src) => (VCVTUW2PHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8i16] }:$src)
64095 /* 181206 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ128rr),
64096 /* 181211 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64097 /* 181215 */ GIR_RootConstrainSelectedInstOperands,
64098 /* 181216 */ // GIR_Coverage, 14652,
64099 /* 181216 */ GIR_Done,
64100 /* 181217 */ // Label 4033: @181217
64101 /* 181217 */ GIM_Try, /*On fail goto*//*Label 4034*/ GIMT_Encode4(181247), // Rule ID 15114 //
64102 /* 181222 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64103 /* 181225 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64104 /* 181228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64105 /* 181232 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64106 /* 181236 */ // (uint_to_fp:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PHZrr:{ *:[v8f16] } VR512:{ *:[v8i64] }:$src)
64107 /* 181236 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PHZrr),
64108 /* 181241 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64109 /* 181245 */ GIR_RootConstrainSelectedInstOperands,
64110 /* 181246 */ // GIR_Coverage, 15114,
64111 /* 181246 */ GIR_Done,
64112 /* 181247 */ // Label 4034: @181247
64113 /* 181247 */ GIM_Reject,
64114 /* 181248 */ // Label 4008: @181248
64115 /* 181248 */ GIM_Try, /*On fail goto*//*Label 4035*/ GIMT_Encode4(181307), // Rule ID 11449 //
64116 /* 181253 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64117 /* 181256 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
64118 /* 181259 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64119 /* 181263 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64120 /* 181267 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64121 /* 181271 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64122 /* 181274 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64123 /* 181278 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64124 /* 181282 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64125 /* 181284 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64126 /* 181291 */ // (uint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PHZrm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
64127 /* 181291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZrm),
64128 /* 181294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64129 /* 181296 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64130 /* 181300 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64131 /* 181305 */ GIR_RootConstrainSelectedInstOperands,
64132 /* 181306 */ // GIR_Coverage, 11449,
64133 /* 181306 */ GIR_EraseRootFromParent_Done,
64134 /* 181307 */ // Label 4035: @181307
64135 /* 181307 */ GIM_Try, /*On fail goto*//*Label 4036*/ GIMT_Encode4(181366), // Rule ID 14668 //
64136 /* 181312 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64137 /* 181315 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
64138 /* 181318 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64139 /* 181322 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64140 /* 181326 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64141 /* 181330 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64142 /* 181333 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64143 /* 181337 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64144 /* 181341 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64145 /* 181343 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64146 /* 181350 */ // (uint_to_fp:{ *:[v16f16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZ256rm:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
64147 /* 181350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ256rm),
64148 /* 181353 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64149 /* 181355 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64150 /* 181359 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64151 /* 181364 */ GIR_RootConstrainSelectedInstOperands,
64152 /* 181365 */ // GIR_Coverage, 14668,
64153 /* 181365 */ GIR_EraseRootFromParent_Done,
64154 /* 181366 */ // Label 4036: @181366
64155 /* 181366 */ GIM_Try, /*On fail goto*//*Label 4037*/ GIMT_Encode4(181396), // Rule ID 11445 //
64156 /* 181371 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64157 /* 181374 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
64158 /* 181377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64159 /* 181381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64160 /* 181385 */ // (uint_to_fp:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src) => (VCVTUDQ2PHZrr:{ *:[v16f16] } VR512:{ *:[v16i32] }:$src)
64161 /* 181385 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PHZrr),
64162 /* 181390 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64163 /* 181394 */ GIR_RootConstrainSelectedInstOperands,
64164 /* 181395 */ // GIR_Coverage, 11445,
64165 /* 181395 */ GIR_Done,
64166 /* 181396 */ // Label 4037: @181396
64167 /* 181396 */ GIM_Try, /*On fail goto*//*Label 4038*/ GIMT_Encode4(181426), // Rule ID 14664 //
64168 /* 181401 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
64169 /* 181404 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
64170 /* 181407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64171 /* 181411 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64172 /* 181415 */ // (uint_to_fp:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src) => (VCVTUW2PHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16i16] }:$src)
64173 /* 181415 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZ256rr),
64174 /* 181420 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64175 /* 181424 */ GIR_RootConstrainSelectedInstOperands,
64176 /* 181425 */ // GIR_Coverage, 14664,
64177 /* 181425 */ GIR_Done,
64178 /* 181426 */ // Label 4038: @181426
64179 /* 181426 */ GIM_Reject,
64180 /* 181427 */ // Label 4009: @181427
64181 /* 181427 */ GIM_Try, /*On fail goto*//*Label 4039*/ GIMT_Encode4(181515),
64182 /* 181432 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
64183 /* 181435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64184 /* 181439 */ GIM_Try, /*On fail goto*//*Label 4040*/ GIMT_Encode4(181491), // Rule ID 14641 //
64185 /* 181444 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64186 /* 181447 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64187 /* 181451 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64188 /* 181455 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64189 /* 181458 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64190 /* 181462 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64191 /* 181466 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64192 /* 181468 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64193 /* 181475 */ // (uint_to_fp:{ *:[v32f16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUW2PHZrm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
64194 /* 181475 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZrm),
64195 /* 181478 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64196 /* 181480 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64197 /* 181484 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64198 /* 181489 */ GIR_RootConstrainSelectedInstOperands,
64199 /* 181490 */ // GIR_Coverage, 14641,
64200 /* 181490 */ GIR_EraseRootFromParent_Done,
64201 /* 181491 */ // Label 4040: @181491
64202 /* 181491 */ GIM_Try, /*On fail goto*//*Label 4041*/ GIMT_Encode4(181514), // Rule ID 14637 //
64203 /* 181496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
64204 /* 181499 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64205 /* 181503 */ // (uint_to_fp:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src) => (VCVTUW2PHZrr:{ *:[v32f16] } VR512:{ *:[v32i16] }:$src)
64206 /* 181503 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUW2PHZrr),
64207 /* 181508 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64208 /* 181512 */ GIR_RootConstrainSelectedInstOperands,
64209 /* 181513 */ // GIR_Coverage, 14637,
64210 /* 181513 */ GIR_Done,
64211 /* 181514 */ // Label 4041: @181514
64212 /* 181514 */ GIM_Reject,
64213 /* 181515 */ // Label 4039: @181515
64214 /* 181515 */ GIM_Reject,
64215 /* 181516 */ // Label 4010: @181516
64216 /* 181516 */ GIM_Try, /*On fail goto*//*Label 4042*/ GIMT_Encode4(181575), // Rule ID 10942 //
64217 /* 181521 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64218 /* 181524 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64219 /* 181527 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64220 /* 181531 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64221 /* 181535 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64222 /* 181539 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64223 /* 181542 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64224 /* 181546 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64225 /* 181550 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64226 /* 181552 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64227 /* 181559 */ // (uint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZ128rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
64228 /* 181559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ128rm),
64229 /* 181562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64230 /* 181564 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64231 /* 181568 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64232 /* 181573 */ GIR_RootConstrainSelectedInstOperands,
64233 /* 181574 */ // GIR_Coverage, 10942,
64234 /* 181574 */ GIR_EraseRootFromParent_Done,
64235 /* 181575 */ // Label 4042: @181575
64236 /* 181575 */ GIM_Try, /*On fail goto*//*Label 4043*/ GIMT_Encode4(181634), // Rule ID 11518 //
64237 /* 181580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64238 /* 181583 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
64239 /* 181586 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64240 /* 181590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64241 /* 181594 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64242 /* 181598 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64243 /* 181601 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64244 /* 181605 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64245 /* 181609 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64246 /* 181611 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64247 /* 181618 */ // (uint_to_fp:{ *:[v4f32] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PSZ256rm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
64248 /* 181618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZ256rm),
64249 /* 181621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64250 /* 181623 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64251 /* 181627 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64252 /* 181632 */ GIR_RootConstrainSelectedInstOperands,
64253 /* 181633 */ // GIR_Coverage, 11518,
64254 /* 181633 */ GIR_EraseRootFromParent_Done,
64255 /* 181634 */ // Label 4043: @181634
64256 /* 181634 */ GIM_Try, /*On fail goto*//*Label 4044*/ GIMT_Encode4(181664), // Rule ID 10938 //
64257 /* 181639 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64258 /* 181642 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64259 /* 181645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64260 /* 181649 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64261 /* 181653 */ // (uint_to_fp:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src) => (VCVTUDQ2PSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4i32] }:$src)
64262 /* 181653 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ128rr),
64263 /* 181658 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64264 /* 181662 */ GIR_RootConstrainSelectedInstOperands,
64265 /* 181663 */ // GIR_Coverage, 10938,
64266 /* 181663 */ GIR_Done,
64267 /* 181664 */ // Label 4044: @181664
64268 /* 181664 */ GIM_Try, /*On fail goto*//*Label 4045*/ GIMT_Encode4(181694), // Rule ID 11514 //
64269 /* 181669 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64270 /* 181672 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
64271 /* 181675 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64272 /* 181679 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64273 /* 181683 */ // (uint_to_fp:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src) => (VCVTUQQ2PSZ256rr:{ *:[v4f32] } VR256X:{ *:[v4i64] }:$src)
64274 /* 181683 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZ256rr),
64275 /* 181688 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64276 /* 181692 */ GIR_RootConstrainSelectedInstOperands,
64277 /* 181693 */ // GIR_Coverage, 11514,
64278 /* 181693 */ GIR_Done,
64279 /* 181694 */ // Label 4045: @181694
64280 /* 181694 */ GIM_Reject,
64281 /* 181695 */ // Label 4011: @181695
64282 /* 181695 */ GIM_Try, /*On fail goto*//*Label 4046*/ GIMT_Encode4(181754), // Rule ID 10954 //
64283 /* 181700 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64284 /* 181703 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64285 /* 181706 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64286 /* 181710 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64287 /* 181714 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64288 /* 181718 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64289 /* 181721 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64290 /* 181725 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64291 /* 181729 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64292 /* 181731 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64293 /* 181738 */ // (uint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZ256rm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
64294 /* 181738 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ256rm),
64295 /* 181741 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64296 /* 181743 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64297 /* 181747 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64298 /* 181752 */ GIR_RootConstrainSelectedInstOperands,
64299 /* 181753 */ // GIR_Coverage, 10954,
64300 /* 181753 */ GIR_EraseRootFromParent_Done,
64301 /* 181754 */ // Label 4046: @181754
64302 /* 181754 */ GIM_Try, /*On fail goto*//*Label 4047*/ GIMT_Encode4(181813), // Rule ID 11503 //
64303 /* 181759 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
64304 /* 181762 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64305 /* 181765 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64306 /* 181769 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64307 /* 181773 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64308 /* 181777 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64309 /* 181780 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64310 /* 181784 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64311 /* 181788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64312 /* 181790 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64313 /* 181797 */ // (uint_to_fp:{ *:[v8f32] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PSZrm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
64314 /* 181797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZrm),
64315 /* 181800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64316 /* 181802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64317 /* 181806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64318 /* 181811 */ GIR_RootConstrainSelectedInstOperands,
64319 /* 181812 */ // GIR_Coverage, 11503,
64320 /* 181812 */ GIR_EraseRootFromParent_Done,
64321 /* 181813 */ // Label 4047: @181813
64322 /* 181813 */ GIM_Try, /*On fail goto*//*Label 4048*/ GIMT_Encode4(181843), // Rule ID 10950 //
64323 /* 181818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64324 /* 181821 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64325 /* 181824 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64326 /* 181828 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64327 /* 181832 */ // (uint_to_fp:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8i32] }:$src)
64328 /* 181832 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZ256rr),
64329 /* 181837 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64330 /* 181841 */ GIR_RootConstrainSelectedInstOperands,
64331 /* 181842 */ // GIR_Coverage, 10950,
64332 /* 181842 */ GIR_Done,
64333 /* 181843 */ // Label 4048: @181843
64334 /* 181843 */ GIM_Try, /*On fail goto*//*Label 4049*/ GIMT_Encode4(181873), // Rule ID 11499 //
64335 /* 181848 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
64336 /* 181851 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64337 /* 181854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64338 /* 181858 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64339 /* 181862 */ // (uint_to_fp:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PSZrr:{ *:[v8f32] } VR512:{ *:[v8i64] }:$src)
64340 /* 181862 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PSZrr),
64341 /* 181867 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64342 /* 181871 */ GIR_RootConstrainSelectedInstOperands,
64343 /* 181872 */ // GIR_Coverage, 11499,
64344 /* 181872 */ GIR_Done,
64345 /* 181873 */ // Label 4049: @181873
64346 /* 181873 */ GIM_Reject,
64347 /* 181874 */ // Label 4012: @181874
64348 /* 181874 */ GIM_Try, /*On fail goto*//*Label 4050*/ GIMT_Encode4(181962),
64349 /* 181879 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
64350 /* 181882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64351 /* 181886 */ GIM_Try, /*On fail goto*//*Label 4051*/ GIMT_Encode4(181938), // Rule ID 10927 //
64352 /* 181891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64353 /* 181894 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64354 /* 181898 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64355 /* 181902 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64356 /* 181905 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64357 /* 181909 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64358 /* 181913 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64359 /* 181915 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64360 /* 181922 */ // (uint_to_fp:{ *:[v16f32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PSZrm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
64361 /* 181922 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZrm),
64362 /* 181925 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64363 /* 181927 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64364 /* 181931 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64365 /* 181936 */ GIR_RootConstrainSelectedInstOperands,
64366 /* 181937 */ // GIR_Coverage, 10927,
64367 /* 181937 */ GIR_EraseRootFromParent_Done,
64368 /* 181938 */ // Label 4051: @181938
64369 /* 181938 */ GIM_Try, /*On fail goto*//*Label 4052*/ GIMT_Encode4(181961), // Rule ID 10923 //
64370 /* 181943 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64371 /* 181946 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64372 /* 181950 */ // (uint_to_fp:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src) => (VCVTUDQ2PSZrr:{ *:[v16f32] } VR512:{ *:[v16i32] }:$src)
64373 /* 181950 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PSZrr),
64374 /* 181955 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64375 /* 181959 */ GIR_RootConstrainSelectedInstOperands,
64376 /* 181960 */ // GIR_Coverage, 10923,
64377 /* 181960 */ GIR_Done,
64378 /* 181961 */ // Label 4052: @181961
64379 /* 181961 */ GIM_Reject,
64380 /* 181962 */ // Label 4050: @181962
64381 /* 181962 */ GIM_Reject,
64382 /* 181963 */ // Label 4013: @181963
64383 /* 181963 */ GIM_Try, /*On fail goto*//*Label 4053*/ GIMT_Encode4(182051),
64384 /* 181968 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
64385 /* 181971 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64386 /* 181975 */ GIM_Try, /*On fail goto*//*Label 4054*/ GIMT_Encode4(182027), // Rule ID 11398 //
64387 /* 181980 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64388 /* 181983 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64389 /* 181987 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64390 /* 181991 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64391 /* 181994 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64392 /* 181998 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64393 /* 182002 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64394 /* 182004 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64395 /* 182011 */ // (uint_to_fp:{ *:[v2f64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZ128rm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
64396 /* 182011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ128rm),
64397 /* 182014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64398 /* 182016 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64399 /* 182020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64400 /* 182025 */ GIR_RootConstrainSelectedInstOperands,
64401 /* 182026 */ // GIR_Coverage, 11398,
64402 /* 182026 */ GIR_EraseRootFromParent_Done,
64403 /* 182027 */ // Label 4054: @182027
64404 /* 182027 */ GIM_Try, /*On fail goto*//*Label 4055*/ GIMT_Encode4(182050), // Rule ID 11394 //
64405 /* 182032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64406 /* 182035 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64407 /* 182039 */ // (uint_to_fp:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src) => (VCVTUQQ2PDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2i64] }:$src)
64408 /* 182039 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ128rr),
64409 /* 182044 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64410 /* 182048 */ GIR_RootConstrainSelectedInstOperands,
64411 /* 182049 */ // GIR_Coverage, 11394,
64412 /* 182049 */ GIR_Done,
64413 /* 182050 */ // Label 4055: @182050
64414 /* 182050 */ GIM_Reject,
64415 /* 182051 */ // Label 4053: @182051
64416 /* 182051 */ GIM_Reject,
64417 /* 182052 */ // Label 4014: @182052
64418 /* 182052 */ GIM_Try, /*On fail goto*//*Label 4056*/ GIMT_Encode4(182111), // Rule ID 10915 //
64419 /* 182057 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64420 /* 182060 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64421 /* 182063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64422 /* 182067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64423 /* 182071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64424 /* 182075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64425 /* 182078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64426 /* 182082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64427 /* 182086 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64428 /* 182088 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64429 /* 182095 */ // (uint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
64430 /* 182095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZ256rm),
64431 /* 182098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64432 /* 182100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64433 /* 182104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64434 /* 182109 */ GIR_RootConstrainSelectedInstOperands,
64435 /* 182110 */ // GIR_Coverage, 10915,
64436 /* 182110 */ GIR_EraseRootFromParent_Done,
64437 /* 182111 */ // Label 4056: @182111
64438 /* 182111 */ GIM_Try, /*On fail goto*//*Label 4057*/ GIMT_Encode4(182170), // Rule ID 11410 //
64439 /* 182116 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64440 /* 182119 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
64441 /* 182122 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64442 /* 182126 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64443 /* 182130 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64444 /* 182134 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64445 /* 182137 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64446 /* 182141 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64447 /* 182145 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64448 /* 182147 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64449 /* 182154 */ // (uint_to_fp:{ *:[v4f64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZ256rm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
64450 /* 182154 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ256rm),
64451 /* 182157 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64452 /* 182159 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64453 /* 182163 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64454 /* 182168 */ GIR_RootConstrainSelectedInstOperands,
64455 /* 182169 */ // GIR_Coverage, 11410,
64456 /* 182169 */ GIR_EraseRootFromParent_Done,
64457 /* 182170 */ // Label 4057: @182170
64458 /* 182170 */ GIM_Try, /*On fail goto*//*Label 4058*/ GIMT_Encode4(182196), // Rule ID 10911 //
64459 /* 182175 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
64460 /* 182178 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
64461 /* 182181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64462 /* 182185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64463 /* 182189 */ // (uint_to_fp:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src) => (VCVTUDQ2PDZ256rr:{ *:[v4f64] } VR128X:{ *:[v4i32] }:$src)
64464 /* 182189 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZ256rr),
64465 /* 182194 */ GIR_RootConstrainSelectedInstOperands,
64466 /* 182195 */ // GIR_Coverage, 10911,
64467 /* 182195 */ GIR_Done,
64468 /* 182196 */ // Label 4058: @182196
64469 /* 182196 */ GIM_Try, /*On fail goto*//*Label 4059*/ GIMT_Encode4(182226), // Rule ID 11406 //
64470 /* 182201 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI_HasVLX),
64471 /* 182204 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
64472 /* 182207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64473 /* 182211 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64474 /* 182215 */ // (uint_to_fp:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src) => (VCVTUQQ2PDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4i64] }:$src)
64475 /* 182215 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZ256rr),
64476 /* 182220 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64477 /* 182224 */ GIR_RootConstrainSelectedInstOperands,
64478 /* 182225 */ // GIR_Coverage, 11406,
64479 /* 182225 */ GIR_Done,
64480 /* 182226 */ // Label 4059: @182226
64481 /* 182226 */ GIM_Reject,
64482 /* 182227 */ // Label 4015: @182227
64483 /* 182227 */ GIM_Try, /*On fail goto*//*Label 4060*/ GIMT_Encode4(182286), // Rule ID 10891 //
64484 /* 182232 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64485 /* 182235 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64486 /* 182238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64487 /* 182242 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64488 /* 182246 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64489 /* 182250 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64490 /* 182253 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64491 /* 182257 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64492 /* 182261 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64493 /* 182263 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64494 /* 182270 */ // (uint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUDQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
64495 /* 182270 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZrm),
64496 /* 182273 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64497 /* 182275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64498 /* 182279 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64499 /* 182284 */ GIR_RootConstrainSelectedInstOperands,
64500 /* 182285 */ // GIR_Coverage, 10891,
64501 /* 182285 */ GIR_EraseRootFromParent_Done,
64502 /* 182286 */ // Label 4060: @182286
64503 /* 182286 */ GIM_Try, /*On fail goto*//*Label 4061*/ GIMT_Encode4(182345), // Rule ID 11383 //
64504 /* 182291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
64505 /* 182294 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64506 /* 182297 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64507 /* 182301 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64508 /* 182305 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64509 /* 182309 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64510 /* 182312 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64511 /* 182316 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64512 /* 182320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64513 /* 182322 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64514 /* 182329 */ // (uint_to_fp:{ *:[v8f64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VCVTUQQ2PDZrm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
64515 /* 182329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZrm),
64516 /* 182332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64517 /* 182334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
64518 /* 182338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64519 /* 182343 */ GIR_RootConstrainSelectedInstOperands,
64520 /* 182344 */ // GIR_Coverage, 11383,
64521 /* 182344 */ GIR_EraseRootFromParent_Done,
64522 /* 182345 */ // Label 4061: @182345
64523 /* 182345 */ GIM_Try, /*On fail goto*//*Label 4062*/ GIMT_Encode4(182371), // Rule ID 10887 //
64524 /* 182350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
64525 /* 182353 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
64526 /* 182356 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64527 /* 182360 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64528 /* 182364 */ // (uint_to_fp:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src) => (VCVTUDQ2PDZrr:{ *:[v8f64] } VR256X:{ *:[v8i32] }:$src)
64529 /* 182364 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUDQ2PDZrr),
64530 /* 182369 */ GIR_RootConstrainSelectedInstOperands,
64531 /* 182370 */ // GIR_Coverage, 10887,
64532 /* 182370 */ GIR_Done,
64533 /* 182371 */ // Label 4062: @182371
64534 /* 182371 */ GIM_Try, /*On fail goto*//*Label 4063*/ GIMT_Encode4(182401), // Rule ID 11379 //
64535 /* 182376 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasDQI),
64536 /* 182379 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
64537 /* 182382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64538 /* 182386 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64539 /* 182390 */ // (uint_to_fp:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src) => (VCVTUQQ2PDZrr:{ *:[v8f64] } VR512:{ *:[v8i64] }:$src)
64540 /* 182390 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VCVTUQQ2PDZrr),
64541 /* 182395 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
64542 /* 182399 */ GIR_RootConstrainSelectedInstOperands,
64543 /* 182400 */ // GIR_Coverage, 11379,
64544 /* 182400 */ GIR_Done,
64545 /* 182401 */ // Label 4063: @182401
64546 /* 182401 */ GIM_Reject,
64547 /* 182402 */ // Label 4016: @182402
64548 /* 182402 */ GIM_Reject,
64549 /* 182403 */ // Label 54: @182403
64550 /* 182403 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 4067*/ GIMT_Encode4(182525),
64551 /* 182414 */ /*GILLT_s32*//*Label 4064*/ GIMT_Encode4(182426),
64552 /* 182418 */ /*GILLT_s64*//*Label 4065*/ GIMT_Encode4(182459),
64553 /* 182422 */ /*GILLT_s80*//*Label 4066*/ GIMT_Encode4(182492),
64554 /* 182426 */ // Label 4064: @182426
64555 /* 182426 */ GIM_Try, /*On fail goto*//*Label 4068*/ GIMT_Encode4(182458), // Rule ID 1021 //
64556 /* 182431 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
64557 /* 182434 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
64558 /* 182437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
64559 /* 182441 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
64560 /* 182445 */ // (fabs:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (ABS_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
64561 /* 182445 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp32),
64562 /* 182450 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
64563 /* 182456 */ GIR_RootConstrainSelectedInstOperands,
64564 /* 182457 */ // GIR_Coverage, 1021,
64565 /* 182457 */ GIR_Done,
64566 /* 182458 */ // Label 4068: @182458
64567 /* 182458 */ GIM_Reject,
64568 /* 182459 */ // Label 4065: @182459
64569 /* 182459 */ GIM_Try, /*On fail goto*//*Label 4069*/ GIMT_Encode4(182491), // Rule ID 1022 //
64570 /* 182464 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
64571 /* 182467 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
64572 /* 182470 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
64573 /* 182474 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
64574 /* 182478 */ // (fabs:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (ABS_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
64575 /* 182478 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp64),
64576 /* 182483 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
64577 /* 182489 */ GIR_RootConstrainSelectedInstOperands,
64578 /* 182490 */ // GIR_Coverage, 1022,
64579 /* 182490 */ GIR_Done,
64580 /* 182491 */ // Label 4069: @182491
64581 /* 182491 */ GIM_Reject,
64582 /* 182492 */ // Label 4066: @182492
64583 /* 182492 */ GIM_Try, /*On fail goto*//*Label 4070*/ GIMT_Encode4(182524), // Rule ID 1023 //
64584 /* 182497 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
64585 /* 182500 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
64586 /* 182503 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
64587 /* 182507 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
64588 /* 182511 */ // (fabs:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (ABS_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
64589 /* 182511 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ABS_Fp80),
64590 /* 182516 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
64591 /* 182522 */ GIR_RootConstrainSelectedInstOperands,
64592 /* 182523 */ // GIR_Coverage, 1023,
64593 /* 182523 */ GIR_Done,
64594 /* 182524 */ // Label 4070: @182524
64595 /* 182524 */ GIM_Reject,
64596 /* 182525 */ // Label 4067: @182525
64597 /* 182525 */ GIM_Reject,
64598 /* 182526 */ // Label 55: @182526
64599 /* 182526 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 4083*/ GIMT_Encode4(185826),
64600 /* 182537 */ /*GILLT_v16s8*//*Label 4071*/ GIMT_Encode4(182585),
64601 /* 182541 */ /*GILLT_v32s8*//*Label 4072*/ GIMT_Encode4(182927),
64602 /* 182545 */ /*GILLT_v64s8*//*Label 4073*/ GIMT_Encode4(183242),
64603 /* 182549 */ /*GILLT_v8s16*//*Label 4074*/ GIMT_Encode4(183398),
64604 /* 182553 */ /*GILLT_v16s16*//*Label 4075*/ GIMT_Encode4(183740),
64605 /* 182557 */ /*GILLT_v32s16*//*Label 4076*/ GIMT_Encode4(184055),
64606 /* 182561 */ /*GILLT_v4s32*//*Label 4077*/ GIMT_Encode4(184211),
64607 /* 182565 */ /*GILLT_v8s32*//*Label 4078*/ GIMT_Encode4(184553),
64608 /* 182569 */ /*GILLT_v16s32*//*Label 4079*/ GIMT_Encode4(184868),
64609 /* 182573 */ /*GILLT_v2s64*//*Label 4080*/ GIMT_Encode4(185024),
64610 /* 182577 */ /*GILLT_v4s64*//*Label 4081*/ GIMT_Encode4(185353),
64611 /* 182581 */ /*GILLT_v8s64*//*Label 4082*/ GIMT_Encode4(185670),
64612 /* 182585 */ // Label 4071: @182585
64613 /* 182585 */ GIM_Try, /*On fail goto*//*Label 4084*/ GIMT_Encode4(182926),
64614 /* 182590 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
64615 /* 182593 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
64616 /* 182596 */ GIM_Try, /*On fail goto*//*Label 4085*/ GIMT_Encode4(182658), // Rule ID 23564 //
64617 /* 182601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
64618 /* 182604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64619 /* 182608 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64620 /* 182612 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64621 /* 182616 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64622 /* 182619 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64623 /* 182623 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64624 /* 182627 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64625 /* 182631 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64626 /* 182633 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64627 /* 182640 */ // (smin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMINSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64628 /* 182640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBrm),
64629 /* 182643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64630 /* 182645 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64631 /* 182647 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64632 /* 182651 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64633 /* 182656 */ GIR_RootConstrainSelectedInstOperands,
64634 /* 182657 */ // GIR_Coverage, 23564,
64635 /* 182657 */ GIR_EraseRootFromParent_Done,
64636 /* 182658 */ // Label 4085: @182658
64637 /* 182658 */ GIM_Try, /*On fail goto*//*Label 4086*/ GIMT_Encode4(182720), // Rule ID 24093 //
64638 /* 182663 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
64639 /* 182666 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64640 /* 182670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64641 /* 182674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64642 /* 182678 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64643 /* 182681 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64644 /* 182685 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64645 /* 182689 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64646 /* 182693 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64647 /* 182695 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64648 /* 182702 */ // (smin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMINSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64649 /* 182702 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rm),
64650 /* 182705 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64651 /* 182707 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64652 /* 182709 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64653 /* 182713 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64654 /* 182718 */ GIR_RootConstrainSelectedInstOperands,
64655 /* 182719 */ // GIR_Coverage, 24093,
64656 /* 182719 */ GIR_EraseRootFromParent_Done,
64657 /* 182720 */ // Label 4086: @182720
64658 /* 182720 */ GIM_Try, /*On fail goto*//*Label 4087*/ GIMT_Encode4(182782), // Rule ID 3172 //
64659 /* 182725 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
64660 /* 182728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64661 /* 182732 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64662 /* 182736 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64663 /* 182740 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64664 /* 182744 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64665 /* 182747 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64666 /* 182751 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64667 /* 182755 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64668 /* 182757 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64669 /* 182764 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64670 /* 182764 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBrm),
64671 /* 182767 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64672 /* 182769 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64673 /* 182771 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64674 /* 182775 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64675 /* 182780 */ GIR_RootConstrainSelectedInstOperands,
64676 /* 182781 */ // GIR_Coverage, 3172,
64677 /* 182781 */ GIR_EraseRootFromParent_Done,
64678 /* 182782 */ // Label 4087: @182782
64679 /* 182782 */ GIM_Try, /*On fail goto*//*Label 4088*/ GIMT_Encode4(182844), // Rule ID 5501 //
64680 /* 182787 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
64681 /* 182790 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64682 /* 182794 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64683 /* 182798 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64684 /* 182802 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64685 /* 182806 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64686 /* 182809 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64687 /* 182813 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64688 /* 182817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64689 /* 182819 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64690 /* 182826 */ // (smin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64691 /* 182826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rm),
64692 /* 182829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64693 /* 182831 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64694 /* 182833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64695 /* 182837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64696 /* 182842 */ GIR_RootConstrainSelectedInstOperands,
64697 /* 182843 */ // GIR_Coverage, 5501,
64698 /* 182843 */ GIR_EraseRootFromParent_Done,
64699 /* 182844 */ // Label 4088: @182844
64700 /* 182844 */ GIM_Try, /*On fail goto*//*Label 4089*/ GIMT_Encode4(182871), // Rule ID 3171 //
64701 /* 182849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
64702 /* 182852 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64703 /* 182856 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64704 /* 182860 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64705 /* 182864 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMINSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
64706 /* 182864 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBrr),
64707 /* 182869 */ GIR_RootConstrainSelectedInstOperands,
64708 /* 182870 */ // GIR_Coverage, 3171,
64709 /* 182870 */ GIR_Done,
64710 /* 182871 */ // Label 4089: @182871
64711 /* 182871 */ GIM_Try, /*On fail goto*//*Label 4090*/ GIMT_Encode4(182898), // Rule ID 3197 //
64712 /* 182876 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
64713 /* 182879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64714 /* 182883 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64715 /* 182887 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64716 /* 182891 */ // (smin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMINSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
64717 /* 182891 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSBrr),
64718 /* 182896 */ GIR_RootConstrainSelectedInstOperands,
64719 /* 182897 */ // GIR_Coverage, 3197,
64720 /* 182897 */ GIR_Done,
64721 /* 182898 */ // Label 4090: @182898
64722 /* 182898 */ GIM_Try, /*On fail goto*//*Label 4091*/ GIMT_Encode4(182925), // Rule ID 5498 //
64723 /* 182903 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
64724 /* 182906 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64725 /* 182910 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64726 /* 182914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64727 /* 182918 */ // (smin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMINSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
64728 /* 182918 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ128rr),
64729 /* 182923 */ GIR_RootConstrainSelectedInstOperands,
64730 /* 182924 */ // GIR_Coverage, 5498,
64731 /* 182924 */ GIR_Done,
64732 /* 182925 */ // Label 4091: @182925
64733 /* 182925 */ GIM_Reject,
64734 /* 182926 */ // Label 4084: @182926
64735 /* 182926 */ GIM_Reject,
64736 /* 182927 */ // Label 4072: @182927
64737 /* 182927 */ GIM_Try, /*On fail goto*//*Label 4092*/ GIMT_Encode4(183241),
64738 /* 182932 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
64739 /* 182935 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
64740 /* 182938 */ GIM_Try, /*On fail goto*//*Label 4093*/ GIMT_Encode4(183000), // Rule ID 23573 //
64741 /* 182943 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
64742 /* 182946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64743 /* 182950 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64744 /* 182954 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64745 /* 182958 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64746 /* 182961 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64747 /* 182965 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64748 /* 182969 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64749 /* 182973 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64750 /* 182975 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64751 /* 182982 */ // (smin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMINSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64752 /* 182982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrm),
64753 /* 182985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64754 /* 182987 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64755 /* 182989 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64756 /* 182993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64757 /* 182998 */ GIR_RootConstrainSelectedInstOperands,
64758 /* 182999 */ // GIR_Coverage, 23573,
64759 /* 182999 */ GIR_EraseRootFromParent_Done,
64760 /* 183000 */ // Label 4093: @183000
64761 /* 183000 */ GIM_Try, /*On fail goto*//*Label 4094*/ GIMT_Encode4(183062), // Rule ID 24090 //
64762 /* 183005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
64763 /* 183008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64764 /* 183012 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64765 /* 183016 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64766 /* 183020 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64767 /* 183023 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64768 /* 183027 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64769 /* 183031 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64770 /* 183035 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64771 /* 183037 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64772 /* 183044 */ // (smin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMINSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64773 /* 183044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rm),
64774 /* 183047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64775 /* 183049 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64776 /* 183051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64777 /* 183055 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64778 /* 183060 */ GIR_RootConstrainSelectedInstOperands,
64779 /* 183061 */ // GIR_Coverage, 24090,
64780 /* 183061 */ GIR_EraseRootFromParent_Done,
64781 /* 183062 */ // Label 4094: @183062
64782 /* 183062 */ GIM_Try, /*On fail goto*//*Label 4095*/ GIMT_Encode4(183124), // Rule ID 3190 //
64783 /* 183067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
64784 /* 183070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64785 /* 183074 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64786 /* 183078 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64787 /* 183082 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64788 /* 183086 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64789 /* 183089 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64790 /* 183093 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64791 /* 183097 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64792 /* 183099 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64793 /* 183106 */ // (smin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64794 /* 183106 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrm),
64795 /* 183109 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64796 /* 183111 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64797 /* 183113 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64798 /* 183117 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64799 /* 183122 */ GIR_RootConstrainSelectedInstOperands,
64800 /* 183123 */ // GIR_Coverage, 3190,
64801 /* 183123 */ GIR_EraseRootFromParent_Done,
64802 /* 183124 */ // Label 4095: @183124
64803 /* 183124 */ GIM_Try, /*On fail goto*//*Label 4096*/ GIMT_Encode4(183186), // Rule ID 5495 //
64804 /* 183129 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
64805 /* 183132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64806 /* 183136 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64807 /* 183140 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64808 /* 183144 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64809 /* 183148 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64810 /* 183151 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64811 /* 183155 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64812 /* 183159 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64813 /* 183161 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64814 /* 183168 */ // (smin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64815 /* 183168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rm),
64816 /* 183171 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64817 /* 183173 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64818 /* 183175 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64819 /* 183179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64820 /* 183184 */ GIR_RootConstrainSelectedInstOperands,
64821 /* 183185 */ // GIR_Coverage, 5495,
64822 /* 183185 */ GIR_EraseRootFromParent_Done,
64823 /* 183186 */ // Label 4096: @183186
64824 /* 183186 */ GIM_Try, /*On fail goto*//*Label 4097*/ GIMT_Encode4(183213), // Rule ID 3189 //
64825 /* 183191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
64826 /* 183194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64827 /* 183198 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64828 /* 183202 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
64829 /* 183206 */ // (smin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMINSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
64830 /* 183206 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBYrr),
64831 /* 183211 */ GIR_RootConstrainSelectedInstOperands,
64832 /* 183212 */ // GIR_Coverage, 3189,
64833 /* 183212 */ GIR_Done,
64834 /* 183213 */ // Label 4097: @183213
64835 /* 183213 */ GIM_Try, /*On fail goto*//*Label 4098*/ GIMT_Encode4(183240), // Rule ID 5492 //
64836 /* 183218 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
64837 /* 183221 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64838 /* 183225 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64839 /* 183229 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
64840 /* 183233 */ // (smin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMINSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
64841 /* 183233 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZ256rr),
64842 /* 183238 */ GIR_RootConstrainSelectedInstOperands,
64843 /* 183239 */ // GIR_Coverage, 5492,
64844 /* 183239 */ GIR_Done,
64845 /* 183240 */ // Label 4098: @183240
64846 /* 183240 */ GIM_Reject,
64847 /* 183241 */ // Label 4092: @183241
64848 /* 183241 */ GIM_Reject,
64849 /* 183242 */ // Label 4073: @183242
64850 /* 183242 */ GIM_Try, /*On fail goto*//*Label 4099*/ GIMT_Encode4(183397),
64851 /* 183247 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
64852 /* 183250 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
64853 /* 183253 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64854 /* 183257 */ GIM_Try, /*On fail goto*//*Label 4100*/ GIMT_Encode4(183315), // Rule ID 24087 //
64855 /* 183262 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
64856 /* 183265 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64857 /* 183269 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64858 /* 183273 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64859 /* 183276 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64860 /* 183280 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64861 /* 183284 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64862 /* 183288 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64863 /* 183290 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64864 /* 183297 */ // (smin:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMINSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64865 /* 183297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrm),
64866 /* 183300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64867 /* 183302 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64868 /* 183304 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64869 /* 183308 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64870 /* 183313 */ GIR_RootConstrainSelectedInstOperands,
64871 /* 183314 */ // GIR_Coverage, 24087,
64872 /* 183314 */ GIR_EraseRootFromParent_Done,
64873 /* 183315 */ // Label 4100: @183315
64874 /* 183315 */ GIM_Try, /*On fail goto*//*Label 4101*/ GIMT_Encode4(183373), // Rule ID 5489 //
64875 /* 183320 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
64876 /* 183323 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64877 /* 183327 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64878 /* 183331 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64879 /* 183335 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64880 /* 183338 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64881 /* 183342 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64882 /* 183346 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64883 /* 183348 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64884 /* 183355 */ // (smin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
64885 /* 183355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrm),
64886 /* 183358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64887 /* 183360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64888 /* 183362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64889 /* 183366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64890 /* 183371 */ GIR_RootConstrainSelectedInstOperands,
64891 /* 183372 */ // GIR_Coverage, 5489,
64892 /* 183372 */ GIR_EraseRootFromParent_Done,
64893 /* 183373 */ // Label 4101: @183373
64894 /* 183373 */ GIM_Try, /*On fail goto*//*Label 4102*/ GIMT_Encode4(183396), // Rule ID 5486 //
64895 /* 183378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
64896 /* 183381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64897 /* 183385 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
64898 /* 183389 */ // (smin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMINSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
64899 /* 183389 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSBZrr),
64900 /* 183394 */ GIR_RootConstrainSelectedInstOperands,
64901 /* 183395 */ // GIR_Coverage, 5486,
64902 /* 183395 */ GIR_Done,
64903 /* 183396 */ // Label 4102: @183396
64904 /* 183396 */ GIM_Reject,
64905 /* 183397 */ // Label 4099: @183397
64906 /* 183397 */ GIM_Reject,
64907 /* 183398 */ // Label 4074: @183398
64908 /* 183398 */ GIM_Try, /*On fail goto*//*Label 4103*/ GIMT_Encode4(183739),
64909 /* 183403 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
64910 /* 183406 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
64911 /* 183409 */ GIM_Try, /*On fail goto*//*Label 4104*/ GIMT_Encode4(183471), // Rule ID 23523 //
64912 /* 183414 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
64913 /* 183417 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64914 /* 183421 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64915 /* 183425 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64916 /* 183429 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64917 /* 183432 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64918 /* 183436 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64919 /* 183440 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64920 /* 183444 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64921 /* 183446 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64922 /* 183453 */ // (smin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMINSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64923 /* 183453 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWrm),
64924 /* 183456 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64925 /* 183458 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64926 /* 183460 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64927 /* 183464 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64928 /* 183469 */ GIR_RootConstrainSelectedInstOperands,
64929 /* 183470 */ // GIR_Coverage, 23523,
64930 /* 183470 */ GIR_EraseRootFromParent_Done,
64931 /* 183471 */ // Label 4104: @183471
64932 /* 183471 */ GIM_Try, /*On fail goto*//*Label 4105*/ GIMT_Encode4(183533), // Rule ID 24102 //
64933 /* 183476 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
64934 /* 183479 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64935 /* 183483 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
64936 /* 183487 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64937 /* 183491 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64938 /* 183494 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64939 /* 183498 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64940 /* 183502 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64941 /* 183506 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64942 /* 183508 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64943 /* 183515 */ // (smin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMINSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64944 /* 183515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rm),
64945 /* 183518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64946 /* 183520 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
64947 /* 183522 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64948 /* 183526 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64949 /* 183531 */ GIR_RootConstrainSelectedInstOperands,
64950 /* 183532 */ // GIR_Coverage, 24102,
64951 /* 183532 */ GIR_EraseRootFromParent_Done,
64952 /* 183533 */ // Label 4105: @183533
64953 /* 183533 */ GIM_Try, /*On fail goto*//*Label 4106*/ GIMT_Encode4(183595), // Rule ID 2619 //
64954 /* 183538 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
64955 /* 183541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64956 /* 183545 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64957 /* 183549 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64958 /* 183553 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64959 /* 183557 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64960 /* 183560 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64961 /* 183564 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64962 /* 183568 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64963 /* 183570 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64964 /* 183577 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64965 /* 183577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWrm),
64966 /* 183580 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64967 /* 183582 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64968 /* 183584 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64969 /* 183588 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64970 /* 183593 */ GIR_RootConstrainSelectedInstOperands,
64971 /* 183594 */ // GIR_Coverage, 2619,
64972 /* 183594 */ GIR_EraseRootFromParent_Done,
64973 /* 183595 */ // Label 4106: @183595
64974 /* 183595 */ GIM_Try, /*On fail goto*//*Label 4107*/ GIMT_Encode4(183657), // Rule ID 5519 //
64975 /* 183600 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
64976 /* 183603 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64977 /* 183607 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
64978 /* 183611 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
64979 /* 183615 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
64980 /* 183619 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
64981 /* 183622 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
64982 /* 183626 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
64983 /* 183630 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
64984 /* 183632 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
64985 /* 183639 */ // (smin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
64986 /* 183639 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rm),
64987 /* 183642 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
64988 /* 183644 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
64989 /* 183646 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
64990 /* 183650 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
64991 /* 183655 */ GIR_RootConstrainSelectedInstOperands,
64992 /* 183656 */ // GIR_Coverage, 5519,
64993 /* 183656 */ GIR_EraseRootFromParent_Done,
64994 /* 183657 */ // Label 4107: @183657
64995 /* 183657 */ GIM_Try, /*On fail goto*//*Label 4108*/ GIMT_Encode4(183684), // Rule ID 2618 //
64996 /* 183662 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
64997 /* 183665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64998 /* 183669 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
64999 /* 183673 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65000 /* 183677 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMINSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
65001 /* 183677 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWrr),
65002 /* 183682 */ GIR_RootConstrainSelectedInstOperands,
65003 /* 183683 */ // GIR_Coverage, 2618,
65004 /* 183683 */ GIR_Done,
65005 /* 183684 */ // Label 4108: @183684
65006 /* 183684 */ GIM_Try, /*On fail goto*//*Label 4109*/ GIMT_Encode4(183711), // Rule ID 2620 //
65007 /* 183689 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
65008 /* 183692 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65009 /* 183696 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65010 /* 183700 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65011 /* 183704 */ // (smin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMINSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
65012 /* 183704 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSWrr),
65013 /* 183709 */ GIR_RootConstrainSelectedInstOperands,
65014 /* 183710 */ // GIR_Coverage, 2620,
65015 /* 183710 */ GIR_Done,
65016 /* 183711 */ // Label 4109: @183711
65017 /* 183711 */ GIM_Try, /*On fail goto*//*Label 4110*/ GIMT_Encode4(183738), // Rule ID 5516 //
65018 /* 183716 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65019 /* 183719 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65020 /* 183723 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65021 /* 183727 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65022 /* 183731 */ // (smin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMINSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
65023 /* 183731 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ128rr),
65024 /* 183736 */ GIR_RootConstrainSelectedInstOperands,
65025 /* 183737 */ // GIR_Coverage, 5516,
65026 /* 183737 */ GIR_Done,
65027 /* 183738 */ // Label 4110: @183738
65028 /* 183738 */ GIM_Reject,
65029 /* 183739 */ // Label 4103: @183739
65030 /* 183739 */ GIM_Reject,
65031 /* 183740 */ // Label 4075: @183740
65032 /* 183740 */ GIM_Try, /*On fail goto*//*Label 4111*/ GIMT_Encode4(184054),
65033 /* 183745 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
65034 /* 183748 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
65035 /* 183751 */ GIM_Try, /*On fail goto*//*Label 4112*/ GIMT_Encode4(183813), // Rule ID 23525 //
65036 /* 183756 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65037 /* 183759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65038 /* 183763 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65039 /* 183767 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65040 /* 183771 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65041 /* 183774 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65042 /* 183778 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65043 /* 183782 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65044 /* 183786 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65045 /* 183788 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65046 /* 183795 */ // (smin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMINSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65047 /* 183795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrm),
65048 /* 183798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65049 /* 183800 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65050 /* 183802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65051 /* 183806 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65052 /* 183811 */ GIR_RootConstrainSelectedInstOperands,
65053 /* 183812 */ // GIR_Coverage, 23525,
65054 /* 183812 */ GIR_EraseRootFromParent_Done,
65055 /* 183813 */ // Label 4112: @183813
65056 /* 183813 */ GIM_Try, /*On fail goto*//*Label 4113*/ GIMT_Encode4(183875), // Rule ID 24099 //
65057 /* 183818 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65058 /* 183821 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65059 /* 183825 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65060 /* 183829 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65061 /* 183833 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65062 /* 183836 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65063 /* 183840 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65064 /* 183844 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65065 /* 183848 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65066 /* 183850 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65067 /* 183857 */ // (smin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMINSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65068 /* 183857 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rm),
65069 /* 183860 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65070 /* 183862 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65071 /* 183864 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65072 /* 183868 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65073 /* 183873 */ GIR_RootConstrainSelectedInstOperands,
65074 /* 183874 */ // GIR_Coverage, 24099,
65075 /* 183874 */ GIR_EraseRootFromParent_Done,
65076 /* 183875 */ // Label 4113: @183875
65077 /* 183875 */ GIM_Try, /*On fail goto*//*Label 4114*/ GIMT_Encode4(183937), // Rule ID 2623 //
65078 /* 183880 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65079 /* 183883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65080 /* 183887 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65081 /* 183891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65082 /* 183895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65083 /* 183899 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65084 /* 183902 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65085 /* 183906 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65086 /* 183910 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65087 /* 183912 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65088 /* 183919 */ // (smin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65089 /* 183919 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrm),
65090 /* 183922 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65091 /* 183924 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65092 /* 183926 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65093 /* 183930 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65094 /* 183935 */ GIR_RootConstrainSelectedInstOperands,
65095 /* 183936 */ // GIR_Coverage, 2623,
65096 /* 183936 */ GIR_EraseRootFromParent_Done,
65097 /* 183937 */ // Label 4114: @183937
65098 /* 183937 */ GIM_Try, /*On fail goto*//*Label 4115*/ GIMT_Encode4(183999), // Rule ID 5513 //
65099 /* 183942 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65100 /* 183945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65101 /* 183949 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65102 /* 183953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65103 /* 183957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65104 /* 183961 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65105 /* 183964 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65106 /* 183968 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65107 /* 183972 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65108 /* 183974 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65109 /* 183981 */ // (smin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65110 /* 183981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rm),
65111 /* 183984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65112 /* 183986 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65113 /* 183988 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65114 /* 183992 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65115 /* 183997 */ GIR_RootConstrainSelectedInstOperands,
65116 /* 183998 */ // GIR_Coverage, 5513,
65117 /* 183998 */ GIR_EraseRootFromParent_Done,
65118 /* 183999 */ // Label 4115: @183999
65119 /* 183999 */ GIM_Try, /*On fail goto*//*Label 4116*/ GIMT_Encode4(184026), // Rule ID 2622 //
65120 /* 184004 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65121 /* 184007 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65122 /* 184011 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65123 /* 184015 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65124 /* 184019 */ // (smin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMINSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
65125 /* 184019 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWYrr),
65126 /* 184024 */ GIR_RootConstrainSelectedInstOperands,
65127 /* 184025 */ // GIR_Coverage, 2622,
65128 /* 184025 */ GIR_Done,
65129 /* 184026 */ // Label 4116: @184026
65130 /* 184026 */ GIM_Try, /*On fail goto*//*Label 4117*/ GIMT_Encode4(184053), // Rule ID 5510 //
65131 /* 184031 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65132 /* 184034 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65133 /* 184038 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65134 /* 184042 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65135 /* 184046 */ // (smin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMINSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
65136 /* 184046 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZ256rr),
65137 /* 184051 */ GIR_RootConstrainSelectedInstOperands,
65138 /* 184052 */ // GIR_Coverage, 5510,
65139 /* 184052 */ GIR_Done,
65140 /* 184053 */ // Label 4117: @184053
65141 /* 184053 */ GIM_Reject,
65142 /* 184054 */ // Label 4111: @184054
65143 /* 184054 */ GIM_Reject,
65144 /* 184055 */ // Label 4076: @184055
65145 /* 184055 */ GIM_Try, /*On fail goto*//*Label 4118*/ GIMT_Encode4(184210),
65146 /* 184060 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
65147 /* 184063 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
65148 /* 184066 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65149 /* 184070 */ GIM_Try, /*On fail goto*//*Label 4119*/ GIMT_Encode4(184128), // Rule ID 24096 //
65150 /* 184075 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
65151 /* 184078 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65152 /* 184082 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65153 /* 184086 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65154 /* 184089 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65155 /* 184093 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65156 /* 184097 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65157 /* 184101 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65158 /* 184103 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65159 /* 184110 */ // (smin:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMINSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65160 /* 184110 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrm),
65161 /* 184113 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65162 /* 184115 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65163 /* 184117 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65164 /* 184121 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65165 /* 184126 */ GIR_RootConstrainSelectedInstOperands,
65166 /* 184127 */ // GIR_Coverage, 24096,
65167 /* 184127 */ GIR_EraseRootFromParent_Done,
65168 /* 184128 */ // Label 4119: @184128
65169 /* 184128 */ GIM_Try, /*On fail goto*//*Label 4120*/ GIMT_Encode4(184186), // Rule ID 5507 //
65170 /* 184133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
65171 /* 184136 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65172 /* 184140 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65173 /* 184144 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65174 /* 184148 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65175 /* 184151 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65176 /* 184155 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65177 /* 184159 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65178 /* 184161 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65179 /* 184168 */ // (smin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
65180 /* 184168 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrm),
65181 /* 184171 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65182 /* 184173 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65183 /* 184175 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65184 /* 184179 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65185 /* 184184 */ GIR_RootConstrainSelectedInstOperands,
65186 /* 184185 */ // GIR_Coverage, 5507,
65187 /* 184185 */ GIR_EraseRootFromParent_Done,
65188 /* 184186 */ // Label 4120: @184186
65189 /* 184186 */ GIM_Try, /*On fail goto*//*Label 4121*/ GIMT_Encode4(184209), // Rule ID 5504 //
65190 /* 184191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
65191 /* 184194 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65192 /* 184198 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65193 /* 184202 */ // (smin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMINSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
65194 /* 184202 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSWZrr),
65195 /* 184207 */ GIR_RootConstrainSelectedInstOperands,
65196 /* 184208 */ // GIR_Coverage, 5504,
65197 /* 184208 */ GIR_Done,
65198 /* 184209 */ // Label 4121: @184209
65199 /* 184209 */ GIM_Reject,
65200 /* 184210 */ // Label 4118: @184210
65201 /* 184210 */ GIM_Reject,
65202 /* 184211 */ // Label 4077: @184211
65203 /* 184211 */ GIM_Try, /*On fail goto*//*Label 4122*/ GIMT_Encode4(184552),
65204 /* 184216 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
65205 /* 184219 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
65206 /* 184222 */ GIM_Try, /*On fail goto*//*Label 4123*/ GIMT_Encode4(184284), // Rule ID 23559 //
65207 /* 184227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
65208 /* 184230 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65209 /* 184234 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65210 /* 184238 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65211 /* 184242 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65212 /* 184245 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65213 /* 184249 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65214 /* 184253 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65215 /* 184257 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65216 /* 184259 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65217 /* 184266 */ // (smin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMINSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65218 /* 184266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDrm),
65219 /* 184269 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65220 /* 184271 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65221 /* 184273 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65222 /* 184277 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65223 /* 184282 */ GIR_RootConstrainSelectedInstOperands,
65224 /* 184283 */ // GIR_Coverage, 23559,
65225 /* 184283 */ GIR_EraseRootFromParent_Done,
65226 /* 184284 */ // Label 4123: @184284
65227 /* 184284 */ GIM_Try, /*On fail goto*//*Label 4124*/ GIMT_Encode4(184346), // Rule ID 24117 //
65228 /* 184289 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65229 /* 184292 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65230 /* 184296 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65231 /* 184300 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65232 /* 184304 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65233 /* 184307 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65234 /* 184311 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65235 /* 184315 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65236 /* 184319 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65237 /* 184321 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65238 /* 184328 */ // (smin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMINSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65239 /* 184328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rm),
65240 /* 184331 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65241 /* 184333 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65242 /* 184335 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65243 /* 184339 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65244 /* 184344 */ GIR_RootConstrainSelectedInstOperands,
65245 /* 184345 */ // GIR_Coverage, 24117,
65246 /* 184345 */ GIR_EraseRootFromParent_Done,
65247 /* 184346 */ // Label 4124: @184346
65248 /* 184346 */ GIM_Try, /*On fail goto*//*Label 4125*/ GIMT_Encode4(184408), // Rule ID 3162 //
65249 /* 184351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
65250 /* 184354 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65251 /* 184358 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65252 /* 184362 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65253 /* 184366 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65254 /* 184370 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65255 /* 184373 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65256 /* 184377 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65257 /* 184381 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65258 /* 184383 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65259 /* 184390 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65260 /* 184390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDrm),
65261 /* 184393 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65262 /* 184395 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65263 /* 184397 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65264 /* 184401 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65265 /* 184406 */ GIR_RootConstrainSelectedInstOperands,
65266 /* 184407 */ // GIR_Coverage, 3162,
65267 /* 184407 */ GIR_EraseRootFromParent_Done,
65268 /* 184408 */ // Label 4125: @184408
65269 /* 184408 */ GIM_Try, /*On fail goto*//*Label 4126*/ GIMT_Encode4(184470), // Rule ID 5543 //
65270 /* 184413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65271 /* 184416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65272 /* 184420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65273 /* 184424 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65274 /* 184428 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65275 /* 184432 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65276 /* 184435 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65277 /* 184439 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65278 /* 184443 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65279 /* 184445 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65280 /* 184452 */ // (smin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65281 /* 184452 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rm),
65282 /* 184455 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65283 /* 184457 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65284 /* 184459 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65285 /* 184463 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65286 /* 184468 */ GIR_RootConstrainSelectedInstOperands,
65287 /* 184469 */ // GIR_Coverage, 5543,
65288 /* 184469 */ GIR_EraseRootFromParent_Done,
65289 /* 184470 */ // Label 4126: @184470
65290 /* 184470 */ GIM_Try, /*On fail goto*//*Label 4127*/ GIMT_Encode4(184497), // Rule ID 3161 //
65291 /* 184475 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
65292 /* 184478 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65293 /* 184482 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65294 /* 184486 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65295 /* 184490 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMINSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
65296 /* 184490 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDrr),
65297 /* 184495 */ GIR_RootConstrainSelectedInstOperands,
65298 /* 184496 */ // GIR_Coverage, 3161,
65299 /* 184496 */ GIR_Done,
65300 /* 184497 */ // Label 4127: @184497
65301 /* 184497 */ GIM_Try, /*On fail goto*//*Label 4128*/ GIMT_Encode4(184524), // Rule ID 3199 //
65302 /* 184502 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
65303 /* 184505 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65304 /* 184509 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65305 /* 184513 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65306 /* 184517 */ // (smin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMINSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
65307 /* 184517 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINSDrr),
65308 /* 184522 */ GIR_RootConstrainSelectedInstOperands,
65309 /* 184523 */ // GIR_Coverage, 3199,
65310 /* 184523 */ GIR_Done,
65311 /* 184524 */ // Label 4128: @184524
65312 /* 184524 */ GIM_Try, /*On fail goto*//*Label 4129*/ GIMT_Encode4(184551), // Rule ID 5540 //
65313 /* 184529 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65314 /* 184532 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65315 /* 184536 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65316 /* 184540 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65317 /* 184544 */ // (smin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMINSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
65318 /* 184544 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ128rr),
65319 /* 184549 */ GIR_RootConstrainSelectedInstOperands,
65320 /* 184550 */ // GIR_Coverage, 5540,
65321 /* 184550 */ GIR_Done,
65322 /* 184551 */ // Label 4129: @184551
65323 /* 184551 */ GIM_Reject,
65324 /* 184552 */ // Label 4122: @184552
65325 /* 184552 */ GIM_Reject,
65326 /* 184553 */ // Label 4078: @184553
65327 /* 184553 */ GIM_Try, /*On fail goto*//*Label 4130*/ GIMT_Encode4(184867),
65328 /* 184558 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
65329 /* 184561 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
65330 /* 184564 */ GIM_Try, /*On fail goto*//*Label 4131*/ GIMT_Encode4(184626), // Rule ID 23568 //
65331 /* 184569 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
65332 /* 184572 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65333 /* 184576 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65334 /* 184580 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65335 /* 184584 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65336 /* 184587 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65337 /* 184591 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65338 /* 184595 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65339 /* 184599 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65340 /* 184601 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65341 /* 184608 */ // (smin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMINSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65342 /* 184608 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrm),
65343 /* 184611 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65344 /* 184613 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65345 /* 184615 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65346 /* 184619 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65347 /* 184624 */ GIR_RootConstrainSelectedInstOperands,
65348 /* 184625 */ // GIR_Coverage, 23568,
65349 /* 184625 */ GIR_EraseRootFromParent_Done,
65350 /* 184626 */ // Label 4131: @184626
65351 /* 184626 */ GIM_Try, /*On fail goto*//*Label 4132*/ GIMT_Encode4(184688), // Rule ID 24111 //
65352 /* 184631 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65353 /* 184634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65354 /* 184638 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65355 /* 184642 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65356 /* 184646 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65357 /* 184649 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65358 /* 184653 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65359 /* 184657 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65360 /* 184661 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65361 /* 184663 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65362 /* 184670 */ // (smin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMINSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65363 /* 184670 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rm),
65364 /* 184673 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65365 /* 184675 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65366 /* 184677 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65367 /* 184681 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65368 /* 184686 */ GIR_RootConstrainSelectedInstOperands,
65369 /* 184687 */ // GIR_Coverage, 24111,
65370 /* 184687 */ GIR_EraseRootFromParent_Done,
65371 /* 184688 */ // Label 4132: @184688
65372 /* 184688 */ GIM_Try, /*On fail goto*//*Label 4133*/ GIMT_Encode4(184750), // Rule ID 3180 //
65373 /* 184693 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
65374 /* 184696 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65375 /* 184700 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65376 /* 184704 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65377 /* 184708 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65378 /* 184712 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65379 /* 184715 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65380 /* 184719 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65381 /* 184723 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65382 /* 184725 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65383 /* 184732 */ // (smin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65384 /* 184732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrm),
65385 /* 184735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65386 /* 184737 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65387 /* 184739 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65388 /* 184743 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65389 /* 184748 */ GIR_RootConstrainSelectedInstOperands,
65390 /* 184749 */ // GIR_Coverage, 3180,
65391 /* 184749 */ GIR_EraseRootFromParent_Done,
65392 /* 184750 */ // Label 4133: @184750
65393 /* 184750 */ GIM_Try, /*On fail goto*//*Label 4134*/ GIMT_Encode4(184812), // Rule ID 5534 //
65394 /* 184755 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65395 /* 184758 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65396 /* 184762 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65397 /* 184766 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65398 /* 184770 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65399 /* 184774 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65400 /* 184777 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65401 /* 184781 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65402 /* 184785 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65403 /* 184787 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65404 /* 184794 */ // (smin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65405 /* 184794 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rm),
65406 /* 184797 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65407 /* 184799 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65408 /* 184801 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65409 /* 184805 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65410 /* 184810 */ GIR_RootConstrainSelectedInstOperands,
65411 /* 184811 */ // GIR_Coverage, 5534,
65412 /* 184811 */ GIR_EraseRootFromParent_Done,
65413 /* 184812 */ // Label 4134: @184812
65414 /* 184812 */ GIM_Try, /*On fail goto*//*Label 4135*/ GIMT_Encode4(184839), // Rule ID 3179 //
65415 /* 184817 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
65416 /* 184820 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65417 /* 184824 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65418 /* 184828 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65419 /* 184832 */ // (smin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMINSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
65420 /* 184832 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDYrr),
65421 /* 184837 */ GIR_RootConstrainSelectedInstOperands,
65422 /* 184838 */ // GIR_Coverage, 3179,
65423 /* 184838 */ GIR_Done,
65424 /* 184839 */ // Label 4135: @184839
65425 /* 184839 */ GIM_Try, /*On fail goto*//*Label 4136*/ GIMT_Encode4(184866), // Rule ID 5531 //
65426 /* 184844 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65427 /* 184847 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65428 /* 184851 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65429 /* 184855 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65430 /* 184859 */ // (smin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMINSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
65431 /* 184859 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZ256rr),
65432 /* 184864 */ GIR_RootConstrainSelectedInstOperands,
65433 /* 184865 */ // GIR_Coverage, 5531,
65434 /* 184865 */ GIR_Done,
65435 /* 184866 */ // Label 4136: @184866
65436 /* 184866 */ GIM_Reject,
65437 /* 184867 */ // Label 4130: @184867
65438 /* 184867 */ GIM_Reject,
65439 /* 184868 */ // Label 4079: @184868
65440 /* 184868 */ GIM_Try, /*On fail goto*//*Label 4137*/ GIMT_Encode4(185023),
65441 /* 184873 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
65442 /* 184876 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
65443 /* 184879 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65444 /* 184883 */ GIM_Try, /*On fail goto*//*Label 4138*/ GIMT_Encode4(184941), // Rule ID 24105 //
65445 /* 184888 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65446 /* 184891 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65447 /* 184895 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65448 /* 184899 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65449 /* 184902 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65450 /* 184906 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65451 /* 184910 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65452 /* 184914 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65453 /* 184916 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65454 /* 184923 */ // (smin:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMINSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65455 /* 184923 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrm),
65456 /* 184926 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65457 /* 184928 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65458 /* 184930 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65459 /* 184934 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65460 /* 184939 */ GIR_RootConstrainSelectedInstOperands,
65461 /* 184940 */ // GIR_Coverage, 24105,
65462 /* 184940 */ GIR_EraseRootFromParent_Done,
65463 /* 184941 */ // Label 4138: @184941
65464 /* 184941 */ GIM_Try, /*On fail goto*//*Label 4139*/ GIMT_Encode4(184999), // Rule ID 5525 //
65465 /* 184946 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65466 /* 184949 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65467 /* 184953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65468 /* 184957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65469 /* 184961 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65470 /* 184964 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65471 /* 184968 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65472 /* 184972 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65473 /* 184974 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65474 /* 184981 */ // (smin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
65475 /* 184981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrm),
65476 /* 184984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65477 /* 184986 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65478 /* 184988 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65479 /* 184992 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65480 /* 184997 */ GIR_RootConstrainSelectedInstOperands,
65481 /* 184998 */ // GIR_Coverage, 5525,
65482 /* 184998 */ GIR_EraseRootFromParent_Done,
65483 /* 184999 */ // Label 4139: @184999
65484 /* 184999 */ GIM_Try, /*On fail goto*//*Label 4140*/ GIMT_Encode4(185022), // Rule ID 5522 //
65485 /* 185004 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65486 /* 185007 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65487 /* 185011 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65488 /* 185015 */ // (smin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMINSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
65489 /* 185015 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSDZrr),
65490 /* 185020 */ GIR_RootConstrainSelectedInstOperands,
65491 /* 185021 */ // GIR_Coverage, 5522,
65492 /* 185021 */ GIR_Done,
65493 /* 185022 */ // Label 4140: @185022
65494 /* 185022 */ GIM_Reject,
65495 /* 185023 */ // Label 4137: @185023
65496 /* 185023 */ GIM_Reject,
65497 /* 185024 */ // Label 4080: @185024
65498 /* 185024 */ GIM_Try, /*On fail goto*//*Label 4141*/ GIMT_Encode4(185352),
65499 /* 185029 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
65500 /* 185032 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
65501 /* 185035 */ GIM_Try, /*On fail goto*//*Label 4142*/ GIMT_Encode4(185097), // Rule ID 24135 //
65502 /* 185040 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65503 /* 185043 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65504 /* 185047 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65505 /* 185051 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65506 /* 185055 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65507 /* 185058 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65508 /* 185062 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65509 /* 185066 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65510 /* 185070 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65511 /* 185072 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65512 /* 185079 */ // (smin:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMINSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65513 /* 185079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rm),
65514 /* 185082 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65515 /* 185084 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65516 /* 185086 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65517 /* 185090 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65518 /* 185095 */ GIR_RootConstrainSelectedInstOperands,
65519 /* 185096 */ // GIR_Coverage, 24135,
65520 /* 185096 */ GIR_EraseRootFromParent_Done,
65521 /* 185097 */ // Label 4142: @185097
65522 /* 185097 */ GIM_Try, /*On fail goto*//*Label 4143*/ GIMT_Encode4(185159), // Rule ID 5570 //
65523 /* 185102 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65524 /* 185105 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65525 /* 185109 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65526 /* 185113 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65527 /* 185117 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65528 /* 185121 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65529 /* 185124 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65530 /* 185128 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65531 /* 185132 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65532 /* 185134 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65533 /* 185141 */ // (smin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65534 /* 185141 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rm),
65535 /* 185144 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65536 /* 185146 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65537 /* 185148 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65538 /* 185152 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65539 /* 185157 */ GIR_RootConstrainSelectedInstOperands,
65540 /* 185158 */ // GIR_Coverage, 5570,
65541 /* 185158 */ GIR_EraseRootFromParent_Done,
65542 /* 185159 */ // Label 4143: @185159
65543 /* 185159 */ GIM_Try, /*On fail goto*//*Label 4144*/ GIMT_Encode4(185186), // Rule ID 5567 //
65544 /* 185164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65545 /* 185167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65546 /* 185171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65547 /* 185175 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65548 /* 185179 */ // (smin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMINSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
65549 /* 185179 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ128rr),
65550 /* 185184 */ GIR_RootConstrainSelectedInstOperands,
65551 /* 185185 */ // GIR_Coverage, 5567,
65552 /* 185185 */ GIR_Done,
65553 /* 185186 */ // Label 4144: @185186
65554 /* 185186 */ GIM_Try, /*On fail goto*//*Label 4145*/ GIMT_Encode4(185351), // Rule ID 19999 //
65555 /* 185191 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
65556 /* 185194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
65557 /* 185198 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65558 /* 185202 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65559 /* 185206 */ // (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] })
65560 /* 185206 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
65561 /* 185209 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65562 /* 185213 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65563 /* 185218 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
65564 /* 185220 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
65565 /* 185223 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65566 /* 185227 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65567 /* 185232 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
65568 /* 185235 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
65569 /* 185239 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
65570 /* 185242 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65571 /* 185247 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65572 /* 185252 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
65573 /* 185257 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
65574 /* 185260 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65575 /* 185264 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65576 /* 185269 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
65577 /* 185271 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
65578 /* 185274 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65579 /* 185278 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65580 /* 185283 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
65581 /* 185286 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
65582 /* 185290 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
65583 /* 185293 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65584 /* 185298 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65585 /* 185303 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
65586 /* 185308 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
65587 /* 185311 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
65588 /* 185315 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65589 /* 185320 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
65590 /* 185323 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
65591 /* 185326 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
65592 /* 185328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
65593 /* 185331 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65594 /* 185333 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
65595 /* 185340 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
65596 /* 185345 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65597 /* 185350 */ // GIR_Coverage, 19999,
65598 /* 185350 */ GIR_EraseRootFromParent_Done,
65599 /* 185351 */ // Label 4145: @185351
65600 /* 185351 */ GIM_Reject,
65601 /* 185352 */ // Label 4141: @185352
65602 /* 185352 */ GIM_Reject,
65603 /* 185353 */ // Label 4081: @185353
65604 /* 185353 */ GIM_Try, /*On fail goto*//*Label 4146*/ GIMT_Encode4(185669),
65605 /* 185358 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
65606 /* 185361 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
65607 /* 185364 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65608 /* 185368 */ GIM_Try, /*On fail goto*//*Label 4147*/ GIMT_Encode4(185426), // Rule ID 24129 //
65609 /* 185373 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65610 /* 185376 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65611 /* 185380 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65612 /* 185384 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65613 /* 185387 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65614 /* 185391 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65615 /* 185395 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65616 /* 185399 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65617 /* 185401 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65618 /* 185408 */ // (smin:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMINSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65619 /* 185408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rm),
65620 /* 185411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65621 /* 185413 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65622 /* 185415 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65623 /* 185419 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65624 /* 185424 */ GIR_RootConstrainSelectedInstOperands,
65625 /* 185425 */ // GIR_Coverage, 24129,
65626 /* 185425 */ GIR_EraseRootFromParent_Done,
65627 /* 185426 */ // Label 4147: @185426
65628 /* 185426 */ GIM_Try, /*On fail goto*//*Label 4148*/ GIMT_Encode4(185484), // Rule ID 5561 //
65629 /* 185431 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65630 /* 185434 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65631 /* 185438 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65632 /* 185442 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65633 /* 185446 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65634 /* 185449 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65635 /* 185453 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65636 /* 185457 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65637 /* 185459 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65638 /* 185466 */ // (smin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65639 /* 185466 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rm),
65640 /* 185469 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65641 /* 185471 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65642 /* 185473 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65643 /* 185477 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65644 /* 185482 */ GIR_RootConstrainSelectedInstOperands,
65645 /* 185483 */ // GIR_Coverage, 5561,
65646 /* 185483 */ GIR_EraseRootFromParent_Done,
65647 /* 185484 */ // Label 4148: @185484
65648 /* 185484 */ GIM_Try, /*On fail goto*//*Label 4149*/ GIMT_Encode4(185507), // Rule ID 5558 //
65649 /* 185489 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
65650 /* 185492 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65651 /* 185496 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65652 /* 185500 */ // (smin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMINSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
65653 /* 185500 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZ256rr),
65654 /* 185505 */ GIR_RootConstrainSelectedInstOperands,
65655 /* 185506 */ // GIR_Coverage, 5558,
65656 /* 185506 */ GIR_Done,
65657 /* 185507 */ // Label 4149: @185507
65658 /* 185507 */ GIM_Try, /*On fail goto*//*Label 4150*/ GIMT_Encode4(185668), // Rule ID 19997 //
65659 /* 185512 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
65660 /* 185515 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65661 /* 185519 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65662 /* 185523 */ // (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] })
65663 /* 185523 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
65664 /* 185526 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65665 /* 185530 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65666 /* 185535 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
65667 /* 185537 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
65668 /* 185540 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65669 /* 185544 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65670 /* 185549 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
65671 /* 185552 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
65672 /* 185556 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
65673 /* 185559 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65674 /* 185564 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65675 /* 185569 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
65676 /* 185574 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
65677 /* 185577 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
65678 /* 185581 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65679 /* 185586 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
65680 /* 185588 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
65681 /* 185591 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
65682 /* 185595 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65683 /* 185600 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
65684 /* 185603 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
65685 /* 185607 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
65686 /* 185610 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
65687 /* 185615 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65688 /* 185620 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
65689 /* 185625 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
65690 /* 185628 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
65691 /* 185632 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
65692 /* 185637 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
65693 /* 185640 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
65694 /* 185643 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
65695 /* 185645 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
65696 /* 185648 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65697 /* 185650 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
65698 /* 185657 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
65699 /* 185662 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
65700 /* 185667 */ // GIR_Coverage, 19997,
65701 /* 185667 */ GIR_EraseRootFromParent_Done,
65702 /* 185668 */ // Label 4150: @185668
65703 /* 185668 */ GIM_Reject,
65704 /* 185669 */ // Label 4146: @185669
65705 /* 185669 */ GIM_Reject,
65706 /* 185670 */ // Label 4082: @185670
65707 /* 185670 */ GIM_Try, /*On fail goto*//*Label 4151*/ GIMT_Encode4(185825),
65708 /* 185675 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
65709 /* 185678 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
65710 /* 185681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65711 /* 185685 */ GIM_Try, /*On fail goto*//*Label 4152*/ GIMT_Encode4(185743), // Rule ID 24123 //
65712 /* 185690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65713 /* 185693 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65714 /* 185697 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65715 /* 185701 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65716 /* 185704 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65717 /* 185708 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65718 /* 185712 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65719 /* 185716 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65720 /* 185718 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65721 /* 185725 */ // (smin:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMINSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65722 /* 185725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrm),
65723 /* 185728 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65724 /* 185730 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65725 /* 185732 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65726 /* 185736 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65727 /* 185741 */ GIR_RootConstrainSelectedInstOperands,
65728 /* 185742 */ // GIR_Coverage, 24123,
65729 /* 185742 */ GIR_EraseRootFromParent_Done,
65730 /* 185743 */ // Label 4152: @185743
65731 /* 185743 */ GIM_Try, /*On fail goto*//*Label 4153*/ GIMT_Encode4(185801), // Rule ID 5552 //
65732 /* 185748 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65733 /* 185751 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65734 /* 185755 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65735 /* 185759 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65736 /* 185763 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65737 /* 185766 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65738 /* 185770 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65739 /* 185774 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65740 /* 185776 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65741 /* 185783 */ // (smin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
65742 /* 185783 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrm),
65743 /* 185786 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65744 /* 185788 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65745 /* 185790 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65746 /* 185794 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65747 /* 185799 */ GIR_RootConstrainSelectedInstOperands,
65748 /* 185800 */ // GIR_Coverage, 5552,
65749 /* 185800 */ GIR_EraseRootFromParent_Done,
65750 /* 185801 */ // Label 4153: @185801
65751 /* 185801 */ GIM_Try, /*On fail goto*//*Label 4154*/ GIMT_Encode4(185824), // Rule ID 5549 //
65752 /* 185806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
65753 /* 185809 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65754 /* 185813 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
65755 /* 185817 */ // (smin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMINSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
65756 /* 185817 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINSQZrr),
65757 /* 185822 */ GIR_RootConstrainSelectedInstOperands,
65758 /* 185823 */ // GIR_Coverage, 5549,
65759 /* 185823 */ GIR_Done,
65760 /* 185824 */ // Label 4154: @185824
65761 /* 185824 */ GIM_Reject,
65762 /* 185825 */ // Label 4151: @185825
65763 /* 185825 */ GIM_Reject,
65764 /* 185826 */ // Label 4083: @185826
65765 /* 185826 */ GIM_Reject,
65766 /* 185827 */ // Label 56: @185827
65767 /* 185827 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 4167*/ GIMT_Encode4(189127),
65768 /* 185838 */ /*GILLT_v16s8*//*Label 4155*/ GIMT_Encode4(185886),
65769 /* 185842 */ /*GILLT_v32s8*//*Label 4156*/ GIMT_Encode4(186228),
65770 /* 185846 */ /*GILLT_v64s8*//*Label 4157*/ GIMT_Encode4(186543),
65771 /* 185850 */ /*GILLT_v8s16*//*Label 4158*/ GIMT_Encode4(186699),
65772 /* 185854 */ /*GILLT_v16s16*//*Label 4159*/ GIMT_Encode4(187041),
65773 /* 185858 */ /*GILLT_v32s16*//*Label 4160*/ GIMT_Encode4(187356),
65774 /* 185862 */ /*GILLT_v4s32*//*Label 4161*/ GIMT_Encode4(187512),
65775 /* 185866 */ /*GILLT_v8s32*//*Label 4162*/ GIMT_Encode4(187854),
65776 /* 185870 */ /*GILLT_v16s32*//*Label 4163*/ GIMT_Encode4(188169),
65777 /* 185874 */ /*GILLT_v2s64*//*Label 4164*/ GIMT_Encode4(188325),
65778 /* 185878 */ /*GILLT_v4s64*//*Label 4165*/ GIMT_Encode4(188654),
65779 /* 185882 */ /*GILLT_v8s64*//*Label 4166*/ GIMT_Encode4(188971),
65780 /* 185886 */ // Label 4155: @185886
65781 /* 185886 */ GIM_Try, /*On fail goto*//*Label 4168*/ GIMT_Encode4(186227),
65782 /* 185891 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
65783 /* 185894 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
65784 /* 185897 */ GIM_Try, /*On fail goto*//*Label 4169*/ GIMT_Encode4(185959), // Rule ID 23566 //
65785 /* 185902 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
65786 /* 185905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65787 /* 185909 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65788 /* 185913 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65789 /* 185917 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65790 /* 185920 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65791 /* 185924 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65792 /* 185928 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65793 /* 185932 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65794 /* 185934 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65795 /* 185941 */ // (smax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMAXSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65796 /* 185941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrm),
65797 /* 185944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65798 /* 185946 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65799 /* 185948 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65800 /* 185952 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65801 /* 185957 */ GIR_RootConstrainSelectedInstOperands,
65802 /* 185958 */ // GIR_Coverage, 23566,
65803 /* 185958 */ GIR_EraseRootFromParent_Done,
65804 /* 185959 */ // Label 4169: @185959
65805 /* 185959 */ GIM_Try, /*On fail goto*//*Label 4170*/ GIMT_Encode4(186021), // Rule ID 23985 //
65806 /* 185964 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65807 /* 185967 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65808 /* 185971 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65809 /* 185975 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65810 /* 185979 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65811 /* 185982 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65812 /* 185986 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65813 /* 185990 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65814 /* 185994 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65815 /* 185996 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65816 /* 186003 */ // (smax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMAXSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65817 /* 186003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rm),
65818 /* 186006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65819 /* 186008 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65820 /* 186010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65821 /* 186014 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65822 /* 186019 */ GIR_RootConstrainSelectedInstOperands,
65823 /* 186020 */ // GIR_Coverage, 23985,
65824 /* 186020 */ GIR_EraseRootFromParent_Done,
65825 /* 186021 */ // Label 4170: @186021
65826 /* 186021 */ GIM_Try, /*On fail goto*//*Label 4171*/ GIMT_Encode4(186083), // Rule ID 3176 //
65827 /* 186026 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
65828 /* 186029 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65829 /* 186033 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65830 /* 186037 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65831 /* 186041 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65832 /* 186045 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65833 /* 186048 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65834 /* 186052 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65835 /* 186056 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65836 /* 186058 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65837 /* 186065 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65838 /* 186065 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrm),
65839 /* 186068 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65840 /* 186070 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65841 /* 186072 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65842 /* 186076 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65843 /* 186081 */ GIR_RootConstrainSelectedInstOperands,
65844 /* 186082 */ // GIR_Coverage, 3176,
65845 /* 186082 */ GIR_EraseRootFromParent_Done,
65846 /* 186083 */ // Label 4171: @186083
65847 /* 186083 */ GIM_Try, /*On fail goto*//*Label 4172*/ GIMT_Encode4(186145), // Rule ID 5321 //
65848 /* 186088 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65849 /* 186091 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65850 /* 186095 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65851 /* 186099 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65852 /* 186103 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65853 /* 186107 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65854 /* 186110 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65855 /* 186114 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65856 /* 186118 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65857 /* 186120 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65858 /* 186127 */ // (smax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65859 /* 186127 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rm),
65860 /* 186130 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65861 /* 186132 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65862 /* 186134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65863 /* 186138 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65864 /* 186143 */ GIR_RootConstrainSelectedInstOperands,
65865 /* 186144 */ // GIR_Coverage, 5321,
65866 /* 186144 */ GIR_EraseRootFromParent_Done,
65867 /* 186145 */ // Label 4172: @186145
65868 /* 186145 */ GIM_Try, /*On fail goto*//*Label 4173*/ GIMT_Encode4(186172), // Rule ID 3175 //
65869 /* 186150 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
65870 /* 186153 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65871 /* 186157 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65872 /* 186161 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65873 /* 186165 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMAXSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
65874 /* 186165 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBrr),
65875 /* 186170 */ GIR_RootConstrainSelectedInstOperands,
65876 /* 186171 */ // GIR_Coverage, 3175,
65877 /* 186171 */ GIR_Done,
65878 /* 186172 */ // Label 4173: @186172
65879 /* 186172 */ GIM_Try, /*On fail goto*//*Label 4174*/ GIMT_Encode4(186199), // Rule ID 3205 //
65880 /* 186177 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
65881 /* 186180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65882 /* 186184 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65883 /* 186188 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
65884 /* 186192 */ // (smax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMAXSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
65885 /* 186192 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSBrr),
65886 /* 186197 */ GIR_RootConstrainSelectedInstOperands,
65887 /* 186198 */ // GIR_Coverage, 3205,
65888 /* 186198 */ GIR_Done,
65889 /* 186199 */ // Label 4174: @186199
65890 /* 186199 */ GIM_Try, /*On fail goto*//*Label 4175*/ GIMT_Encode4(186226), // Rule ID 5318 //
65891 /* 186204 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65892 /* 186207 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65893 /* 186211 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65894 /* 186215 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
65895 /* 186219 */ // (smax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMAXSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
65896 /* 186219 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ128rr),
65897 /* 186224 */ GIR_RootConstrainSelectedInstOperands,
65898 /* 186225 */ // GIR_Coverage, 5318,
65899 /* 186225 */ GIR_Done,
65900 /* 186226 */ // Label 4175: @186226
65901 /* 186226 */ GIM_Reject,
65902 /* 186227 */ // Label 4168: @186227
65903 /* 186227 */ GIM_Reject,
65904 /* 186228 */ // Label 4156: @186228
65905 /* 186228 */ GIM_Try, /*On fail goto*//*Label 4176*/ GIMT_Encode4(186542),
65906 /* 186233 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
65907 /* 186236 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
65908 /* 186239 */ GIM_Try, /*On fail goto*//*Label 4177*/ GIMT_Encode4(186301), // Rule ID 23575 //
65909 /* 186244 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65910 /* 186247 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65911 /* 186251 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65912 /* 186255 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65913 /* 186259 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65914 /* 186262 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65915 /* 186266 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65916 /* 186270 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65917 /* 186274 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65918 /* 186276 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65919 /* 186283 */ // (smax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMAXSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65920 /* 186283 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrm),
65921 /* 186286 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65922 /* 186288 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65923 /* 186290 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65924 /* 186294 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65925 /* 186299 */ GIR_RootConstrainSelectedInstOperands,
65926 /* 186300 */ // GIR_Coverage, 23575,
65927 /* 186300 */ GIR_EraseRootFromParent_Done,
65928 /* 186301 */ // Label 4177: @186301
65929 /* 186301 */ GIM_Try, /*On fail goto*//*Label 4178*/ GIMT_Encode4(186363), // Rule ID 23982 //
65930 /* 186306 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65931 /* 186309 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65932 /* 186313 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
65933 /* 186317 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65934 /* 186321 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65935 /* 186324 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65936 /* 186328 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65937 /* 186332 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65938 /* 186336 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65939 /* 186338 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65940 /* 186345 */ // (smax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMAXSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65941 /* 186345 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rm),
65942 /* 186348 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65943 /* 186350 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
65944 /* 186352 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65945 /* 186356 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65946 /* 186361 */ GIR_RootConstrainSelectedInstOperands,
65947 /* 186362 */ // GIR_Coverage, 23982,
65948 /* 186362 */ GIR_EraseRootFromParent_Done,
65949 /* 186363 */ // Label 4178: @186363
65950 /* 186363 */ GIM_Try, /*On fail goto*//*Label 4179*/ GIMT_Encode4(186425), // Rule ID 3194 //
65951 /* 186368 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65952 /* 186371 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65953 /* 186375 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65954 /* 186379 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65955 /* 186383 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65956 /* 186387 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65957 /* 186390 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65958 /* 186394 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65959 /* 186398 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65960 /* 186400 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65961 /* 186407 */ // (smax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65962 /* 186407 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrm),
65963 /* 186410 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65964 /* 186412 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65965 /* 186414 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65966 /* 186418 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65967 /* 186423 */ GIR_RootConstrainSelectedInstOperands,
65968 /* 186424 */ // GIR_Coverage, 3194,
65969 /* 186424 */ GIR_EraseRootFromParent_Done,
65970 /* 186425 */ // Label 4179: @186425
65971 /* 186425 */ GIM_Try, /*On fail goto*//*Label 4180*/ GIMT_Encode4(186487), // Rule ID 5315 //
65972 /* 186430 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
65973 /* 186433 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65974 /* 186437 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
65975 /* 186441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
65976 /* 186445 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
65977 /* 186449 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
65978 /* 186452 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
65979 /* 186456 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
65980 /* 186460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
65981 /* 186462 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
65982 /* 186469 */ // (smax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
65983 /* 186469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rm),
65984 /* 186472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
65985 /* 186474 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
65986 /* 186476 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
65987 /* 186480 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
65988 /* 186485 */ GIR_RootConstrainSelectedInstOperands,
65989 /* 186486 */ // GIR_Coverage, 5315,
65990 /* 186486 */ GIR_EraseRootFromParent_Done,
65991 /* 186487 */ // Label 4180: @186487
65992 /* 186487 */ GIM_Try, /*On fail goto*//*Label 4181*/ GIMT_Encode4(186514), // Rule ID 3193 //
65993 /* 186492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
65994 /* 186495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65995 /* 186499 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65996 /* 186503 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
65997 /* 186507 */ // (smax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMAXSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
65998 /* 186507 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBYrr),
65999 /* 186512 */ GIR_RootConstrainSelectedInstOperands,
66000 /* 186513 */ // GIR_Coverage, 3193,
66001 /* 186513 */ GIR_Done,
66002 /* 186514 */ // Label 4181: @186514
66003 /* 186514 */ GIM_Try, /*On fail goto*//*Label 4182*/ GIMT_Encode4(186541), // Rule ID 5312 //
66004 /* 186519 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66005 /* 186522 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66006 /* 186526 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66007 /* 186530 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66008 /* 186534 */ // (smax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMAXSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
66009 /* 186534 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZ256rr),
66010 /* 186539 */ GIR_RootConstrainSelectedInstOperands,
66011 /* 186540 */ // GIR_Coverage, 5312,
66012 /* 186540 */ GIR_Done,
66013 /* 186541 */ // Label 4182: @186541
66014 /* 186541 */ GIM_Reject,
66015 /* 186542 */ // Label 4176: @186542
66016 /* 186542 */ GIM_Reject,
66017 /* 186543 */ // Label 4157: @186543
66018 /* 186543 */ GIM_Try, /*On fail goto*//*Label 4183*/ GIMT_Encode4(186698),
66019 /* 186548 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
66020 /* 186551 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
66021 /* 186554 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66022 /* 186558 */ GIM_Try, /*On fail goto*//*Label 4184*/ GIMT_Encode4(186616), // Rule ID 23979 //
66023 /* 186563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66024 /* 186566 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66025 /* 186570 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66026 /* 186574 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66027 /* 186577 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66028 /* 186581 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66029 /* 186585 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66030 /* 186589 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66031 /* 186591 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66032 /* 186598 */ // (smax:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMAXSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66033 /* 186598 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrm),
66034 /* 186601 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66035 /* 186603 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66036 /* 186605 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66037 /* 186609 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66038 /* 186614 */ GIR_RootConstrainSelectedInstOperands,
66039 /* 186615 */ // GIR_Coverage, 23979,
66040 /* 186615 */ GIR_EraseRootFromParent_Done,
66041 /* 186616 */ // Label 4184: @186616
66042 /* 186616 */ GIM_Try, /*On fail goto*//*Label 4185*/ GIMT_Encode4(186674), // Rule ID 5309 //
66043 /* 186621 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66044 /* 186624 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66045 /* 186628 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66046 /* 186632 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66047 /* 186636 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66048 /* 186639 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66049 /* 186643 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66050 /* 186647 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66051 /* 186649 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66052 /* 186656 */ // (smax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66053 /* 186656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrm),
66054 /* 186659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66055 /* 186661 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66056 /* 186663 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66057 /* 186667 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66058 /* 186672 */ GIR_RootConstrainSelectedInstOperands,
66059 /* 186673 */ // GIR_Coverage, 5309,
66060 /* 186673 */ GIR_EraseRootFromParent_Done,
66061 /* 186674 */ // Label 4185: @186674
66062 /* 186674 */ GIM_Try, /*On fail goto*//*Label 4186*/ GIMT_Encode4(186697), // Rule ID 5306 //
66063 /* 186679 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66064 /* 186682 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66065 /* 186686 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66066 /* 186690 */ // (smax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMAXSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
66067 /* 186690 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSBZrr),
66068 /* 186695 */ GIR_RootConstrainSelectedInstOperands,
66069 /* 186696 */ // GIR_Coverage, 5306,
66070 /* 186696 */ GIR_Done,
66071 /* 186697 */ // Label 4186: @186697
66072 /* 186697 */ GIM_Reject,
66073 /* 186698 */ // Label 4183: @186698
66074 /* 186698 */ GIM_Reject,
66075 /* 186699 */ // Label 4158: @186699
66076 /* 186699 */ GIM_Try, /*On fail goto*//*Label 4187*/ GIMT_Encode4(187040),
66077 /* 186704 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
66078 /* 186707 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
66079 /* 186710 */ GIM_Try, /*On fail goto*//*Label 4188*/ GIMT_Encode4(186772), // Rule ID 23529 //
66080 /* 186715 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66081 /* 186718 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66082 /* 186722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66083 /* 186726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66084 /* 186730 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66085 /* 186733 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66086 /* 186737 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66087 /* 186741 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66088 /* 186745 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66089 /* 186747 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66090 /* 186754 */ // (smax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMAXSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66091 /* 186754 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrm),
66092 /* 186757 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66093 /* 186759 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66094 /* 186761 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66095 /* 186765 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66096 /* 186770 */ GIR_RootConstrainSelectedInstOperands,
66097 /* 186771 */ // GIR_Coverage, 23529,
66098 /* 186771 */ GIR_EraseRootFromParent_Done,
66099 /* 186772 */ // Label 4188: @186772
66100 /* 186772 */ GIM_Try, /*On fail goto*//*Label 4189*/ GIMT_Encode4(186834), // Rule ID 23994 //
66101 /* 186777 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66102 /* 186780 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66103 /* 186784 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66104 /* 186788 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66105 /* 186792 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66106 /* 186795 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66107 /* 186799 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66108 /* 186803 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66109 /* 186807 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66110 /* 186809 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66111 /* 186816 */ // (smax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMAXSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66112 /* 186816 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rm),
66113 /* 186819 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66114 /* 186821 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66115 /* 186823 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66116 /* 186827 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66117 /* 186832 */ GIR_RootConstrainSelectedInstOperands,
66118 /* 186833 */ // GIR_Coverage, 23994,
66119 /* 186833 */ GIR_EraseRootFromParent_Done,
66120 /* 186834 */ // Label 4189: @186834
66121 /* 186834 */ GIM_Try, /*On fail goto*//*Label 4190*/ GIMT_Encode4(186896), // Rule ID 2631 //
66122 /* 186839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66123 /* 186842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66124 /* 186846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66125 /* 186850 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66126 /* 186854 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66127 /* 186858 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66128 /* 186861 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66129 /* 186865 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66130 /* 186869 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66131 /* 186871 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66132 /* 186878 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66133 /* 186878 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrm),
66134 /* 186881 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66135 /* 186883 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66136 /* 186885 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66137 /* 186889 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66138 /* 186894 */ GIR_RootConstrainSelectedInstOperands,
66139 /* 186895 */ // GIR_Coverage, 2631,
66140 /* 186895 */ GIR_EraseRootFromParent_Done,
66141 /* 186896 */ // Label 4190: @186896
66142 /* 186896 */ GIM_Try, /*On fail goto*//*Label 4191*/ GIMT_Encode4(186958), // Rule ID 5339 //
66143 /* 186901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66144 /* 186904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66145 /* 186908 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66146 /* 186912 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66147 /* 186916 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66148 /* 186920 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66149 /* 186923 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66150 /* 186927 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66151 /* 186931 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66152 /* 186933 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66153 /* 186940 */ // (smax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66154 /* 186940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rm),
66155 /* 186943 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66156 /* 186945 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66157 /* 186947 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66158 /* 186951 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66159 /* 186956 */ GIR_RootConstrainSelectedInstOperands,
66160 /* 186957 */ // GIR_Coverage, 5339,
66161 /* 186957 */ GIR_EraseRootFromParent_Done,
66162 /* 186958 */ // Label 4191: @186958
66163 /* 186958 */ GIM_Try, /*On fail goto*//*Label 4192*/ GIMT_Encode4(186985), // Rule ID 2630 //
66164 /* 186963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66165 /* 186966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66166 /* 186970 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66167 /* 186974 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66168 /* 186978 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMAXSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
66169 /* 186978 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWrr),
66170 /* 186983 */ GIR_RootConstrainSelectedInstOperands,
66171 /* 186984 */ // GIR_Coverage, 2630,
66172 /* 186984 */ GIR_Done,
66173 /* 186985 */ // Label 4192: @186985
66174 /* 186985 */ GIM_Try, /*On fail goto*//*Label 4193*/ GIMT_Encode4(187012), // Rule ID 2632 //
66175 /* 186990 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
66176 /* 186993 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66177 /* 186997 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66178 /* 187001 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66179 /* 187005 */ // (smax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMAXSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
66180 /* 187005 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSWrr),
66181 /* 187010 */ GIR_RootConstrainSelectedInstOperands,
66182 /* 187011 */ // GIR_Coverage, 2632,
66183 /* 187011 */ GIR_Done,
66184 /* 187012 */ // Label 4193: @187012
66185 /* 187012 */ GIM_Try, /*On fail goto*//*Label 4194*/ GIMT_Encode4(187039), // Rule ID 5336 //
66186 /* 187017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66187 /* 187020 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66188 /* 187024 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66189 /* 187028 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66190 /* 187032 */ // (smax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMAXSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
66191 /* 187032 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ128rr),
66192 /* 187037 */ GIR_RootConstrainSelectedInstOperands,
66193 /* 187038 */ // GIR_Coverage, 5336,
66194 /* 187038 */ GIR_Done,
66195 /* 187039 */ // Label 4194: @187039
66196 /* 187039 */ GIM_Reject,
66197 /* 187040 */ // Label 4187: @187040
66198 /* 187040 */ GIM_Reject,
66199 /* 187041 */ // Label 4159: @187041
66200 /* 187041 */ GIM_Try, /*On fail goto*//*Label 4195*/ GIMT_Encode4(187355),
66201 /* 187046 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
66202 /* 187049 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
66203 /* 187052 */ GIM_Try, /*On fail goto*//*Label 4196*/ GIMT_Encode4(187114), // Rule ID 23531 //
66204 /* 187057 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66205 /* 187060 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66206 /* 187064 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66207 /* 187068 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66208 /* 187072 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66209 /* 187075 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66210 /* 187079 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66211 /* 187083 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66212 /* 187087 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66213 /* 187089 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66214 /* 187096 */ // (smax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMAXSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66215 /* 187096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrm),
66216 /* 187099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66217 /* 187101 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66218 /* 187103 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66219 /* 187107 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66220 /* 187112 */ GIR_RootConstrainSelectedInstOperands,
66221 /* 187113 */ // GIR_Coverage, 23531,
66222 /* 187113 */ GIR_EraseRootFromParent_Done,
66223 /* 187114 */ // Label 4196: @187114
66224 /* 187114 */ GIM_Try, /*On fail goto*//*Label 4197*/ GIMT_Encode4(187176), // Rule ID 23991 //
66225 /* 187119 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66226 /* 187122 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66227 /* 187126 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66228 /* 187130 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66229 /* 187134 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66230 /* 187137 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66231 /* 187141 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66232 /* 187145 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66233 /* 187149 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66234 /* 187151 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66235 /* 187158 */ // (smax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMAXSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66236 /* 187158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rm),
66237 /* 187161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66238 /* 187163 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66239 /* 187165 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66240 /* 187169 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66241 /* 187174 */ GIR_RootConstrainSelectedInstOperands,
66242 /* 187175 */ // GIR_Coverage, 23991,
66243 /* 187175 */ GIR_EraseRootFromParent_Done,
66244 /* 187176 */ // Label 4197: @187176
66245 /* 187176 */ GIM_Try, /*On fail goto*//*Label 4198*/ GIMT_Encode4(187238), // Rule ID 2635 //
66246 /* 187181 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66247 /* 187184 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66248 /* 187188 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66249 /* 187192 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66250 /* 187196 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66251 /* 187200 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66252 /* 187203 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66253 /* 187207 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66254 /* 187211 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66255 /* 187213 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66256 /* 187220 */ // (smax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66257 /* 187220 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrm),
66258 /* 187223 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66259 /* 187225 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66260 /* 187227 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66261 /* 187231 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66262 /* 187236 */ GIR_RootConstrainSelectedInstOperands,
66263 /* 187237 */ // GIR_Coverage, 2635,
66264 /* 187237 */ GIR_EraseRootFromParent_Done,
66265 /* 187238 */ // Label 4198: @187238
66266 /* 187238 */ GIM_Try, /*On fail goto*//*Label 4199*/ GIMT_Encode4(187300), // Rule ID 5333 //
66267 /* 187243 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66268 /* 187246 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66269 /* 187250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66270 /* 187254 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66271 /* 187258 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66272 /* 187262 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66273 /* 187265 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66274 /* 187269 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66275 /* 187273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66276 /* 187275 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66277 /* 187282 */ // (smax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66278 /* 187282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rm),
66279 /* 187285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66280 /* 187287 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66281 /* 187289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66282 /* 187293 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66283 /* 187298 */ GIR_RootConstrainSelectedInstOperands,
66284 /* 187299 */ // GIR_Coverage, 5333,
66285 /* 187299 */ GIR_EraseRootFromParent_Done,
66286 /* 187300 */ // Label 4199: @187300
66287 /* 187300 */ GIM_Try, /*On fail goto*//*Label 4200*/ GIMT_Encode4(187327), // Rule ID 2634 //
66288 /* 187305 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
66289 /* 187308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66290 /* 187312 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66291 /* 187316 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66292 /* 187320 */ // (smax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMAXSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
66293 /* 187320 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWYrr),
66294 /* 187325 */ GIR_RootConstrainSelectedInstOperands,
66295 /* 187326 */ // GIR_Coverage, 2634,
66296 /* 187326 */ GIR_Done,
66297 /* 187327 */ // Label 4200: @187327
66298 /* 187327 */ GIM_Try, /*On fail goto*//*Label 4201*/ GIMT_Encode4(187354), // Rule ID 5330 //
66299 /* 187332 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66300 /* 187335 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66301 /* 187339 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66302 /* 187343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66303 /* 187347 */ // (smax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMAXSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
66304 /* 187347 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZ256rr),
66305 /* 187352 */ GIR_RootConstrainSelectedInstOperands,
66306 /* 187353 */ // GIR_Coverage, 5330,
66307 /* 187353 */ GIR_Done,
66308 /* 187354 */ // Label 4201: @187354
66309 /* 187354 */ GIM_Reject,
66310 /* 187355 */ // Label 4195: @187355
66311 /* 187355 */ GIM_Reject,
66312 /* 187356 */ // Label 4160: @187356
66313 /* 187356 */ GIM_Try, /*On fail goto*//*Label 4202*/ GIMT_Encode4(187511),
66314 /* 187361 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
66315 /* 187364 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
66316 /* 187367 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66317 /* 187371 */ GIM_Try, /*On fail goto*//*Label 4203*/ GIMT_Encode4(187429), // Rule ID 23988 //
66318 /* 187376 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66319 /* 187379 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66320 /* 187383 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66321 /* 187387 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66322 /* 187390 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66323 /* 187394 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66324 /* 187398 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66325 /* 187402 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66326 /* 187404 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66327 /* 187411 */ // (smax:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMAXSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66328 /* 187411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrm),
66329 /* 187414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66330 /* 187416 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66331 /* 187418 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66332 /* 187422 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66333 /* 187427 */ GIR_RootConstrainSelectedInstOperands,
66334 /* 187428 */ // GIR_Coverage, 23988,
66335 /* 187428 */ GIR_EraseRootFromParent_Done,
66336 /* 187429 */ // Label 4203: @187429
66337 /* 187429 */ GIM_Try, /*On fail goto*//*Label 4204*/ GIMT_Encode4(187487), // Rule ID 5327 //
66338 /* 187434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66339 /* 187437 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66340 /* 187441 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66341 /* 187445 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66342 /* 187449 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66343 /* 187452 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66344 /* 187456 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66345 /* 187460 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66346 /* 187462 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66347 /* 187469 */ // (smax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
66348 /* 187469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrm),
66349 /* 187472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66350 /* 187474 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66351 /* 187476 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66352 /* 187480 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66353 /* 187485 */ GIR_RootConstrainSelectedInstOperands,
66354 /* 187486 */ // GIR_Coverage, 5327,
66355 /* 187486 */ GIR_EraseRootFromParent_Done,
66356 /* 187487 */ // Label 4204: @187487
66357 /* 187487 */ GIM_Try, /*On fail goto*//*Label 4205*/ GIMT_Encode4(187510), // Rule ID 5324 //
66358 /* 187492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
66359 /* 187495 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66360 /* 187499 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66361 /* 187503 */ // (smax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMAXSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
66362 /* 187503 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSWZrr),
66363 /* 187508 */ GIR_RootConstrainSelectedInstOperands,
66364 /* 187509 */ // GIR_Coverage, 5324,
66365 /* 187509 */ GIR_Done,
66366 /* 187510 */ // Label 4205: @187510
66367 /* 187510 */ GIM_Reject,
66368 /* 187511 */ // Label 4202: @187511
66369 /* 187511 */ GIM_Reject,
66370 /* 187512 */ // Label 4161: @187512
66371 /* 187512 */ GIM_Try, /*On fail goto*//*Label 4206*/ GIMT_Encode4(187853),
66372 /* 187517 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
66373 /* 187520 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
66374 /* 187523 */ GIM_Try, /*On fail goto*//*Label 4207*/ GIMT_Encode4(187585), // Rule ID 23561 //
66375 /* 187528 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
66376 /* 187531 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66377 /* 187535 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66378 /* 187539 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66379 /* 187543 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66380 /* 187546 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66381 /* 187550 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66382 /* 187554 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66383 /* 187558 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66384 /* 187560 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66385 /* 187567 */ // (smax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMAXSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66386 /* 187567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrm),
66387 /* 187570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66388 /* 187572 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66389 /* 187574 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66390 /* 187578 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66391 /* 187583 */ GIR_RootConstrainSelectedInstOperands,
66392 /* 187584 */ // GIR_Coverage, 23561,
66393 /* 187584 */ GIR_EraseRootFromParent_Done,
66394 /* 187585 */ // Label 4207: @187585
66395 /* 187585 */ GIM_Try, /*On fail goto*//*Label 4208*/ GIMT_Encode4(187647), // Rule ID 24009 //
66396 /* 187590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66397 /* 187593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66398 /* 187597 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66399 /* 187601 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66400 /* 187605 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66401 /* 187608 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66402 /* 187612 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66403 /* 187616 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66404 /* 187620 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66405 /* 187622 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66406 /* 187629 */ // (smax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMAXSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66407 /* 187629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rm),
66408 /* 187632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66409 /* 187634 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66410 /* 187636 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66411 /* 187640 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66412 /* 187645 */ GIR_RootConstrainSelectedInstOperands,
66413 /* 187646 */ // GIR_Coverage, 24009,
66414 /* 187646 */ GIR_EraseRootFromParent_Done,
66415 /* 187647 */ // Label 4208: @187647
66416 /* 187647 */ GIM_Try, /*On fail goto*//*Label 4209*/ GIMT_Encode4(187709), // Rule ID 3166 //
66417 /* 187652 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
66418 /* 187655 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66419 /* 187659 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66420 /* 187663 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66421 /* 187667 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66422 /* 187671 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66423 /* 187674 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66424 /* 187678 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66425 /* 187682 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66426 /* 187684 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66427 /* 187691 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66428 /* 187691 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrm),
66429 /* 187694 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66430 /* 187696 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66431 /* 187698 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66432 /* 187702 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66433 /* 187707 */ GIR_RootConstrainSelectedInstOperands,
66434 /* 187708 */ // GIR_Coverage, 3166,
66435 /* 187708 */ GIR_EraseRootFromParent_Done,
66436 /* 187709 */ // Label 4209: @187709
66437 /* 187709 */ GIM_Try, /*On fail goto*//*Label 4210*/ GIMT_Encode4(187771), // Rule ID 5363 //
66438 /* 187714 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66439 /* 187717 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66440 /* 187721 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66441 /* 187725 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66442 /* 187729 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66443 /* 187733 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66444 /* 187736 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66445 /* 187740 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66446 /* 187744 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66447 /* 187746 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66448 /* 187753 */ // (smax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66449 /* 187753 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rm),
66450 /* 187756 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66451 /* 187758 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66452 /* 187760 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66453 /* 187764 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66454 /* 187769 */ GIR_RootConstrainSelectedInstOperands,
66455 /* 187770 */ // GIR_Coverage, 5363,
66456 /* 187770 */ GIR_EraseRootFromParent_Done,
66457 /* 187771 */ // Label 4210: @187771
66458 /* 187771 */ GIM_Try, /*On fail goto*//*Label 4211*/ GIMT_Encode4(187798), // Rule ID 3165 //
66459 /* 187776 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
66460 /* 187779 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66461 /* 187783 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66462 /* 187787 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66463 /* 187791 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMAXSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
66464 /* 187791 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDrr),
66465 /* 187796 */ GIR_RootConstrainSelectedInstOperands,
66466 /* 187797 */ // GIR_Coverage, 3165,
66467 /* 187797 */ GIR_Done,
66468 /* 187798 */ // Label 4211: @187798
66469 /* 187798 */ GIM_Try, /*On fail goto*//*Label 4212*/ GIMT_Encode4(187825), // Rule ID 3207 //
66470 /* 187803 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
66471 /* 187806 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66472 /* 187810 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66473 /* 187814 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66474 /* 187818 */ // (smax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMAXSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
66475 /* 187818 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXSDrr),
66476 /* 187823 */ GIR_RootConstrainSelectedInstOperands,
66477 /* 187824 */ // GIR_Coverage, 3207,
66478 /* 187824 */ GIR_Done,
66479 /* 187825 */ // Label 4212: @187825
66480 /* 187825 */ GIM_Try, /*On fail goto*//*Label 4213*/ GIMT_Encode4(187852), // Rule ID 5360 //
66481 /* 187830 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66482 /* 187833 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66483 /* 187837 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66484 /* 187841 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66485 /* 187845 */ // (smax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMAXSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
66486 /* 187845 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ128rr),
66487 /* 187850 */ GIR_RootConstrainSelectedInstOperands,
66488 /* 187851 */ // GIR_Coverage, 5360,
66489 /* 187851 */ GIR_Done,
66490 /* 187852 */ // Label 4213: @187852
66491 /* 187852 */ GIM_Reject,
66492 /* 187853 */ // Label 4206: @187853
66493 /* 187853 */ GIM_Reject,
66494 /* 187854 */ // Label 4162: @187854
66495 /* 187854 */ GIM_Try, /*On fail goto*//*Label 4214*/ GIMT_Encode4(188168),
66496 /* 187859 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
66497 /* 187862 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
66498 /* 187865 */ GIM_Try, /*On fail goto*//*Label 4215*/ GIMT_Encode4(187927), // Rule ID 23570 //
66499 /* 187870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
66500 /* 187873 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66501 /* 187877 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66502 /* 187881 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66503 /* 187885 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66504 /* 187888 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66505 /* 187892 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66506 /* 187896 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66507 /* 187900 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66508 /* 187902 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66509 /* 187909 */ // (smax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMAXSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66510 /* 187909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrm),
66511 /* 187912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66512 /* 187914 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66513 /* 187916 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66514 /* 187920 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66515 /* 187925 */ GIR_RootConstrainSelectedInstOperands,
66516 /* 187926 */ // GIR_Coverage, 23570,
66517 /* 187926 */ GIR_EraseRootFromParent_Done,
66518 /* 187927 */ // Label 4215: @187927
66519 /* 187927 */ GIM_Try, /*On fail goto*//*Label 4216*/ GIMT_Encode4(187989), // Rule ID 24003 //
66520 /* 187932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66521 /* 187935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66522 /* 187939 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66523 /* 187943 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66524 /* 187947 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66525 /* 187950 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66526 /* 187954 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66527 /* 187958 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66528 /* 187962 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66529 /* 187964 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66530 /* 187971 */ // (smax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMAXSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66531 /* 187971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rm),
66532 /* 187974 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66533 /* 187976 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66534 /* 187978 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66535 /* 187982 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66536 /* 187987 */ GIR_RootConstrainSelectedInstOperands,
66537 /* 187988 */ // GIR_Coverage, 24003,
66538 /* 187988 */ GIR_EraseRootFromParent_Done,
66539 /* 187989 */ // Label 4216: @187989
66540 /* 187989 */ GIM_Try, /*On fail goto*//*Label 4217*/ GIMT_Encode4(188051), // Rule ID 3184 //
66541 /* 187994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
66542 /* 187997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66543 /* 188001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66544 /* 188005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66545 /* 188009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66546 /* 188013 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66547 /* 188016 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66548 /* 188020 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66549 /* 188024 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66550 /* 188026 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66551 /* 188033 */ // (smax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66552 /* 188033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrm),
66553 /* 188036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66554 /* 188038 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66555 /* 188040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66556 /* 188044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66557 /* 188049 */ GIR_RootConstrainSelectedInstOperands,
66558 /* 188050 */ // GIR_Coverage, 3184,
66559 /* 188050 */ GIR_EraseRootFromParent_Done,
66560 /* 188051 */ // Label 4217: @188051
66561 /* 188051 */ GIM_Try, /*On fail goto*//*Label 4218*/ GIMT_Encode4(188113), // Rule ID 5354 //
66562 /* 188056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66563 /* 188059 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66564 /* 188063 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66565 /* 188067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66566 /* 188071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66567 /* 188075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66568 /* 188078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66569 /* 188082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66570 /* 188086 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66571 /* 188088 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66572 /* 188095 */ // (smax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66573 /* 188095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rm),
66574 /* 188098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66575 /* 188100 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66576 /* 188102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66577 /* 188106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66578 /* 188111 */ GIR_RootConstrainSelectedInstOperands,
66579 /* 188112 */ // GIR_Coverage, 5354,
66580 /* 188112 */ GIR_EraseRootFromParent_Done,
66581 /* 188113 */ // Label 4218: @188113
66582 /* 188113 */ GIM_Try, /*On fail goto*//*Label 4219*/ GIMT_Encode4(188140), // Rule ID 3183 //
66583 /* 188118 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
66584 /* 188121 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66585 /* 188125 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66586 /* 188129 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
66587 /* 188133 */ // (smax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMAXSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
66588 /* 188133 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDYrr),
66589 /* 188138 */ GIR_RootConstrainSelectedInstOperands,
66590 /* 188139 */ // GIR_Coverage, 3183,
66591 /* 188139 */ GIR_Done,
66592 /* 188140 */ // Label 4219: @188140
66593 /* 188140 */ GIM_Try, /*On fail goto*//*Label 4220*/ GIMT_Encode4(188167), // Rule ID 5351 //
66594 /* 188145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66595 /* 188148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66596 /* 188152 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66597 /* 188156 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66598 /* 188160 */ // (smax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMAXSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
66599 /* 188160 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZ256rr),
66600 /* 188165 */ GIR_RootConstrainSelectedInstOperands,
66601 /* 188166 */ // GIR_Coverage, 5351,
66602 /* 188166 */ GIR_Done,
66603 /* 188167 */ // Label 4220: @188167
66604 /* 188167 */ GIM_Reject,
66605 /* 188168 */ // Label 4214: @188168
66606 /* 188168 */ GIM_Reject,
66607 /* 188169 */ // Label 4163: @188169
66608 /* 188169 */ GIM_Try, /*On fail goto*//*Label 4221*/ GIMT_Encode4(188324),
66609 /* 188174 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
66610 /* 188177 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
66611 /* 188180 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66612 /* 188184 */ GIM_Try, /*On fail goto*//*Label 4222*/ GIMT_Encode4(188242), // Rule ID 23997 //
66613 /* 188189 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66614 /* 188192 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66615 /* 188196 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66616 /* 188200 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66617 /* 188203 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66618 /* 188207 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66619 /* 188211 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66620 /* 188215 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66621 /* 188217 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66622 /* 188224 */ // (smax:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMAXSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66623 /* 188224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrm),
66624 /* 188227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66625 /* 188229 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66626 /* 188231 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66627 /* 188235 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66628 /* 188240 */ GIR_RootConstrainSelectedInstOperands,
66629 /* 188241 */ // GIR_Coverage, 23997,
66630 /* 188241 */ GIR_EraseRootFromParent_Done,
66631 /* 188242 */ // Label 4222: @188242
66632 /* 188242 */ GIM_Try, /*On fail goto*//*Label 4223*/ GIMT_Encode4(188300), // Rule ID 5345 //
66633 /* 188247 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66634 /* 188250 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66635 /* 188254 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66636 /* 188258 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66637 /* 188262 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66638 /* 188265 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66639 /* 188269 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66640 /* 188273 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66641 /* 188275 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66642 /* 188282 */ // (smax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
66643 /* 188282 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrm),
66644 /* 188285 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66645 /* 188287 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66646 /* 188289 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66647 /* 188293 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66648 /* 188298 */ GIR_RootConstrainSelectedInstOperands,
66649 /* 188299 */ // GIR_Coverage, 5345,
66650 /* 188299 */ GIR_EraseRootFromParent_Done,
66651 /* 188300 */ // Label 4223: @188300
66652 /* 188300 */ GIM_Try, /*On fail goto*//*Label 4224*/ GIMT_Encode4(188323), // Rule ID 5342 //
66653 /* 188305 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66654 /* 188308 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66655 /* 188312 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66656 /* 188316 */ // (smax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMAXSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
66657 /* 188316 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSDZrr),
66658 /* 188321 */ GIR_RootConstrainSelectedInstOperands,
66659 /* 188322 */ // GIR_Coverage, 5342,
66660 /* 188322 */ GIR_Done,
66661 /* 188323 */ // Label 4224: @188323
66662 /* 188323 */ GIM_Reject,
66663 /* 188324 */ // Label 4221: @188324
66664 /* 188324 */ GIM_Reject,
66665 /* 188325 */ // Label 4164: @188325
66666 /* 188325 */ GIM_Try, /*On fail goto*//*Label 4225*/ GIMT_Encode4(188653),
66667 /* 188330 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
66668 /* 188333 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
66669 /* 188336 */ GIM_Try, /*On fail goto*//*Label 4226*/ GIMT_Encode4(188398), // Rule ID 24027 //
66670 /* 188341 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66671 /* 188344 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66672 /* 188348 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66673 /* 188352 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66674 /* 188356 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66675 /* 188359 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66676 /* 188363 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66677 /* 188367 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66678 /* 188371 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66679 /* 188373 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66680 /* 188380 */ // (smax:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMAXSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66681 /* 188380 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rm),
66682 /* 188383 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66683 /* 188385 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66684 /* 188387 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66685 /* 188391 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66686 /* 188396 */ GIR_RootConstrainSelectedInstOperands,
66687 /* 188397 */ // GIR_Coverage, 24027,
66688 /* 188397 */ GIR_EraseRootFromParent_Done,
66689 /* 188398 */ // Label 4226: @188398
66690 /* 188398 */ GIM_Try, /*On fail goto*//*Label 4227*/ GIMT_Encode4(188460), // Rule ID 5390 //
66691 /* 188403 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66692 /* 188406 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66693 /* 188410 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66694 /* 188414 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66695 /* 188418 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66696 /* 188422 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66697 /* 188425 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66698 /* 188429 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66699 /* 188433 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66700 /* 188435 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66701 /* 188442 */ // (smax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66702 /* 188442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rm),
66703 /* 188445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66704 /* 188447 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66705 /* 188449 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66706 /* 188453 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66707 /* 188458 */ GIR_RootConstrainSelectedInstOperands,
66708 /* 188459 */ // GIR_Coverage, 5390,
66709 /* 188459 */ GIR_EraseRootFromParent_Done,
66710 /* 188460 */ // Label 4227: @188460
66711 /* 188460 */ GIM_Try, /*On fail goto*//*Label 4228*/ GIMT_Encode4(188487), // Rule ID 5387 //
66712 /* 188465 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66713 /* 188468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66714 /* 188472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66715 /* 188476 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66716 /* 188480 */ // (smax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMAXSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
66717 /* 188480 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ128rr),
66718 /* 188485 */ GIR_RootConstrainSelectedInstOperands,
66719 /* 188486 */ // GIR_Coverage, 5387,
66720 /* 188486 */ GIR_Done,
66721 /* 188487 */ // Label 4228: @188487
66722 /* 188487 */ GIM_Try, /*On fail goto*//*Label 4229*/ GIMT_Encode4(188652), // Rule ID 19995 //
66723 /* 188492 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
66724 /* 188495 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
66725 /* 188499 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66726 /* 188503 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66727 /* 188507 */ // (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] })
66728 /* 188507 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
66729 /* 188510 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66730 /* 188514 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66731 /* 188519 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
66732 /* 188521 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
66733 /* 188524 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66734 /* 188528 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66735 /* 188533 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
66736 /* 188536 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
66737 /* 188540 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
66738 /* 188543 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66739 /* 188548 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66740 /* 188553 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
66741 /* 188558 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
66742 /* 188561 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66743 /* 188565 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66744 /* 188570 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
66745 /* 188572 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
66746 /* 188575 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66747 /* 188579 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66748 /* 188584 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
66749 /* 188587 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
66750 /* 188591 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
66751 /* 188594 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66752 /* 188599 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66753 /* 188604 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
66754 /* 188609 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
66755 /* 188612 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
66756 /* 188616 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66757 /* 188621 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
66758 /* 188624 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
66759 /* 188627 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
66760 /* 188629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
66761 /* 188632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66762 /* 188634 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
66763 /* 188641 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
66764 /* 188646 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66765 /* 188651 */ // GIR_Coverage, 19995,
66766 /* 188651 */ GIR_EraseRootFromParent_Done,
66767 /* 188652 */ // Label 4229: @188652
66768 /* 188652 */ GIM_Reject,
66769 /* 188653 */ // Label 4225: @188653
66770 /* 188653 */ GIM_Reject,
66771 /* 188654 */ // Label 4165: @188654
66772 /* 188654 */ GIM_Try, /*On fail goto*//*Label 4230*/ GIMT_Encode4(188970),
66773 /* 188659 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
66774 /* 188662 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
66775 /* 188665 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66776 /* 188669 */ GIM_Try, /*On fail goto*//*Label 4231*/ GIMT_Encode4(188727), // Rule ID 24021 //
66777 /* 188674 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66778 /* 188677 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66779 /* 188681 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66780 /* 188685 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66781 /* 188688 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66782 /* 188692 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66783 /* 188696 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66784 /* 188700 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66785 /* 188702 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66786 /* 188709 */ // (smax:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMAXSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66787 /* 188709 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rm),
66788 /* 188712 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66789 /* 188714 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66790 /* 188716 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66791 /* 188720 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66792 /* 188725 */ GIR_RootConstrainSelectedInstOperands,
66793 /* 188726 */ // GIR_Coverage, 24021,
66794 /* 188726 */ GIR_EraseRootFromParent_Done,
66795 /* 188727 */ // Label 4231: @188727
66796 /* 188727 */ GIM_Try, /*On fail goto*//*Label 4232*/ GIMT_Encode4(188785), // Rule ID 5381 //
66797 /* 188732 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66798 /* 188735 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66799 /* 188739 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66800 /* 188743 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66801 /* 188747 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66802 /* 188750 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66803 /* 188754 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66804 /* 188758 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66805 /* 188760 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66806 /* 188767 */ // (smax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66807 /* 188767 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rm),
66808 /* 188770 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66809 /* 188772 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66810 /* 188774 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66811 /* 188778 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66812 /* 188783 */ GIR_RootConstrainSelectedInstOperands,
66813 /* 188784 */ // GIR_Coverage, 5381,
66814 /* 188784 */ GIR_EraseRootFromParent_Done,
66815 /* 188785 */ // Label 4232: @188785
66816 /* 188785 */ GIM_Try, /*On fail goto*//*Label 4233*/ GIMT_Encode4(188808), // Rule ID 5378 //
66817 /* 188790 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
66818 /* 188793 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66819 /* 188797 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66820 /* 188801 */ // (smax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMAXSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
66821 /* 188801 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZ256rr),
66822 /* 188806 */ GIR_RootConstrainSelectedInstOperands,
66823 /* 188807 */ // GIR_Coverage, 5378,
66824 /* 188807 */ GIR_Done,
66825 /* 188808 */ // Label 4233: @188808
66826 /* 188808 */ GIM_Try, /*On fail goto*//*Label 4234*/ GIMT_Encode4(188969), // Rule ID 19993 //
66827 /* 188813 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
66828 /* 188816 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66829 /* 188820 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
66830 /* 188824 */ // (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] })
66831 /* 188824 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
66832 /* 188827 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66833 /* 188831 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66834 /* 188836 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
66835 /* 188838 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
66836 /* 188841 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66837 /* 188845 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66838 /* 188850 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
66839 /* 188853 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
66840 /* 188857 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
66841 /* 188860 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66842 /* 188865 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66843 /* 188870 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
66844 /* 188875 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
66845 /* 188878 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
66846 /* 188882 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66847 /* 188887 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
66848 /* 188889 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
66849 /* 188892 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
66850 /* 188896 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66851 /* 188901 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
66852 /* 188904 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
66853 /* 188908 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
66854 /* 188911 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
66855 /* 188916 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66856 /* 188921 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
66857 /* 188926 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
66858 /* 188929 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
66859 /* 188933 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
66860 /* 188938 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
66861 /* 188941 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
66862 /* 188944 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
66863 /* 188946 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
66864 /* 188949 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66865 /* 188951 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
66866 /* 188958 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
66867 /* 188963 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
66868 /* 188968 */ // GIR_Coverage, 19993,
66869 /* 188968 */ GIR_EraseRootFromParent_Done,
66870 /* 188969 */ // Label 4234: @188969
66871 /* 188969 */ GIM_Reject,
66872 /* 188970 */ // Label 4230: @188970
66873 /* 188970 */ GIM_Reject,
66874 /* 188971 */ // Label 4166: @188971
66875 /* 188971 */ GIM_Try, /*On fail goto*//*Label 4235*/ GIMT_Encode4(189126),
66876 /* 188976 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
66877 /* 188979 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
66878 /* 188982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66879 /* 188986 */ GIM_Try, /*On fail goto*//*Label 4236*/ GIMT_Encode4(189044), // Rule ID 24015 //
66880 /* 188991 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66881 /* 188994 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66882 /* 188998 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66883 /* 189002 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66884 /* 189005 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66885 /* 189009 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66886 /* 189013 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66887 /* 189017 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66888 /* 189019 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66889 /* 189026 */ // (smax:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMAXSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66890 /* 189026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrm),
66891 /* 189029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66892 /* 189031 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66893 /* 189033 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66894 /* 189037 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66895 /* 189042 */ GIR_RootConstrainSelectedInstOperands,
66896 /* 189043 */ // GIR_Coverage, 24015,
66897 /* 189043 */ GIR_EraseRootFromParent_Done,
66898 /* 189044 */ // Label 4236: @189044
66899 /* 189044 */ GIM_Try, /*On fail goto*//*Label 4237*/ GIMT_Encode4(189102), // Rule ID 5372 //
66900 /* 189049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66901 /* 189052 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66902 /* 189056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66903 /* 189060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66904 /* 189064 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66905 /* 189067 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66906 /* 189071 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66907 /* 189075 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66908 /* 189077 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66909 /* 189084 */ // (smax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXSQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
66910 /* 189084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrm),
66911 /* 189087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66912 /* 189089 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
66913 /* 189091 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66914 /* 189095 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66915 /* 189100 */ GIR_RootConstrainSelectedInstOperands,
66916 /* 189101 */ // GIR_Coverage, 5372,
66917 /* 189101 */ GIR_EraseRootFromParent_Done,
66918 /* 189102 */ // Label 4237: @189102
66919 /* 189102 */ GIM_Try, /*On fail goto*//*Label 4238*/ GIMT_Encode4(189125), // Rule ID 5369 //
66920 /* 189107 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
66921 /* 189110 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66922 /* 189114 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
66923 /* 189118 */ // (smax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMAXSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
66924 /* 189118 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXSQZrr),
66925 /* 189123 */ GIR_RootConstrainSelectedInstOperands,
66926 /* 189124 */ // GIR_Coverage, 5369,
66927 /* 189124 */ GIR_Done,
66928 /* 189125 */ // Label 4238: @189125
66929 /* 189125 */ GIM_Reject,
66930 /* 189126 */ // Label 4235: @189126
66931 /* 189126 */ GIM_Reject,
66932 /* 189127 */ // Label 4167: @189127
66933 /* 189127 */ GIM_Reject,
66934 /* 189128 */ // Label 57: @189128
66935 /* 189128 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 4251*/ GIMT_Encode4(192428),
66936 /* 189139 */ /*GILLT_v16s8*//*Label 4239*/ GIMT_Encode4(189187),
66937 /* 189143 */ /*GILLT_v32s8*//*Label 4240*/ GIMT_Encode4(189529),
66938 /* 189147 */ /*GILLT_v64s8*//*Label 4241*/ GIMT_Encode4(189844),
66939 /* 189151 */ /*GILLT_v8s16*//*Label 4242*/ GIMT_Encode4(190000),
66940 /* 189155 */ /*GILLT_v16s16*//*Label 4243*/ GIMT_Encode4(190342),
66941 /* 189159 */ /*GILLT_v32s16*//*Label 4244*/ GIMT_Encode4(190657),
66942 /* 189163 */ /*GILLT_v4s32*//*Label 4245*/ GIMT_Encode4(190813),
66943 /* 189167 */ /*GILLT_v8s32*//*Label 4246*/ GIMT_Encode4(191155),
66944 /* 189171 */ /*GILLT_v16s32*//*Label 4247*/ GIMT_Encode4(191470),
66945 /* 189175 */ /*GILLT_v2s64*//*Label 4248*/ GIMT_Encode4(191626),
66946 /* 189179 */ /*GILLT_v4s64*//*Label 4249*/ GIMT_Encode4(191955),
66947 /* 189183 */ /*GILLT_v8s64*//*Label 4250*/ GIMT_Encode4(192272),
66948 /* 189187 */ // Label 4239: @189187
66949 /* 189187 */ GIM_Try, /*On fail goto*//*Label 4252*/ GIMT_Encode4(189528),
66950 /* 189192 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
66951 /* 189195 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
66952 /* 189198 */ GIM_Try, /*On fail goto*//*Label 4253*/ GIMT_Encode4(189260), // Rule ID 23520 //
66953 /* 189203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66954 /* 189206 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66955 /* 189210 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66956 /* 189214 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66957 /* 189218 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66958 /* 189221 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66959 /* 189225 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66960 /* 189229 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66961 /* 189233 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66962 /* 189235 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66963 /* 189242 */ // (umin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMINUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66964 /* 189242 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBrm),
66965 /* 189245 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66966 /* 189247 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66967 /* 189249 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66968 /* 189253 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66969 /* 189258 */ GIR_RootConstrainSelectedInstOperands,
66970 /* 189259 */ // GIR_Coverage, 23520,
66971 /* 189259 */ GIR_EraseRootFromParent_Done,
66972 /* 189260 */ // Label 4253: @189260
66973 /* 189260 */ GIM_Try, /*On fail goto*//*Label 4254*/ GIMT_Encode4(189322), // Rule ID 24147 //
66974 /* 189265 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
66975 /* 189268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66976 /* 189272 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
66977 /* 189276 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
66978 /* 189280 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
66979 /* 189283 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
66980 /* 189287 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
66981 /* 189291 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
66982 /* 189295 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
66983 /* 189297 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
66984 /* 189304 */ // (umin:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMINUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
66985 /* 189304 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rm),
66986 /* 189307 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
66987 /* 189309 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
66988 /* 189311 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
66989 /* 189315 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
66990 /* 189320 */ GIR_RootConstrainSelectedInstOperands,
66991 /* 189321 */ // GIR_Coverage, 24147,
66992 /* 189321 */ GIR_EraseRootFromParent_Done,
66993 /* 189322 */ // Label 4254: @189322
66994 /* 189322 */ GIM_Try, /*On fail goto*//*Label 4255*/ GIMT_Encode4(189384), // Rule ID 2613 //
66995 /* 189327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
66996 /* 189330 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66997 /* 189334 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
66998 /* 189338 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
66999 /* 189342 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67000 /* 189346 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67001 /* 189349 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67002 /* 189353 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67003 /* 189357 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67004 /* 189359 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67005 /* 189366 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67006 /* 189366 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBrm),
67007 /* 189369 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67008 /* 189371 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67009 /* 189373 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67010 /* 189377 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67011 /* 189382 */ GIR_RootConstrainSelectedInstOperands,
67012 /* 189383 */ // GIR_Coverage, 2613,
67013 /* 189383 */ GIR_EraseRootFromParent_Done,
67014 /* 189384 */ // Label 4255: @189384
67015 /* 189384 */ GIM_Try, /*On fail goto*//*Label 4256*/ GIMT_Encode4(189446), // Rule ID 5591 //
67016 /* 189389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67017 /* 189392 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67018 /* 189396 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67019 /* 189400 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67020 /* 189404 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67021 /* 189408 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67022 /* 189411 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67023 /* 189415 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67024 /* 189419 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67025 /* 189421 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67026 /* 189428 */ // (umin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67027 /* 189428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rm),
67028 /* 189431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67029 /* 189433 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67030 /* 189435 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67031 /* 189439 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67032 /* 189444 */ GIR_RootConstrainSelectedInstOperands,
67033 /* 189445 */ // GIR_Coverage, 5591,
67034 /* 189445 */ GIR_EraseRootFromParent_Done,
67035 /* 189446 */ // Label 4256: @189446
67036 /* 189446 */ GIM_Try, /*On fail goto*//*Label 4257*/ GIMT_Encode4(189473), // Rule ID 2612 //
67037 /* 189451 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67038 /* 189454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67039 /* 189458 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67040 /* 189462 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67041 /* 189466 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMINUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
67042 /* 189466 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBrr),
67043 /* 189471 */ GIR_RootConstrainSelectedInstOperands,
67044 /* 189472 */ // GIR_Coverage, 2612,
67045 /* 189472 */ GIR_Done,
67046 /* 189473 */ // Label 4257: @189473
67047 /* 189473 */ GIM_Try, /*On fail goto*//*Label 4258*/ GIMT_Encode4(189500), // Rule ID 2614 //
67048 /* 189478 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
67049 /* 189481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67050 /* 189485 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67051 /* 189489 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67052 /* 189493 */ // (umin:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMINUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
67053 /* 189493 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUBrr),
67054 /* 189498 */ GIR_RootConstrainSelectedInstOperands,
67055 /* 189499 */ // GIR_Coverage, 2614,
67056 /* 189499 */ GIR_Done,
67057 /* 189500 */ // Label 4258: @189500
67058 /* 189500 */ GIM_Try, /*On fail goto*//*Label 4259*/ GIMT_Encode4(189527), // Rule ID 5588 //
67059 /* 189505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67060 /* 189508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67061 /* 189512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67062 /* 189516 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67063 /* 189520 */ // (umin:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMINUBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
67064 /* 189520 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ128rr),
67065 /* 189525 */ GIR_RootConstrainSelectedInstOperands,
67066 /* 189526 */ // GIR_Coverage, 5588,
67067 /* 189526 */ GIR_Done,
67068 /* 189527 */ // Label 4259: @189527
67069 /* 189527 */ GIM_Reject,
67070 /* 189528 */ // Label 4252: @189528
67071 /* 189528 */ GIM_Reject,
67072 /* 189529 */ // Label 4240: @189529
67073 /* 189529 */ GIM_Try, /*On fail goto*//*Label 4260*/ GIMT_Encode4(189843),
67074 /* 189534 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
67075 /* 189537 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
67076 /* 189540 */ GIM_Try, /*On fail goto*//*Label 4261*/ GIMT_Encode4(189602), // Rule ID 23522 //
67077 /* 189545 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67078 /* 189548 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67079 /* 189552 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67080 /* 189556 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67081 /* 189560 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67082 /* 189563 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67083 /* 189567 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67084 /* 189571 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67085 /* 189575 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67086 /* 189577 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67087 /* 189584 */ // (umin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMINUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67088 /* 189584 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrm),
67089 /* 189587 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67090 /* 189589 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67091 /* 189591 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67092 /* 189595 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67093 /* 189600 */ GIR_RootConstrainSelectedInstOperands,
67094 /* 189601 */ // GIR_Coverage, 23522,
67095 /* 189601 */ GIR_EraseRootFromParent_Done,
67096 /* 189602 */ // Label 4261: @189602
67097 /* 189602 */ GIM_Try, /*On fail goto*//*Label 4262*/ GIMT_Encode4(189664), // Rule ID 24144 //
67098 /* 189607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67099 /* 189610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67100 /* 189614 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67101 /* 189618 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67102 /* 189622 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67103 /* 189625 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67104 /* 189629 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67105 /* 189633 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67106 /* 189637 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67107 /* 189639 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67108 /* 189646 */ // (umin:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMINUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67109 /* 189646 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rm),
67110 /* 189649 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67111 /* 189651 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67112 /* 189653 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67113 /* 189657 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67114 /* 189662 */ GIR_RootConstrainSelectedInstOperands,
67115 /* 189663 */ // GIR_Coverage, 24144,
67116 /* 189663 */ GIR_EraseRootFromParent_Done,
67117 /* 189664 */ // Label 4262: @189664
67118 /* 189664 */ GIM_Try, /*On fail goto*//*Label 4263*/ GIMT_Encode4(189726), // Rule ID 2617 //
67119 /* 189669 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67120 /* 189672 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67121 /* 189676 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67122 /* 189680 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67123 /* 189684 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67124 /* 189688 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67125 /* 189691 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67126 /* 189695 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67127 /* 189699 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67128 /* 189701 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67129 /* 189708 */ // (umin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67130 /* 189708 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrm),
67131 /* 189711 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67132 /* 189713 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67133 /* 189715 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67134 /* 189719 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67135 /* 189724 */ GIR_RootConstrainSelectedInstOperands,
67136 /* 189725 */ // GIR_Coverage, 2617,
67137 /* 189725 */ GIR_EraseRootFromParent_Done,
67138 /* 189726 */ // Label 4263: @189726
67139 /* 189726 */ GIM_Try, /*On fail goto*//*Label 4264*/ GIMT_Encode4(189788), // Rule ID 5585 //
67140 /* 189731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67141 /* 189734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67142 /* 189738 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67143 /* 189742 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67144 /* 189746 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67145 /* 189750 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67146 /* 189753 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67147 /* 189757 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67148 /* 189761 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67149 /* 189763 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67150 /* 189770 */ // (umin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67151 /* 189770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rm),
67152 /* 189773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67153 /* 189775 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67154 /* 189777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67155 /* 189781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67156 /* 189786 */ GIR_RootConstrainSelectedInstOperands,
67157 /* 189787 */ // GIR_Coverage, 5585,
67158 /* 189787 */ GIR_EraseRootFromParent_Done,
67159 /* 189788 */ // Label 4264: @189788
67160 /* 189788 */ GIM_Try, /*On fail goto*//*Label 4265*/ GIMT_Encode4(189815), // Rule ID 2616 //
67161 /* 189793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67162 /* 189796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67163 /* 189800 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67164 /* 189804 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67165 /* 189808 */ // (umin:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMINUBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
67166 /* 189808 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBYrr),
67167 /* 189813 */ GIR_RootConstrainSelectedInstOperands,
67168 /* 189814 */ // GIR_Coverage, 2616,
67169 /* 189814 */ GIR_Done,
67170 /* 189815 */ // Label 4265: @189815
67171 /* 189815 */ GIM_Try, /*On fail goto*//*Label 4266*/ GIMT_Encode4(189842), // Rule ID 5582 //
67172 /* 189820 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67173 /* 189823 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67174 /* 189827 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67175 /* 189831 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67176 /* 189835 */ // (umin:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMINUBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
67177 /* 189835 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZ256rr),
67178 /* 189840 */ GIR_RootConstrainSelectedInstOperands,
67179 /* 189841 */ // GIR_Coverage, 5582,
67180 /* 189841 */ GIR_Done,
67181 /* 189842 */ // Label 4266: @189842
67182 /* 189842 */ GIM_Reject,
67183 /* 189843 */ // Label 4260: @189843
67184 /* 189843 */ GIM_Reject,
67185 /* 189844 */ // Label 4241: @189844
67186 /* 189844 */ GIM_Try, /*On fail goto*//*Label 4267*/ GIMT_Encode4(189999),
67187 /* 189849 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
67188 /* 189852 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
67189 /* 189855 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67190 /* 189859 */ GIM_Try, /*On fail goto*//*Label 4268*/ GIMT_Encode4(189917), // Rule ID 24141 //
67191 /* 189864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67192 /* 189867 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67193 /* 189871 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67194 /* 189875 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67195 /* 189878 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67196 /* 189882 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67197 /* 189886 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67198 /* 189890 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67199 /* 189892 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67200 /* 189899 */ // (umin:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMINUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67201 /* 189899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrm),
67202 /* 189902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67203 /* 189904 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67204 /* 189906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67205 /* 189910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67206 /* 189915 */ GIR_RootConstrainSelectedInstOperands,
67207 /* 189916 */ // GIR_Coverage, 24141,
67208 /* 189916 */ GIR_EraseRootFromParent_Done,
67209 /* 189917 */ // Label 4268: @189917
67210 /* 189917 */ GIM_Try, /*On fail goto*//*Label 4269*/ GIMT_Encode4(189975), // Rule ID 5579 //
67211 /* 189922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67212 /* 189925 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67213 /* 189929 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67214 /* 189933 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67215 /* 189937 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67216 /* 189940 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67217 /* 189944 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67218 /* 189948 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67219 /* 189950 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67220 /* 189957 */ // (umin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
67221 /* 189957 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrm),
67222 /* 189960 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67223 /* 189962 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67224 /* 189964 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67225 /* 189968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67226 /* 189973 */ GIR_RootConstrainSelectedInstOperands,
67227 /* 189974 */ // GIR_Coverage, 5579,
67228 /* 189974 */ GIR_EraseRootFromParent_Done,
67229 /* 189975 */ // Label 4269: @189975
67230 /* 189975 */ GIM_Try, /*On fail goto*//*Label 4270*/ GIMT_Encode4(189998), // Rule ID 5576 //
67231 /* 189980 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67232 /* 189983 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67233 /* 189987 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67234 /* 189991 */ // (umin:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMINUBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
67235 /* 189991 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUBZrr),
67236 /* 189996 */ GIR_RootConstrainSelectedInstOperands,
67237 /* 189997 */ // GIR_Coverage, 5576,
67238 /* 189997 */ GIR_Done,
67239 /* 189998 */ // Label 4270: @189998
67240 /* 189998 */ GIM_Reject,
67241 /* 189999 */ // Label 4267: @189999
67242 /* 189999 */ GIM_Reject,
67243 /* 190000 */ // Label 4242: @190000
67244 /* 190000 */ GIM_Try, /*On fail goto*//*Label 4271*/ GIMT_Encode4(190341),
67245 /* 190005 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
67246 /* 190008 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
67247 /* 190011 */ GIM_Try, /*On fail goto*//*Label 4272*/ GIMT_Encode4(190073), // Rule ID 23565 //
67248 /* 190016 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67249 /* 190019 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67250 /* 190023 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67251 /* 190027 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67252 /* 190031 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67253 /* 190034 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67254 /* 190038 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67255 /* 190042 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67256 /* 190046 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67257 /* 190048 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67258 /* 190055 */ // (umin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMINUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67259 /* 190055 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWrm),
67260 /* 190058 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67261 /* 190060 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67262 /* 190062 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67263 /* 190066 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67264 /* 190071 */ GIR_RootConstrainSelectedInstOperands,
67265 /* 190072 */ // GIR_Coverage, 23565,
67266 /* 190072 */ GIR_EraseRootFromParent_Done,
67267 /* 190073 */ // Label 4272: @190073
67268 /* 190073 */ GIM_Try, /*On fail goto*//*Label 4273*/ GIMT_Encode4(190135), // Rule ID 24156 //
67269 /* 190078 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67270 /* 190081 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67271 /* 190085 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67272 /* 190089 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67273 /* 190093 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67274 /* 190096 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67275 /* 190100 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67276 /* 190104 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67277 /* 190108 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67278 /* 190110 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67279 /* 190117 */ // (umin:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMINUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67280 /* 190117 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rm),
67281 /* 190120 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67282 /* 190122 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67283 /* 190124 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67284 /* 190128 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67285 /* 190133 */ GIR_RootConstrainSelectedInstOperands,
67286 /* 190134 */ // GIR_Coverage, 24156,
67287 /* 190134 */ GIR_EraseRootFromParent_Done,
67288 /* 190135 */ // Label 4273: @190135
67289 /* 190135 */ GIM_Try, /*On fail goto*//*Label 4274*/ GIMT_Encode4(190197), // Rule ID 3174 //
67290 /* 190140 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67291 /* 190143 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67292 /* 190147 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67293 /* 190151 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67294 /* 190155 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67295 /* 190159 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67296 /* 190162 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67297 /* 190166 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67298 /* 190170 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67299 /* 190172 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67300 /* 190179 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67301 /* 190179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWrm),
67302 /* 190182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67303 /* 190184 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67304 /* 190186 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67305 /* 190190 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67306 /* 190195 */ GIR_RootConstrainSelectedInstOperands,
67307 /* 190196 */ // GIR_Coverage, 3174,
67308 /* 190196 */ GIR_EraseRootFromParent_Done,
67309 /* 190197 */ // Label 4274: @190197
67310 /* 190197 */ GIM_Try, /*On fail goto*//*Label 4275*/ GIMT_Encode4(190259), // Rule ID 5609 //
67311 /* 190202 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67312 /* 190205 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67313 /* 190209 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67314 /* 190213 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67315 /* 190217 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67316 /* 190221 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67317 /* 190224 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67318 /* 190228 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67319 /* 190232 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67320 /* 190234 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67321 /* 190241 */ // (umin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67322 /* 190241 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rm),
67323 /* 190244 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67324 /* 190246 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67325 /* 190248 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67326 /* 190252 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67327 /* 190257 */ GIR_RootConstrainSelectedInstOperands,
67328 /* 190258 */ // GIR_Coverage, 5609,
67329 /* 190258 */ GIR_EraseRootFromParent_Done,
67330 /* 190259 */ // Label 4275: @190259
67331 /* 190259 */ GIM_Try, /*On fail goto*//*Label 4276*/ GIMT_Encode4(190286), // Rule ID 3173 //
67332 /* 190264 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
67333 /* 190267 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67334 /* 190271 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67335 /* 190275 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67336 /* 190279 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMINUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
67337 /* 190279 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWrr),
67338 /* 190284 */ GIR_RootConstrainSelectedInstOperands,
67339 /* 190285 */ // GIR_Coverage, 3173,
67340 /* 190285 */ GIR_Done,
67341 /* 190286 */ // Label 4276: @190286
67342 /* 190286 */ GIM_Try, /*On fail goto*//*Label 4277*/ GIMT_Encode4(190313), // Rule ID 3203 //
67343 /* 190291 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
67344 /* 190294 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67345 /* 190298 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67346 /* 190302 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67347 /* 190306 */ // (umin:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMINUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
67348 /* 190306 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUWrr),
67349 /* 190311 */ GIR_RootConstrainSelectedInstOperands,
67350 /* 190312 */ // GIR_Coverage, 3203,
67351 /* 190312 */ GIR_Done,
67352 /* 190313 */ // Label 4277: @190313
67353 /* 190313 */ GIM_Try, /*On fail goto*//*Label 4278*/ GIMT_Encode4(190340), // Rule ID 5606 //
67354 /* 190318 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67355 /* 190321 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67356 /* 190325 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67357 /* 190329 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67358 /* 190333 */ // (umin:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMINUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
67359 /* 190333 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ128rr),
67360 /* 190338 */ GIR_RootConstrainSelectedInstOperands,
67361 /* 190339 */ // GIR_Coverage, 5606,
67362 /* 190339 */ GIR_Done,
67363 /* 190340 */ // Label 4278: @190340
67364 /* 190340 */ GIM_Reject,
67365 /* 190341 */ // Label 4271: @190341
67366 /* 190341 */ GIM_Reject,
67367 /* 190342 */ // Label 4243: @190342
67368 /* 190342 */ GIM_Try, /*On fail goto*//*Label 4279*/ GIMT_Encode4(190656),
67369 /* 190347 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
67370 /* 190350 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
67371 /* 190353 */ GIM_Try, /*On fail goto*//*Label 4280*/ GIMT_Encode4(190415), // Rule ID 23574 //
67372 /* 190358 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67373 /* 190361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67374 /* 190365 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67375 /* 190369 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67376 /* 190373 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67377 /* 190376 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67378 /* 190380 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67379 /* 190384 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67380 /* 190388 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67381 /* 190390 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67382 /* 190397 */ // (umin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMINUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67383 /* 190397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrm),
67384 /* 190400 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67385 /* 190402 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67386 /* 190404 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67387 /* 190408 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67388 /* 190413 */ GIR_RootConstrainSelectedInstOperands,
67389 /* 190414 */ // GIR_Coverage, 23574,
67390 /* 190414 */ GIR_EraseRootFromParent_Done,
67391 /* 190415 */ // Label 4280: @190415
67392 /* 190415 */ GIM_Try, /*On fail goto*//*Label 4281*/ GIMT_Encode4(190477), // Rule ID 24153 //
67393 /* 190420 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67394 /* 190423 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67395 /* 190427 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67396 /* 190431 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67397 /* 190435 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67398 /* 190438 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67399 /* 190442 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67400 /* 190446 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67401 /* 190450 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67402 /* 190452 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67403 /* 190459 */ // (umin:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMINUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67404 /* 190459 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rm),
67405 /* 190462 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67406 /* 190464 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67407 /* 190466 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67408 /* 190470 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67409 /* 190475 */ GIR_RootConstrainSelectedInstOperands,
67410 /* 190476 */ // GIR_Coverage, 24153,
67411 /* 190476 */ GIR_EraseRootFromParent_Done,
67412 /* 190477 */ // Label 4281: @190477
67413 /* 190477 */ GIM_Try, /*On fail goto*//*Label 4282*/ GIMT_Encode4(190539), // Rule ID 3192 //
67414 /* 190482 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67415 /* 190485 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67416 /* 190489 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67417 /* 190493 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67418 /* 190497 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67419 /* 190501 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67420 /* 190504 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67421 /* 190508 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67422 /* 190512 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67423 /* 190514 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67424 /* 190521 */ // (umin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67425 /* 190521 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrm),
67426 /* 190524 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67427 /* 190526 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67428 /* 190528 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67429 /* 190532 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67430 /* 190537 */ GIR_RootConstrainSelectedInstOperands,
67431 /* 190538 */ // GIR_Coverage, 3192,
67432 /* 190538 */ GIR_EraseRootFromParent_Done,
67433 /* 190539 */ // Label 4282: @190539
67434 /* 190539 */ GIM_Try, /*On fail goto*//*Label 4283*/ GIMT_Encode4(190601), // Rule ID 5603 //
67435 /* 190544 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67436 /* 190547 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67437 /* 190551 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67438 /* 190555 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67439 /* 190559 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67440 /* 190563 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67441 /* 190566 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67442 /* 190570 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67443 /* 190574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67444 /* 190576 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67445 /* 190583 */ // (umin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67446 /* 190583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rm),
67447 /* 190586 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67448 /* 190588 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67449 /* 190590 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67450 /* 190594 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67451 /* 190599 */ GIR_RootConstrainSelectedInstOperands,
67452 /* 190600 */ // GIR_Coverage, 5603,
67453 /* 190600 */ GIR_EraseRootFromParent_Done,
67454 /* 190601 */ // Label 4283: @190601
67455 /* 190601 */ GIM_Try, /*On fail goto*//*Label 4284*/ GIMT_Encode4(190628), // Rule ID 3191 //
67456 /* 190606 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
67457 /* 190609 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67458 /* 190613 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67459 /* 190617 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67460 /* 190621 */ // (umin:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMINUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
67461 /* 190621 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWYrr),
67462 /* 190626 */ GIR_RootConstrainSelectedInstOperands,
67463 /* 190627 */ // GIR_Coverage, 3191,
67464 /* 190627 */ GIR_Done,
67465 /* 190628 */ // Label 4284: @190628
67466 /* 190628 */ GIM_Try, /*On fail goto*//*Label 4285*/ GIMT_Encode4(190655), // Rule ID 5600 //
67467 /* 190633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
67468 /* 190636 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67469 /* 190640 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67470 /* 190644 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67471 /* 190648 */ // (umin:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMINUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
67472 /* 190648 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZ256rr),
67473 /* 190653 */ GIR_RootConstrainSelectedInstOperands,
67474 /* 190654 */ // GIR_Coverage, 5600,
67475 /* 190654 */ GIR_Done,
67476 /* 190655 */ // Label 4285: @190655
67477 /* 190655 */ GIM_Reject,
67478 /* 190656 */ // Label 4279: @190656
67479 /* 190656 */ GIM_Reject,
67480 /* 190657 */ // Label 4244: @190657
67481 /* 190657 */ GIM_Try, /*On fail goto*//*Label 4286*/ GIMT_Encode4(190812),
67482 /* 190662 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
67483 /* 190665 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
67484 /* 190668 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67485 /* 190672 */ GIM_Try, /*On fail goto*//*Label 4287*/ GIMT_Encode4(190730), // Rule ID 24150 //
67486 /* 190677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67487 /* 190680 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67488 /* 190684 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67489 /* 190688 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67490 /* 190691 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67491 /* 190695 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67492 /* 190699 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67493 /* 190703 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67494 /* 190705 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67495 /* 190712 */ // (umin:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMINUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67496 /* 190712 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrm),
67497 /* 190715 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67498 /* 190717 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67499 /* 190719 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67500 /* 190723 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67501 /* 190728 */ GIR_RootConstrainSelectedInstOperands,
67502 /* 190729 */ // GIR_Coverage, 24150,
67503 /* 190729 */ GIR_EraseRootFromParent_Done,
67504 /* 190730 */ // Label 4287: @190730
67505 /* 190730 */ GIM_Try, /*On fail goto*//*Label 4288*/ GIMT_Encode4(190788), // Rule ID 5597 //
67506 /* 190735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67507 /* 190738 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67508 /* 190742 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67509 /* 190746 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67510 /* 190750 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67511 /* 190753 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67512 /* 190757 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67513 /* 190761 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67514 /* 190763 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67515 /* 190770 */ // (umin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
67516 /* 190770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrm),
67517 /* 190773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67518 /* 190775 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67519 /* 190777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67520 /* 190781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67521 /* 190786 */ GIR_RootConstrainSelectedInstOperands,
67522 /* 190787 */ // GIR_Coverage, 5597,
67523 /* 190787 */ GIR_EraseRootFromParent_Done,
67524 /* 190788 */ // Label 4288: @190788
67525 /* 190788 */ GIM_Try, /*On fail goto*//*Label 4289*/ GIMT_Encode4(190811), // Rule ID 5594 //
67526 /* 190793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
67527 /* 190796 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67528 /* 190800 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67529 /* 190804 */ // (umin:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMINUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
67530 /* 190804 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUWZrr),
67531 /* 190809 */ GIR_RootConstrainSelectedInstOperands,
67532 /* 190810 */ // GIR_Coverage, 5594,
67533 /* 190810 */ GIR_Done,
67534 /* 190811 */ // Label 4289: @190811
67535 /* 190811 */ GIM_Reject,
67536 /* 190812 */ // Label 4286: @190812
67537 /* 190812 */ GIM_Reject,
67538 /* 190813 */ // Label 4245: @190813
67539 /* 190813 */ GIM_Try, /*On fail goto*//*Label 4290*/ GIMT_Encode4(191154),
67540 /* 190818 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
67541 /* 190821 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
67542 /* 190824 */ GIM_Try, /*On fail goto*//*Label 4291*/ GIMT_Encode4(190886), // Rule ID 23560 //
67543 /* 190829 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
67544 /* 190832 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67545 /* 190836 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67546 /* 190840 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67547 /* 190844 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67548 /* 190847 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67549 /* 190851 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67550 /* 190855 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67551 /* 190859 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67552 /* 190861 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67553 /* 190868 */ // (umin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMINUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67554 /* 190868 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDrm),
67555 /* 190871 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67556 /* 190873 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67557 /* 190875 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67558 /* 190879 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67559 /* 190884 */ GIR_RootConstrainSelectedInstOperands,
67560 /* 190885 */ // GIR_Coverage, 23560,
67561 /* 190885 */ GIR_EraseRootFromParent_Done,
67562 /* 190886 */ // Label 4291: @190886
67563 /* 190886 */ GIM_Try, /*On fail goto*//*Label 4292*/ GIMT_Encode4(190948), // Rule ID 24171 //
67564 /* 190891 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67565 /* 190894 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67566 /* 190898 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67567 /* 190902 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67568 /* 190906 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67569 /* 190909 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67570 /* 190913 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67571 /* 190917 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67572 /* 190921 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67573 /* 190923 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67574 /* 190930 */ // (umin:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMINUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67575 /* 190930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rm),
67576 /* 190933 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67577 /* 190935 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67578 /* 190937 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67579 /* 190941 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67580 /* 190946 */ GIR_RootConstrainSelectedInstOperands,
67581 /* 190947 */ // GIR_Coverage, 24171,
67582 /* 190947 */ GIR_EraseRootFromParent_Done,
67583 /* 190948 */ // Label 4292: @190948
67584 /* 190948 */ GIM_Try, /*On fail goto*//*Label 4293*/ GIMT_Encode4(191010), // Rule ID 3164 //
67585 /* 190953 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
67586 /* 190956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67587 /* 190960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67588 /* 190964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67589 /* 190968 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67590 /* 190972 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67591 /* 190975 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67592 /* 190979 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67593 /* 190983 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67594 /* 190985 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67595 /* 190992 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67596 /* 190992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDrm),
67597 /* 190995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67598 /* 190997 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67599 /* 190999 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67600 /* 191003 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67601 /* 191008 */ GIR_RootConstrainSelectedInstOperands,
67602 /* 191009 */ // GIR_Coverage, 3164,
67603 /* 191009 */ GIR_EraseRootFromParent_Done,
67604 /* 191010 */ // Label 4293: @191010
67605 /* 191010 */ GIM_Try, /*On fail goto*//*Label 4294*/ GIMT_Encode4(191072), // Rule ID 5633 //
67606 /* 191015 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67607 /* 191018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67608 /* 191022 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67609 /* 191026 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67610 /* 191030 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67611 /* 191034 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67612 /* 191037 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67613 /* 191041 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67614 /* 191045 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67615 /* 191047 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67616 /* 191054 */ // (umin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67617 /* 191054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rm),
67618 /* 191057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67619 /* 191059 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67620 /* 191061 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67621 /* 191065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67622 /* 191070 */ GIR_RootConstrainSelectedInstOperands,
67623 /* 191071 */ // GIR_Coverage, 5633,
67624 /* 191071 */ GIR_EraseRootFromParent_Done,
67625 /* 191072 */ // Label 4294: @191072
67626 /* 191072 */ GIM_Try, /*On fail goto*//*Label 4295*/ GIMT_Encode4(191099), // Rule ID 3163 //
67627 /* 191077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
67628 /* 191080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67629 /* 191084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67630 /* 191088 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67631 /* 191092 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMINUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
67632 /* 191092 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDrr),
67633 /* 191097 */ GIR_RootConstrainSelectedInstOperands,
67634 /* 191098 */ // GIR_Coverage, 3163,
67635 /* 191098 */ GIR_Done,
67636 /* 191099 */ // Label 4295: @191099
67637 /* 191099 */ GIM_Try, /*On fail goto*//*Label 4296*/ GIMT_Encode4(191126), // Rule ID 3201 //
67638 /* 191104 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
67639 /* 191107 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67640 /* 191111 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67641 /* 191115 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
67642 /* 191119 */ // (umin:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMINUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
67643 /* 191119 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMINUDrr),
67644 /* 191124 */ GIR_RootConstrainSelectedInstOperands,
67645 /* 191125 */ // GIR_Coverage, 3201,
67646 /* 191125 */ GIR_Done,
67647 /* 191126 */ // Label 4296: @191126
67648 /* 191126 */ GIM_Try, /*On fail goto*//*Label 4297*/ GIMT_Encode4(191153), // Rule ID 5630 //
67649 /* 191131 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67650 /* 191134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67651 /* 191138 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67652 /* 191142 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67653 /* 191146 */ // (umin:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMINUDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
67654 /* 191146 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ128rr),
67655 /* 191151 */ GIR_RootConstrainSelectedInstOperands,
67656 /* 191152 */ // GIR_Coverage, 5630,
67657 /* 191152 */ GIR_Done,
67658 /* 191153 */ // Label 4297: @191153
67659 /* 191153 */ GIM_Reject,
67660 /* 191154 */ // Label 4290: @191154
67661 /* 191154 */ GIM_Reject,
67662 /* 191155 */ // Label 4246: @191155
67663 /* 191155 */ GIM_Try, /*On fail goto*//*Label 4298*/ GIMT_Encode4(191469),
67664 /* 191160 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
67665 /* 191163 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
67666 /* 191166 */ GIM_Try, /*On fail goto*//*Label 4299*/ GIMT_Encode4(191228), // Rule ID 23569 //
67667 /* 191171 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
67668 /* 191174 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67669 /* 191178 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67670 /* 191182 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67671 /* 191186 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67672 /* 191189 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67673 /* 191193 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67674 /* 191197 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67675 /* 191201 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67676 /* 191203 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67677 /* 191210 */ // (umin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMINUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67678 /* 191210 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrm),
67679 /* 191213 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67680 /* 191215 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67681 /* 191217 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67682 /* 191221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67683 /* 191226 */ GIR_RootConstrainSelectedInstOperands,
67684 /* 191227 */ // GIR_Coverage, 23569,
67685 /* 191227 */ GIR_EraseRootFromParent_Done,
67686 /* 191228 */ // Label 4299: @191228
67687 /* 191228 */ GIM_Try, /*On fail goto*//*Label 4300*/ GIMT_Encode4(191290), // Rule ID 24165 //
67688 /* 191233 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67689 /* 191236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67690 /* 191240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67691 /* 191244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67692 /* 191248 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67693 /* 191251 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67694 /* 191255 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67695 /* 191259 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67696 /* 191263 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67697 /* 191265 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67698 /* 191272 */ // (umin:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMINUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67699 /* 191272 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rm),
67700 /* 191275 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67701 /* 191277 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67702 /* 191279 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67703 /* 191283 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67704 /* 191288 */ GIR_RootConstrainSelectedInstOperands,
67705 /* 191289 */ // GIR_Coverage, 24165,
67706 /* 191289 */ GIR_EraseRootFromParent_Done,
67707 /* 191290 */ // Label 4300: @191290
67708 /* 191290 */ GIM_Try, /*On fail goto*//*Label 4301*/ GIMT_Encode4(191352), // Rule ID 3182 //
67709 /* 191295 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
67710 /* 191298 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67711 /* 191302 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67712 /* 191306 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67713 /* 191310 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67714 /* 191314 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67715 /* 191317 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67716 /* 191321 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67717 /* 191325 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67718 /* 191327 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67719 /* 191334 */ // (umin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67720 /* 191334 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrm),
67721 /* 191337 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67722 /* 191339 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67723 /* 191341 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67724 /* 191345 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67725 /* 191350 */ GIR_RootConstrainSelectedInstOperands,
67726 /* 191351 */ // GIR_Coverage, 3182,
67727 /* 191351 */ GIR_EraseRootFromParent_Done,
67728 /* 191352 */ // Label 4301: @191352
67729 /* 191352 */ GIM_Try, /*On fail goto*//*Label 4302*/ GIMT_Encode4(191414), // Rule ID 5624 //
67730 /* 191357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67731 /* 191360 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67732 /* 191364 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67733 /* 191368 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67734 /* 191372 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67735 /* 191376 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67736 /* 191379 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67737 /* 191383 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67738 /* 191387 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67739 /* 191389 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67740 /* 191396 */ // (umin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67741 /* 191396 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rm),
67742 /* 191399 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67743 /* 191401 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67744 /* 191403 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67745 /* 191407 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67746 /* 191412 */ GIR_RootConstrainSelectedInstOperands,
67747 /* 191413 */ // GIR_Coverage, 5624,
67748 /* 191413 */ GIR_EraseRootFromParent_Done,
67749 /* 191414 */ // Label 4302: @191414
67750 /* 191414 */ GIM_Try, /*On fail goto*//*Label 4303*/ GIMT_Encode4(191441), // Rule ID 3181 //
67751 /* 191419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
67752 /* 191422 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67753 /* 191426 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67754 /* 191430 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
67755 /* 191434 */ // (umin:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMINUDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
67756 /* 191434 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDYrr),
67757 /* 191439 */ GIR_RootConstrainSelectedInstOperands,
67758 /* 191440 */ // GIR_Coverage, 3181,
67759 /* 191440 */ GIR_Done,
67760 /* 191441 */ // Label 4303: @191441
67761 /* 191441 */ GIM_Try, /*On fail goto*//*Label 4304*/ GIMT_Encode4(191468), // Rule ID 5621 //
67762 /* 191446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67763 /* 191449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67764 /* 191453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67765 /* 191457 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67766 /* 191461 */ // (umin:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMINUDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
67767 /* 191461 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZ256rr),
67768 /* 191466 */ GIR_RootConstrainSelectedInstOperands,
67769 /* 191467 */ // GIR_Coverage, 5621,
67770 /* 191467 */ GIR_Done,
67771 /* 191468 */ // Label 4304: @191468
67772 /* 191468 */ GIM_Reject,
67773 /* 191469 */ // Label 4298: @191469
67774 /* 191469 */ GIM_Reject,
67775 /* 191470 */ // Label 4247: @191470
67776 /* 191470 */ GIM_Try, /*On fail goto*//*Label 4305*/ GIMT_Encode4(191625),
67777 /* 191475 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
67778 /* 191478 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
67779 /* 191481 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67780 /* 191485 */ GIM_Try, /*On fail goto*//*Label 4306*/ GIMT_Encode4(191543), // Rule ID 24159 //
67781 /* 191490 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67782 /* 191493 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67783 /* 191497 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67784 /* 191501 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67785 /* 191504 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67786 /* 191508 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67787 /* 191512 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67788 /* 191516 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67789 /* 191518 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67790 /* 191525 */ // (umin:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMINUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67791 /* 191525 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrm),
67792 /* 191528 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67793 /* 191530 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67794 /* 191532 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67795 /* 191536 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67796 /* 191541 */ GIR_RootConstrainSelectedInstOperands,
67797 /* 191542 */ // GIR_Coverage, 24159,
67798 /* 191542 */ GIR_EraseRootFromParent_Done,
67799 /* 191543 */ // Label 4306: @191543
67800 /* 191543 */ GIM_Try, /*On fail goto*//*Label 4307*/ GIMT_Encode4(191601), // Rule ID 5615 //
67801 /* 191548 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67802 /* 191551 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67803 /* 191555 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67804 /* 191559 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67805 /* 191563 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67806 /* 191566 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67807 /* 191570 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67808 /* 191574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67809 /* 191576 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67810 /* 191583 */ // (umin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
67811 /* 191583 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrm),
67812 /* 191586 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67813 /* 191588 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67814 /* 191590 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67815 /* 191594 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67816 /* 191599 */ GIR_RootConstrainSelectedInstOperands,
67817 /* 191600 */ // GIR_Coverage, 5615,
67818 /* 191600 */ GIR_EraseRootFromParent_Done,
67819 /* 191601 */ // Label 4307: @191601
67820 /* 191601 */ GIM_Try, /*On fail goto*//*Label 4308*/ GIMT_Encode4(191624), // Rule ID 5612 //
67821 /* 191606 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
67822 /* 191609 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67823 /* 191613 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
67824 /* 191617 */ // (umin:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMINUDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
67825 /* 191617 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUDZrr),
67826 /* 191622 */ GIR_RootConstrainSelectedInstOperands,
67827 /* 191623 */ // GIR_Coverage, 5612,
67828 /* 191623 */ GIR_Done,
67829 /* 191624 */ // Label 4308: @191624
67830 /* 191624 */ GIM_Reject,
67831 /* 191625 */ // Label 4305: @191625
67832 /* 191625 */ GIM_Reject,
67833 /* 191626 */ // Label 4248: @191626
67834 /* 191626 */ GIM_Try, /*On fail goto*//*Label 4309*/ GIMT_Encode4(191954),
67835 /* 191631 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
67836 /* 191634 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
67837 /* 191637 */ GIM_Try, /*On fail goto*//*Label 4310*/ GIMT_Encode4(191699), // Rule ID 24189 //
67838 /* 191642 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67839 /* 191645 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67840 /* 191649 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67841 /* 191653 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67842 /* 191657 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67843 /* 191660 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67844 /* 191664 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67845 /* 191668 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67846 /* 191672 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67847 /* 191674 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67848 /* 191681 */ // (umin:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMINUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67849 /* 191681 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rm),
67850 /* 191684 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67851 /* 191686 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67852 /* 191688 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67853 /* 191692 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67854 /* 191697 */ GIR_RootConstrainSelectedInstOperands,
67855 /* 191698 */ // GIR_Coverage, 24189,
67856 /* 191698 */ GIR_EraseRootFromParent_Done,
67857 /* 191699 */ // Label 4310: @191699
67858 /* 191699 */ GIM_Try, /*On fail goto*//*Label 4311*/ GIMT_Encode4(191761), // Rule ID 5660 //
67859 /* 191704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67860 /* 191707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67861 /* 191711 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67862 /* 191715 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67863 /* 191719 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67864 /* 191723 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67865 /* 191726 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67866 /* 191730 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67867 /* 191734 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67868 /* 191736 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67869 /* 191743 */ // (umin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67870 /* 191743 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rm),
67871 /* 191746 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67872 /* 191748 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67873 /* 191750 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67874 /* 191754 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67875 /* 191759 */ GIR_RootConstrainSelectedInstOperands,
67876 /* 191760 */ // GIR_Coverage, 5660,
67877 /* 191760 */ GIR_EraseRootFromParent_Done,
67878 /* 191761 */ // Label 4311: @191761
67879 /* 191761 */ GIM_Try, /*On fail goto*//*Label 4312*/ GIMT_Encode4(191788), // Rule ID 5657 //
67880 /* 191766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67881 /* 191769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67882 /* 191773 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67883 /* 191777 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67884 /* 191781 */ // (umin:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMINUQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
67885 /* 191781 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ128rr),
67886 /* 191786 */ GIR_RootConstrainSelectedInstOperands,
67887 /* 191787 */ // GIR_Coverage, 5657,
67888 /* 191787 */ GIR_Done,
67889 /* 191788 */ // Label 4312: @191788
67890 /* 191788 */ GIM_Try, /*On fail goto*//*Label 4313*/ GIMT_Encode4(191953), // Rule ID 19991 //
67891 /* 191793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
67892 /* 191796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
67893 /* 191800 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67894 /* 191804 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
67895 /* 191808 */ // (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] })
67896 /* 191808 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
67897 /* 191811 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67898 /* 191815 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67899 /* 191820 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
67900 /* 191822 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
67901 /* 191825 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67902 /* 191829 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67903 /* 191834 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
67904 /* 191837 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
67905 /* 191841 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
67906 /* 191844 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67907 /* 191849 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67908 /* 191854 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
67909 /* 191859 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
67910 /* 191862 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
67911 /* 191866 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67912 /* 191871 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
67913 /* 191873 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
67914 /* 191876 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
67915 /* 191880 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67916 /* 191885 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
67917 /* 191888 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
67918 /* 191892 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
67919 /* 191895 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
67920 /* 191900 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67921 /* 191905 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
67922 /* 191910 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
67923 /* 191913 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
67924 /* 191917 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
67925 /* 191922 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
67926 /* 191925 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
67927 /* 191928 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
67928 /* 191930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
67929 /* 191933 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67930 /* 191935 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
67931 /* 191942 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
67932 /* 191947 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
67933 /* 191952 */ // GIR_Coverage, 19991,
67934 /* 191952 */ GIR_EraseRootFromParent_Done,
67935 /* 191953 */ // Label 4313: @191953
67936 /* 191953 */ GIM_Reject,
67937 /* 191954 */ // Label 4309: @191954
67938 /* 191954 */ GIM_Reject,
67939 /* 191955 */ // Label 4249: @191955
67940 /* 191955 */ GIM_Try, /*On fail goto*//*Label 4314*/ GIMT_Encode4(192271),
67941 /* 191960 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
67942 /* 191963 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
67943 /* 191966 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67944 /* 191970 */ GIM_Try, /*On fail goto*//*Label 4315*/ GIMT_Encode4(192028), // Rule ID 24183 //
67945 /* 191975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67946 /* 191978 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
67947 /* 191982 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67948 /* 191986 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67949 /* 191989 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67950 /* 191993 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67951 /* 191997 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67952 /* 192001 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67953 /* 192003 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67954 /* 192010 */ // (umin:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMINUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67955 /* 192010 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rm),
67956 /* 192013 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67957 /* 192015 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
67958 /* 192017 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67959 /* 192021 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67960 /* 192026 */ GIR_RootConstrainSelectedInstOperands,
67961 /* 192027 */ // GIR_Coverage, 24183,
67962 /* 192027 */ GIR_EraseRootFromParent_Done,
67963 /* 192028 */ // Label 4315: @192028
67964 /* 192028 */ GIM_Try, /*On fail goto*//*Label 4316*/ GIMT_Encode4(192086), // Rule ID 5651 //
67965 /* 192033 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67966 /* 192036 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67967 /* 192040 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
67968 /* 192044 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
67969 /* 192048 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
67970 /* 192051 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
67971 /* 192055 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
67972 /* 192059 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
67973 /* 192061 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
67974 /* 192068 */ // (umin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
67975 /* 192068 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rm),
67976 /* 192071 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
67977 /* 192073 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
67978 /* 192075 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
67979 /* 192079 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
67980 /* 192084 */ GIR_RootConstrainSelectedInstOperands,
67981 /* 192085 */ // GIR_Coverage, 5651,
67982 /* 192085 */ GIR_EraseRootFromParent_Done,
67983 /* 192086 */ // Label 4316: @192086
67984 /* 192086 */ GIM_Try, /*On fail goto*//*Label 4317*/ GIMT_Encode4(192109), // Rule ID 5648 //
67985 /* 192091 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
67986 /* 192094 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67987 /* 192098 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67988 /* 192102 */ // (umin:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMINUQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
67989 /* 192102 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZ256rr),
67990 /* 192107 */ GIR_RootConstrainSelectedInstOperands,
67991 /* 192108 */ // GIR_Coverage, 5648,
67992 /* 192108 */ GIR_Done,
67993 /* 192109 */ // Label 4317: @192109
67994 /* 192109 */ GIM_Try, /*On fail goto*//*Label 4318*/ GIMT_Encode4(192270), // Rule ID 19989 //
67995 /* 192114 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
67996 /* 192117 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67997 /* 192121 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
67998 /* 192125 */ // (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] })
67999 /* 192125 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
68000 /* 192128 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
68001 /* 192132 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68002 /* 192137 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
68003 /* 192139 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
68004 /* 192142 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
68005 /* 192146 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68006 /* 192151 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
68007 /* 192154 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
68008 /* 192158 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
68009 /* 192161 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
68010 /* 192166 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68011 /* 192171 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
68012 /* 192176 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
68013 /* 192179 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
68014 /* 192183 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68015 /* 192188 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
68016 /* 192190 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
68017 /* 192193 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
68018 /* 192197 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68019 /* 192202 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
68020 /* 192205 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
68021 /* 192209 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
68022 /* 192212 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
68023 /* 192217 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68024 /* 192222 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
68025 /* 192227 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
68026 /* 192230 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
68027 /* 192234 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
68028 /* 192239 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
68029 /* 192242 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
68030 /* 192245 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
68031 /* 192247 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
68032 /* 192250 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68033 /* 192252 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
68034 /* 192259 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
68035 /* 192264 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
68036 /* 192269 */ // GIR_Coverage, 19989,
68037 /* 192269 */ GIR_EraseRootFromParent_Done,
68038 /* 192270 */ // Label 4318: @192270
68039 /* 192270 */ GIM_Reject,
68040 /* 192271 */ // Label 4314: @192271
68041 /* 192271 */ GIM_Reject,
68042 /* 192272 */ // Label 4250: @192272
68043 /* 192272 */ GIM_Try, /*On fail goto*//*Label 4319*/ GIMT_Encode4(192427),
68044 /* 192277 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
68045 /* 192280 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
68046 /* 192283 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68047 /* 192287 */ GIM_Try, /*On fail goto*//*Label 4320*/ GIMT_Encode4(192345), // Rule ID 24177 //
68048 /* 192292 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68049 /* 192295 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68050 /* 192299 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68051 /* 192303 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68052 /* 192306 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68053 /* 192310 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68054 /* 192314 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68055 /* 192318 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68056 /* 192320 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68057 /* 192327 */ // (umin:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMINUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68058 /* 192327 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrm),
68059 /* 192330 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68060 /* 192332 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68061 /* 192334 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68062 /* 192338 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68063 /* 192343 */ GIR_RootConstrainSelectedInstOperands,
68064 /* 192344 */ // GIR_Coverage, 24177,
68065 /* 192344 */ GIR_EraseRootFromParent_Done,
68066 /* 192345 */ // Label 4320: @192345
68067 /* 192345 */ GIM_Try, /*On fail goto*//*Label 4321*/ GIMT_Encode4(192403), // Rule ID 5642 //
68068 /* 192350 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68069 /* 192353 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68070 /* 192357 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68071 /* 192361 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68072 /* 192365 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68073 /* 192368 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68074 /* 192372 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68075 /* 192376 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68076 /* 192378 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68077 /* 192385 */ // (umin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMINUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
68078 /* 192385 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrm),
68079 /* 192388 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68080 /* 192390 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68081 /* 192392 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68082 /* 192396 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68083 /* 192401 */ GIR_RootConstrainSelectedInstOperands,
68084 /* 192402 */ // GIR_Coverage, 5642,
68085 /* 192402 */ GIR_EraseRootFromParent_Done,
68086 /* 192403 */ // Label 4321: @192403
68087 /* 192403 */ GIM_Try, /*On fail goto*//*Label 4322*/ GIMT_Encode4(192426), // Rule ID 5639 //
68088 /* 192408 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68089 /* 192411 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68090 /* 192415 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68091 /* 192419 */ // (umin:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMINUQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
68092 /* 192419 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMINUQZrr),
68093 /* 192424 */ GIR_RootConstrainSelectedInstOperands,
68094 /* 192425 */ // GIR_Coverage, 5639,
68095 /* 192425 */ GIR_Done,
68096 /* 192426 */ // Label 4322: @192426
68097 /* 192426 */ GIM_Reject,
68098 /* 192427 */ // Label 4319: @192427
68099 /* 192427 */ GIM_Reject,
68100 /* 192428 */ // Label 4251: @192428
68101 /* 192428 */ GIM_Reject,
68102 /* 192429 */ // Label 58: @192429
68103 /* 192429 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 4335*/ GIMT_Encode4(195729),
68104 /* 192440 */ /*GILLT_v16s8*//*Label 4323*/ GIMT_Encode4(192488),
68105 /* 192444 */ /*GILLT_v32s8*//*Label 4324*/ GIMT_Encode4(192830),
68106 /* 192448 */ /*GILLT_v64s8*//*Label 4325*/ GIMT_Encode4(193145),
68107 /* 192452 */ /*GILLT_v8s16*//*Label 4326*/ GIMT_Encode4(193301),
68108 /* 192456 */ /*GILLT_v16s16*//*Label 4327*/ GIMT_Encode4(193643),
68109 /* 192460 */ /*GILLT_v32s16*//*Label 4328*/ GIMT_Encode4(193958),
68110 /* 192464 */ /*GILLT_v4s32*//*Label 4329*/ GIMT_Encode4(194114),
68111 /* 192468 */ /*GILLT_v8s32*//*Label 4330*/ GIMT_Encode4(194456),
68112 /* 192472 */ /*GILLT_v16s32*//*Label 4331*/ GIMT_Encode4(194771),
68113 /* 192476 */ /*GILLT_v2s64*//*Label 4332*/ GIMT_Encode4(194927),
68114 /* 192480 */ /*GILLT_v4s64*//*Label 4333*/ GIMT_Encode4(195256),
68115 /* 192484 */ /*GILLT_v8s64*//*Label 4334*/ GIMT_Encode4(195573),
68116 /* 192488 */ // Label 4323: @192488
68117 /* 192488 */ GIM_Try, /*On fail goto*//*Label 4336*/ GIMT_Encode4(192829),
68118 /* 192493 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
68119 /* 192496 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s8,
68120 /* 192499 */ GIM_Try, /*On fail goto*//*Label 4337*/ GIMT_Encode4(192561), // Rule ID 23526 //
68121 /* 192504 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68122 /* 192507 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68123 /* 192511 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68124 /* 192515 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68125 /* 192519 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68126 /* 192522 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68127 /* 192526 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68128 /* 192530 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68129 /* 192534 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68130 /* 192536 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68131 /* 192543 */ // (umax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v16i8] }:$src1) => (VPMAXUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68132 /* 192543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrm),
68133 /* 192546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68134 /* 192548 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68135 /* 192550 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68136 /* 192554 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68137 /* 192559 */ GIR_RootConstrainSelectedInstOperands,
68138 /* 192560 */ // GIR_Coverage, 23526,
68139 /* 192560 */ GIR_EraseRootFromParent_Done,
68140 /* 192561 */ // Label 4337: @192561
68141 /* 192561 */ GIM_Try, /*On fail goto*//*Label 4338*/ GIMT_Encode4(192623), // Rule ID 24039 //
68142 /* 192566 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68143 /* 192569 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68144 /* 192573 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68145 /* 192577 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68146 /* 192581 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68147 /* 192584 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68148 /* 192588 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68149 /* 192592 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68150 /* 192596 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68151 /* 192598 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68152 /* 192605 */ // (umax:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v16i8] }:$src1) => (VPMAXUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68153 /* 192605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rm),
68154 /* 192608 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68155 /* 192610 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68156 /* 192612 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68157 /* 192616 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68158 /* 192621 */ GIR_RootConstrainSelectedInstOperands,
68159 /* 192622 */ // GIR_Coverage, 24039,
68160 /* 192622 */ GIR_EraseRootFromParent_Done,
68161 /* 192623 */ // Label 4338: @192623
68162 /* 192623 */ GIM_Try, /*On fail goto*//*Label 4339*/ GIMT_Encode4(192685), // Rule ID 2625 //
68163 /* 192628 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68164 /* 192631 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68165 /* 192635 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68166 /* 192639 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68167 /* 192643 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68168 /* 192647 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68169 /* 192650 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68170 /* 192654 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68171 /* 192658 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68172 /* 192660 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68173 /* 192667 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBrm:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68174 /* 192667 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrm),
68175 /* 192670 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68176 /* 192672 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68177 /* 192674 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68178 /* 192678 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68179 /* 192683 */ GIR_RootConstrainSelectedInstOperands,
68180 /* 192684 */ // GIR_Coverage, 2625,
68181 /* 192684 */ GIR_EraseRootFromParent_Done,
68182 /* 192685 */ // Label 4339: @192685
68183 /* 192685 */ GIM_Try, /*On fail goto*//*Label 4340*/ GIMT_Encode4(192747), // Rule ID 5411 //
68184 /* 192690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68185 /* 192693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68186 /* 192697 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68187 /* 192701 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68188 /* 192705 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68189 /* 192709 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68190 /* 192712 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68191 /* 192716 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68192 /* 192720 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68193 /* 192722 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68194 /* 192729 */ // (umax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZ128rm:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68195 /* 192729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rm),
68196 /* 192732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68197 /* 192734 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68198 /* 192736 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68199 /* 192740 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68200 /* 192745 */ GIR_RootConstrainSelectedInstOperands,
68201 /* 192746 */ // GIR_Coverage, 5411,
68202 /* 192746 */ GIR_EraseRootFromParent_Done,
68203 /* 192747 */ // Label 4340: @192747
68204 /* 192747 */ GIM_Try, /*On fail goto*//*Label 4341*/ GIMT_Encode4(192774), // Rule ID 2624 //
68205 /* 192752 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68206 /* 192755 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68207 /* 192759 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68208 /* 192763 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68209 /* 192767 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (VPMAXUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
68210 /* 192767 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBrr),
68211 /* 192772 */ GIR_RootConstrainSelectedInstOperands,
68212 /* 192773 */ // GIR_Coverage, 2624,
68213 /* 192773 */ GIR_Done,
68214 /* 192774 */ // Label 4341: @192774
68215 /* 192774 */ GIM_Try, /*On fail goto*//*Label 4342*/ GIMT_Encode4(192801), // Rule ID 2626 //
68216 /* 192779 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
68217 /* 192782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68218 /* 192786 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68219 /* 192790 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68220 /* 192794 */ // (umax:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2) => (PMAXUBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src1, VR128:{ *:[v16i8] }:$src2)
68221 /* 192794 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUBrr),
68222 /* 192799 */ GIR_RootConstrainSelectedInstOperands,
68223 /* 192800 */ // GIR_Coverage, 2626,
68224 /* 192800 */ GIR_Done,
68225 /* 192801 */ // Label 4342: @192801
68226 /* 192801 */ GIM_Try, /*On fail goto*//*Label 4343*/ GIMT_Encode4(192828), // Rule ID 5408 //
68227 /* 192806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68228 /* 192809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68229 /* 192813 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68230 /* 192817 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68231 /* 192821 */ // (umax:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2) => (VPMAXUBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1, VR128X:{ *:[v16i8] }:$src2)
68232 /* 192821 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ128rr),
68233 /* 192826 */ GIR_RootConstrainSelectedInstOperands,
68234 /* 192827 */ // GIR_Coverage, 5408,
68235 /* 192827 */ GIR_Done,
68236 /* 192828 */ // Label 4343: @192828
68237 /* 192828 */ GIM_Reject,
68238 /* 192829 */ // Label 4336: @192829
68239 /* 192829 */ GIM_Reject,
68240 /* 192830 */ // Label 4324: @192830
68241 /* 192830 */ GIM_Try, /*On fail goto*//*Label 4344*/ GIMT_Encode4(193144),
68242 /* 192835 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
68243 /* 192838 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s8,
68244 /* 192841 */ GIM_Try, /*On fail goto*//*Label 4345*/ GIMT_Encode4(192903), // Rule ID 23528 //
68245 /* 192846 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68246 /* 192849 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68247 /* 192853 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68248 /* 192857 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68249 /* 192861 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68250 /* 192864 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68251 /* 192868 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68252 /* 192872 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68253 /* 192876 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68254 /* 192878 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68255 /* 192885 */ // (umax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v32i8] }:$src1) => (VPMAXUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68256 /* 192885 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrm),
68257 /* 192888 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68258 /* 192890 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68259 /* 192892 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68260 /* 192896 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68261 /* 192901 */ GIR_RootConstrainSelectedInstOperands,
68262 /* 192902 */ // GIR_Coverage, 23528,
68263 /* 192902 */ GIR_EraseRootFromParent_Done,
68264 /* 192903 */ // Label 4345: @192903
68265 /* 192903 */ GIM_Try, /*On fail goto*//*Label 4346*/ GIMT_Encode4(192965), // Rule ID 24036 //
68266 /* 192908 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68267 /* 192911 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68268 /* 192915 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68269 /* 192919 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68270 /* 192923 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68271 /* 192926 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68272 /* 192930 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68273 /* 192934 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68274 /* 192938 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68275 /* 192940 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68276 /* 192947 */ // (umax:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v32i8] }:$src1) => (VPMAXUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68277 /* 192947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rm),
68278 /* 192950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68279 /* 192952 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68280 /* 192954 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68281 /* 192958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68282 /* 192963 */ GIR_RootConstrainSelectedInstOperands,
68283 /* 192964 */ // GIR_Coverage, 24036,
68284 /* 192964 */ GIR_EraseRootFromParent_Done,
68285 /* 192965 */ // Label 4346: @192965
68286 /* 192965 */ GIM_Try, /*On fail goto*//*Label 4347*/ GIMT_Encode4(193027), // Rule ID 2629 //
68287 /* 192970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68288 /* 192973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68289 /* 192977 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68290 /* 192981 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68291 /* 192985 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68292 /* 192989 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68293 /* 192992 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68294 /* 192996 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68295 /* 193000 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68296 /* 193002 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68297 /* 193009 */ // (umax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBYrm:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68298 /* 193009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrm),
68299 /* 193012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68300 /* 193014 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68301 /* 193016 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68302 /* 193020 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68303 /* 193025 */ GIR_RootConstrainSelectedInstOperands,
68304 /* 193026 */ // GIR_Coverage, 2629,
68305 /* 193026 */ GIR_EraseRootFromParent_Done,
68306 /* 193027 */ // Label 4347: @193027
68307 /* 193027 */ GIM_Try, /*On fail goto*//*Label 4348*/ GIMT_Encode4(193089), // Rule ID 5405 //
68308 /* 193032 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68309 /* 193035 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68310 /* 193039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68311 /* 193043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68312 /* 193047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68313 /* 193051 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68314 /* 193054 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68315 /* 193058 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68316 /* 193062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68317 /* 193064 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68318 /* 193071 */ // (umax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZ256rm:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68319 /* 193071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rm),
68320 /* 193074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68321 /* 193076 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68322 /* 193078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68323 /* 193082 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68324 /* 193087 */ GIR_RootConstrainSelectedInstOperands,
68325 /* 193088 */ // GIR_Coverage, 5405,
68326 /* 193088 */ GIR_EraseRootFromParent_Done,
68327 /* 193089 */ // Label 4348: @193089
68328 /* 193089 */ GIM_Try, /*On fail goto*//*Label 4349*/ GIMT_Encode4(193116), // Rule ID 2628 //
68329 /* 193094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68330 /* 193097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68331 /* 193101 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68332 /* 193105 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68333 /* 193109 */ // (umax:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2) => (VPMAXUBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src1, VR256:{ *:[v32i8] }:$src2)
68334 /* 193109 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBYrr),
68335 /* 193114 */ GIR_RootConstrainSelectedInstOperands,
68336 /* 193115 */ // GIR_Coverage, 2628,
68337 /* 193115 */ GIR_Done,
68338 /* 193116 */ // Label 4349: @193116
68339 /* 193116 */ GIM_Try, /*On fail goto*//*Label 4350*/ GIMT_Encode4(193143), // Rule ID 5402 //
68340 /* 193121 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68341 /* 193124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68342 /* 193128 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68343 /* 193132 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68344 /* 193136 */ // (umax:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2) => (VPMAXUBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1, VR256X:{ *:[v32i8] }:$src2)
68345 /* 193136 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZ256rr),
68346 /* 193141 */ GIR_RootConstrainSelectedInstOperands,
68347 /* 193142 */ // GIR_Coverage, 5402,
68348 /* 193142 */ GIR_Done,
68349 /* 193143 */ // Label 4350: @193143
68350 /* 193143 */ GIM_Reject,
68351 /* 193144 */ // Label 4344: @193144
68352 /* 193144 */ GIM_Reject,
68353 /* 193145 */ // Label 4325: @193145
68354 /* 193145 */ GIM_Try, /*On fail goto*//*Label 4351*/ GIMT_Encode4(193300),
68355 /* 193150 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
68356 /* 193153 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s8,
68357 /* 193156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68358 /* 193160 */ GIM_Try, /*On fail goto*//*Label 4352*/ GIMT_Encode4(193218), // Rule ID 24033 //
68359 /* 193165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68360 /* 193168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68361 /* 193172 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68362 /* 193176 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68363 /* 193179 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68364 /* 193183 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68365 /* 193187 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68366 /* 193191 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68367 /* 193193 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68368 /* 193200 */ // (umax:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v64i8] }:$src1) => (VPMAXUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68369 /* 193200 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrm),
68370 /* 193203 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68371 /* 193205 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68372 /* 193207 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68373 /* 193211 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68374 /* 193216 */ GIR_RootConstrainSelectedInstOperands,
68375 /* 193217 */ // GIR_Coverage, 24033,
68376 /* 193217 */ GIR_EraseRootFromParent_Done,
68377 /* 193218 */ // Label 4352: @193218
68378 /* 193218 */ GIM_Try, /*On fail goto*//*Label 4353*/ GIMT_Encode4(193276), // Rule ID 5399 //
68379 /* 193223 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68380 /* 193226 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68381 /* 193230 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68382 /* 193234 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68383 /* 193238 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68384 /* 193241 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68385 /* 193245 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68386 /* 193249 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68387 /* 193251 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68388 /* 193258 */ // (umax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUBZrm:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, addr:{ *:[iPTR] }:$src2)
68389 /* 193258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrm),
68390 /* 193261 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68391 /* 193263 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68392 /* 193265 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68393 /* 193269 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68394 /* 193274 */ GIR_RootConstrainSelectedInstOperands,
68395 /* 193275 */ // GIR_Coverage, 5399,
68396 /* 193275 */ GIR_EraseRootFromParent_Done,
68397 /* 193276 */ // Label 4353: @193276
68398 /* 193276 */ GIM_Try, /*On fail goto*//*Label 4354*/ GIMT_Encode4(193299), // Rule ID 5396 //
68399 /* 193281 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68400 /* 193284 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68401 /* 193288 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68402 /* 193292 */ // (umax:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2) => (VPMAXUBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1, VR512:{ *:[v64i8] }:$src2)
68403 /* 193292 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUBZrr),
68404 /* 193297 */ GIR_RootConstrainSelectedInstOperands,
68405 /* 193298 */ // GIR_Coverage, 5396,
68406 /* 193298 */ GIR_Done,
68407 /* 193299 */ // Label 4354: @193299
68408 /* 193299 */ GIM_Reject,
68409 /* 193300 */ // Label 4351: @193300
68410 /* 193300 */ GIM_Reject,
68411 /* 193301 */ // Label 4326: @193301
68412 /* 193301 */ GIM_Try, /*On fail goto*//*Label 4355*/ GIMT_Encode4(193642),
68413 /* 193306 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
68414 /* 193309 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
68415 /* 193312 */ GIM_Try, /*On fail goto*//*Label 4356*/ GIMT_Encode4(193374), // Rule ID 23567 //
68416 /* 193317 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68417 /* 193320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68418 /* 193324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68419 /* 193328 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68420 /* 193332 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68421 /* 193335 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68422 /* 193339 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68423 /* 193343 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68424 /* 193347 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68425 /* 193349 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68426 /* 193356 */ // (umax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v8i16] }:$src1) => (VPMAXUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68427 /* 193356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrm),
68428 /* 193359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68429 /* 193361 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68430 /* 193363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68431 /* 193367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68432 /* 193372 */ GIR_RootConstrainSelectedInstOperands,
68433 /* 193373 */ // GIR_Coverage, 23567,
68434 /* 193373 */ GIR_EraseRootFromParent_Done,
68435 /* 193374 */ // Label 4356: @193374
68436 /* 193374 */ GIM_Try, /*On fail goto*//*Label 4357*/ GIMT_Encode4(193436), // Rule ID 24048 //
68437 /* 193379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68438 /* 193382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68439 /* 193386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68440 /* 193390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68441 /* 193394 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68442 /* 193397 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68443 /* 193401 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68444 /* 193405 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68445 /* 193409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68446 /* 193411 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68447 /* 193418 */ // (umax:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v8i16] }:$src1) => (VPMAXUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68448 /* 193418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rm),
68449 /* 193421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68450 /* 193423 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68451 /* 193425 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68452 /* 193429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68453 /* 193434 */ GIR_RootConstrainSelectedInstOperands,
68454 /* 193435 */ // GIR_Coverage, 24048,
68455 /* 193435 */ GIR_EraseRootFromParent_Done,
68456 /* 193436 */ // Label 4357: @193436
68457 /* 193436 */ GIM_Try, /*On fail goto*//*Label 4358*/ GIMT_Encode4(193498), // Rule ID 3178 //
68458 /* 193441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68459 /* 193444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68460 /* 193448 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68461 /* 193452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68462 /* 193456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68463 /* 193460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68464 /* 193463 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68465 /* 193467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68466 /* 193471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68467 /* 193473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68468 /* 193480 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWrm:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68469 /* 193480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrm),
68470 /* 193483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68471 /* 193485 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68472 /* 193487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68473 /* 193491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68474 /* 193496 */ GIR_RootConstrainSelectedInstOperands,
68475 /* 193497 */ // GIR_Coverage, 3178,
68476 /* 193497 */ GIR_EraseRootFromParent_Done,
68477 /* 193498 */ // Label 4358: @193498
68478 /* 193498 */ GIM_Try, /*On fail goto*//*Label 4359*/ GIMT_Encode4(193560), // Rule ID 5429 //
68479 /* 193503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68480 /* 193506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68481 /* 193510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68482 /* 193514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68483 /* 193518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68484 /* 193522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68485 /* 193525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68486 /* 193529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68487 /* 193533 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68488 /* 193535 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68489 /* 193542 */ // (umax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZ128rm:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68490 /* 193542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rm),
68491 /* 193545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68492 /* 193547 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68493 /* 193549 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68494 /* 193553 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68495 /* 193558 */ GIR_RootConstrainSelectedInstOperands,
68496 /* 193559 */ // GIR_Coverage, 5429,
68497 /* 193559 */ GIR_EraseRootFromParent_Done,
68498 /* 193560 */ // Label 4359: @193560
68499 /* 193560 */ GIM_Try, /*On fail goto*//*Label 4360*/ GIMT_Encode4(193587), // Rule ID 3177 //
68500 /* 193565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
68501 /* 193568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68502 /* 193572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68503 /* 193576 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68504 /* 193580 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (VPMAXUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
68505 /* 193580 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWrr),
68506 /* 193585 */ GIR_RootConstrainSelectedInstOperands,
68507 /* 193586 */ // GIR_Coverage, 3177,
68508 /* 193586 */ GIR_Done,
68509 /* 193587 */ // Label 4360: @193587
68510 /* 193587 */ GIM_Try, /*On fail goto*//*Label 4361*/ GIMT_Encode4(193614), // Rule ID 3211 //
68511 /* 193592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
68512 /* 193595 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68513 /* 193599 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68514 /* 193603 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68515 /* 193607 */ // (umax:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2) => (PMAXUWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src1, VR128:{ *:[v8i16] }:$src2)
68516 /* 193607 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUWrr),
68517 /* 193612 */ GIR_RootConstrainSelectedInstOperands,
68518 /* 193613 */ // GIR_Coverage, 3211,
68519 /* 193613 */ GIR_Done,
68520 /* 193614 */ // Label 4361: @193614
68521 /* 193614 */ GIM_Try, /*On fail goto*//*Label 4362*/ GIMT_Encode4(193641), // Rule ID 5426 //
68522 /* 193619 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68523 /* 193622 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68524 /* 193626 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68525 /* 193630 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68526 /* 193634 */ // (umax:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2) => (VPMAXUWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1, VR128X:{ *:[v8i16] }:$src2)
68527 /* 193634 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ128rr),
68528 /* 193639 */ GIR_RootConstrainSelectedInstOperands,
68529 /* 193640 */ // GIR_Coverage, 5426,
68530 /* 193640 */ GIR_Done,
68531 /* 193641 */ // Label 4362: @193641
68532 /* 193641 */ GIM_Reject,
68533 /* 193642 */ // Label 4355: @193642
68534 /* 193642 */ GIM_Reject,
68535 /* 193643 */ // Label 4327: @193643
68536 /* 193643 */ GIM_Try, /*On fail goto*//*Label 4363*/ GIMT_Encode4(193957),
68537 /* 193648 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
68538 /* 193651 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
68539 /* 193654 */ GIM_Try, /*On fail goto*//*Label 4364*/ GIMT_Encode4(193716), // Rule ID 23576 //
68540 /* 193659 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68541 /* 193662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68542 /* 193666 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68543 /* 193670 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68544 /* 193674 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68545 /* 193677 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68546 /* 193681 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68547 /* 193685 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68548 /* 193689 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68549 /* 193691 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68550 /* 193698 */ // (umax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v16i16] }:$src1) => (VPMAXUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68551 /* 193698 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrm),
68552 /* 193701 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68553 /* 193703 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68554 /* 193705 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68555 /* 193709 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68556 /* 193714 */ GIR_RootConstrainSelectedInstOperands,
68557 /* 193715 */ // GIR_Coverage, 23576,
68558 /* 193715 */ GIR_EraseRootFromParent_Done,
68559 /* 193716 */ // Label 4364: @193716
68560 /* 193716 */ GIM_Try, /*On fail goto*//*Label 4365*/ GIMT_Encode4(193778), // Rule ID 24045 //
68561 /* 193721 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68562 /* 193724 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68563 /* 193728 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68564 /* 193732 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68565 /* 193736 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68566 /* 193739 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68567 /* 193743 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68568 /* 193747 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68569 /* 193751 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68570 /* 193753 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68571 /* 193760 */ // (umax:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v16i16] }:$src1) => (VPMAXUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68572 /* 193760 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rm),
68573 /* 193763 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68574 /* 193765 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68575 /* 193767 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68576 /* 193771 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68577 /* 193776 */ GIR_RootConstrainSelectedInstOperands,
68578 /* 193777 */ // GIR_Coverage, 24045,
68579 /* 193777 */ GIR_EraseRootFromParent_Done,
68580 /* 193778 */ // Label 4365: @193778
68581 /* 193778 */ GIM_Try, /*On fail goto*//*Label 4366*/ GIMT_Encode4(193840), // Rule ID 3196 //
68582 /* 193783 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68583 /* 193786 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68584 /* 193790 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68585 /* 193794 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68586 /* 193798 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68587 /* 193802 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68588 /* 193805 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68589 /* 193809 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68590 /* 193813 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68591 /* 193815 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68592 /* 193822 */ // (umax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWYrm:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68593 /* 193822 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrm),
68594 /* 193825 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68595 /* 193827 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68596 /* 193829 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68597 /* 193833 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68598 /* 193838 */ GIR_RootConstrainSelectedInstOperands,
68599 /* 193839 */ // GIR_Coverage, 3196,
68600 /* 193839 */ GIR_EraseRootFromParent_Done,
68601 /* 193840 */ // Label 4366: @193840
68602 /* 193840 */ GIM_Try, /*On fail goto*//*Label 4367*/ GIMT_Encode4(193902), // Rule ID 5423 //
68603 /* 193845 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68604 /* 193848 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68605 /* 193852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68606 /* 193856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68607 /* 193860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68608 /* 193864 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68609 /* 193867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68610 /* 193871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68611 /* 193875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68612 /* 193877 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68613 /* 193884 */ // (umax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZ256rm:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68614 /* 193884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rm),
68615 /* 193887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68616 /* 193889 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68617 /* 193891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68618 /* 193895 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68619 /* 193900 */ GIR_RootConstrainSelectedInstOperands,
68620 /* 193901 */ // GIR_Coverage, 5423,
68621 /* 193901 */ GIR_EraseRootFromParent_Done,
68622 /* 193902 */ // Label 4367: @193902
68623 /* 193902 */ GIM_Try, /*On fail goto*//*Label 4368*/ GIMT_Encode4(193929), // Rule ID 3195 //
68624 /* 193907 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
68625 /* 193910 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68626 /* 193914 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68627 /* 193918 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68628 /* 193922 */ // (umax:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2) => (VPMAXUWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src1, VR256:{ *:[v16i16] }:$src2)
68629 /* 193922 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWYrr),
68630 /* 193927 */ GIR_RootConstrainSelectedInstOperands,
68631 /* 193928 */ // GIR_Coverage, 3195,
68632 /* 193928 */ GIR_Done,
68633 /* 193929 */ // Label 4368: @193929
68634 /* 193929 */ GIM_Try, /*On fail goto*//*Label 4369*/ GIMT_Encode4(193956), // Rule ID 5420 //
68635 /* 193934 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
68636 /* 193937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68637 /* 193941 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68638 /* 193945 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68639 /* 193949 */ // (umax:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2) => (VPMAXUWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1, VR256X:{ *:[v16i16] }:$src2)
68640 /* 193949 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZ256rr),
68641 /* 193954 */ GIR_RootConstrainSelectedInstOperands,
68642 /* 193955 */ // GIR_Coverage, 5420,
68643 /* 193955 */ GIR_Done,
68644 /* 193956 */ // Label 4369: @193956
68645 /* 193956 */ GIM_Reject,
68646 /* 193957 */ // Label 4363: @193957
68647 /* 193957 */ GIM_Reject,
68648 /* 193958 */ // Label 4328: @193958
68649 /* 193958 */ GIM_Try, /*On fail goto*//*Label 4370*/ GIMT_Encode4(194113),
68650 /* 193963 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
68651 /* 193966 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
68652 /* 193969 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68653 /* 193973 */ GIM_Try, /*On fail goto*//*Label 4371*/ GIMT_Encode4(194031), // Rule ID 24042 //
68654 /* 193978 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68655 /* 193981 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68656 /* 193985 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68657 /* 193989 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68658 /* 193992 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68659 /* 193996 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68660 /* 194000 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68661 /* 194004 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68662 /* 194006 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68663 /* 194013 */ // (umax:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v32i16] }:$src1) => (VPMAXUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68664 /* 194013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrm),
68665 /* 194016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68666 /* 194018 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68667 /* 194020 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68668 /* 194024 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68669 /* 194029 */ GIR_RootConstrainSelectedInstOperands,
68670 /* 194030 */ // GIR_Coverage, 24042,
68671 /* 194030 */ GIR_EraseRootFromParent_Done,
68672 /* 194031 */ // Label 4371: @194031
68673 /* 194031 */ GIM_Try, /*On fail goto*//*Label 4372*/ GIMT_Encode4(194089), // Rule ID 5417 //
68674 /* 194036 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68675 /* 194039 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68676 /* 194043 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68677 /* 194047 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68678 /* 194051 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68679 /* 194054 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68680 /* 194058 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68681 /* 194062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68682 /* 194064 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68683 /* 194071 */ // (umax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUWZrm:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, addr:{ *:[iPTR] }:$src2)
68684 /* 194071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrm),
68685 /* 194074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68686 /* 194076 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68687 /* 194078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68688 /* 194082 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68689 /* 194087 */ GIR_RootConstrainSelectedInstOperands,
68690 /* 194088 */ // GIR_Coverage, 5417,
68691 /* 194088 */ GIR_EraseRootFromParent_Done,
68692 /* 194089 */ // Label 4372: @194089
68693 /* 194089 */ GIM_Try, /*On fail goto*//*Label 4373*/ GIMT_Encode4(194112), // Rule ID 5414 //
68694 /* 194094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
68695 /* 194097 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68696 /* 194101 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68697 /* 194105 */ // (umax:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2) => (VPMAXUWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1, VR512:{ *:[v32i16] }:$src2)
68698 /* 194105 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUWZrr),
68699 /* 194110 */ GIR_RootConstrainSelectedInstOperands,
68700 /* 194111 */ // GIR_Coverage, 5414,
68701 /* 194111 */ GIR_Done,
68702 /* 194112 */ // Label 4373: @194112
68703 /* 194112 */ GIM_Reject,
68704 /* 194113 */ // Label 4370: @194113
68705 /* 194113 */ GIM_Reject,
68706 /* 194114 */ // Label 4329: @194114
68707 /* 194114 */ GIM_Try, /*On fail goto*//*Label 4374*/ GIMT_Encode4(194455),
68708 /* 194119 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
68709 /* 194122 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
68710 /* 194125 */ GIM_Try, /*On fail goto*//*Label 4375*/ GIMT_Encode4(194187), // Rule ID 23562 //
68711 /* 194130 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
68712 /* 194133 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68713 /* 194137 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68714 /* 194141 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68715 /* 194145 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68716 /* 194148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68717 /* 194152 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68718 /* 194156 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68719 /* 194160 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68720 /* 194162 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68721 /* 194169 */ // (umax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128:{ *:[v4i32] }:$src1) => (VPMAXUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68722 /* 194169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrm),
68723 /* 194172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68724 /* 194174 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68725 /* 194176 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68726 /* 194180 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68727 /* 194185 */ GIR_RootConstrainSelectedInstOperands,
68728 /* 194186 */ // GIR_Coverage, 23562,
68729 /* 194186 */ GIR_EraseRootFromParent_Done,
68730 /* 194187 */ // Label 4375: @194187
68731 /* 194187 */ GIM_Try, /*On fail goto*//*Label 4376*/ GIMT_Encode4(194249), // Rule ID 24063 //
68732 /* 194192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68733 /* 194195 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68734 /* 194199 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68735 /* 194203 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68736 /* 194207 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68737 /* 194210 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68738 /* 194214 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68739 /* 194218 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68740 /* 194222 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68741 /* 194224 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68742 /* 194231 */ // (umax:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v4i32] }:$src1) => (VPMAXUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68743 /* 194231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rm),
68744 /* 194234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68745 /* 194236 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68746 /* 194238 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68747 /* 194242 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68748 /* 194247 */ GIR_RootConstrainSelectedInstOperands,
68749 /* 194248 */ // GIR_Coverage, 24063,
68750 /* 194248 */ GIR_EraseRootFromParent_Done,
68751 /* 194249 */ // Label 4376: @194249
68752 /* 194249 */ GIM_Try, /*On fail goto*//*Label 4377*/ GIMT_Encode4(194311), // Rule ID 3168 //
68753 /* 194254 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
68754 /* 194257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68755 /* 194261 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68756 /* 194265 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68757 /* 194269 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68758 /* 194273 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68759 /* 194276 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68760 /* 194280 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68761 /* 194284 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68762 /* 194286 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68763 /* 194293 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDrm:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68764 /* 194293 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrm),
68765 /* 194296 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68766 /* 194298 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68767 /* 194300 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68768 /* 194304 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68769 /* 194309 */ GIR_RootConstrainSelectedInstOperands,
68770 /* 194310 */ // GIR_Coverage, 3168,
68771 /* 194310 */ GIR_EraseRootFromParent_Done,
68772 /* 194311 */ // Label 4377: @194311
68773 /* 194311 */ GIM_Try, /*On fail goto*//*Label 4378*/ GIMT_Encode4(194373), // Rule ID 5453 //
68774 /* 194316 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68775 /* 194319 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68776 /* 194323 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68777 /* 194327 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68778 /* 194331 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68779 /* 194335 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68780 /* 194338 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68781 /* 194342 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68782 /* 194346 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68783 /* 194348 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68784 /* 194355 */ // (umax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZ128rm:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68785 /* 194355 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rm),
68786 /* 194358 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68787 /* 194360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68788 /* 194362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68789 /* 194366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68790 /* 194371 */ GIR_RootConstrainSelectedInstOperands,
68791 /* 194372 */ // GIR_Coverage, 5453,
68792 /* 194372 */ GIR_EraseRootFromParent_Done,
68793 /* 194373 */ // Label 4378: @194373
68794 /* 194373 */ GIM_Try, /*On fail goto*//*Label 4379*/ GIMT_Encode4(194400), // Rule ID 3167 //
68795 /* 194378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
68796 /* 194381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68797 /* 194385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68798 /* 194389 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68799 /* 194393 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (VPMAXUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
68800 /* 194393 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDrr),
68801 /* 194398 */ GIR_RootConstrainSelectedInstOperands,
68802 /* 194399 */ // GIR_Coverage, 3167,
68803 /* 194399 */ GIR_Done,
68804 /* 194400 */ // Label 4379: @194400
68805 /* 194400 */ GIM_Try, /*On fail goto*//*Label 4380*/ GIMT_Encode4(194427), // Rule ID 3209 //
68806 /* 194405 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE41),
68807 /* 194408 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68808 /* 194412 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68809 /* 194416 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
68810 /* 194420 */ // (umax:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2) => (PMAXUDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src1, VR128:{ *:[v4i32] }:$src2)
68811 /* 194420 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PMAXUDrr),
68812 /* 194425 */ GIR_RootConstrainSelectedInstOperands,
68813 /* 194426 */ // GIR_Coverage, 3209,
68814 /* 194426 */ GIR_Done,
68815 /* 194427 */ // Label 4380: @194427
68816 /* 194427 */ GIM_Try, /*On fail goto*//*Label 4381*/ GIMT_Encode4(194454), // Rule ID 5450 //
68817 /* 194432 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68818 /* 194435 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68819 /* 194439 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68820 /* 194443 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
68821 /* 194447 */ // (umax:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2) => (VPMAXUDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1, VR128X:{ *:[v4i32] }:$src2)
68822 /* 194447 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ128rr),
68823 /* 194452 */ GIR_RootConstrainSelectedInstOperands,
68824 /* 194453 */ // GIR_Coverage, 5450,
68825 /* 194453 */ GIR_Done,
68826 /* 194454 */ // Label 4381: @194454
68827 /* 194454 */ GIM_Reject,
68828 /* 194455 */ // Label 4374: @194455
68829 /* 194455 */ GIM_Reject,
68830 /* 194456 */ // Label 4330: @194456
68831 /* 194456 */ GIM_Try, /*On fail goto*//*Label 4382*/ GIMT_Encode4(194770),
68832 /* 194461 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
68833 /* 194464 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
68834 /* 194467 */ GIM_Try, /*On fail goto*//*Label 4383*/ GIMT_Encode4(194529), // Rule ID 23571 //
68835 /* 194472 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
68836 /* 194475 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68837 /* 194479 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68838 /* 194483 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68839 /* 194487 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68840 /* 194490 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68841 /* 194494 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68842 /* 194498 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68843 /* 194502 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68844 /* 194504 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68845 /* 194511 */ // (umax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256:{ *:[v8i32] }:$src1) => (VPMAXUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68846 /* 194511 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrm),
68847 /* 194514 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68848 /* 194516 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68849 /* 194518 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68850 /* 194522 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68851 /* 194527 */ GIR_RootConstrainSelectedInstOperands,
68852 /* 194528 */ // GIR_Coverage, 23571,
68853 /* 194528 */ GIR_EraseRootFromParent_Done,
68854 /* 194529 */ // Label 4383: @194529
68855 /* 194529 */ GIM_Try, /*On fail goto*//*Label 4384*/ GIMT_Encode4(194591), // Rule ID 24057 //
68856 /* 194534 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68857 /* 194537 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68858 /* 194541 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68859 /* 194545 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68860 /* 194549 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68861 /* 194552 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68862 /* 194556 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68863 /* 194560 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68864 /* 194564 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68865 /* 194566 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68866 /* 194573 */ // (umax:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v8i32] }:$src1) => (VPMAXUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68867 /* 194573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rm),
68868 /* 194576 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68869 /* 194578 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68870 /* 194580 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68871 /* 194584 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68872 /* 194589 */ GIR_RootConstrainSelectedInstOperands,
68873 /* 194590 */ // GIR_Coverage, 24057,
68874 /* 194590 */ GIR_EraseRootFromParent_Done,
68875 /* 194591 */ // Label 4384: @194591
68876 /* 194591 */ GIM_Try, /*On fail goto*//*Label 4385*/ GIMT_Encode4(194653), // Rule ID 3186 //
68877 /* 194596 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
68878 /* 194599 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68879 /* 194603 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68880 /* 194607 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68881 /* 194611 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68882 /* 194615 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68883 /* 194618 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68884 /* 194622 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68885 /* 194626 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68886 /* 194628 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68887 /* 194635 */ // (umax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDYrm:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68888 /* 194635 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrm),
68889 /* 194638 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68890 /* 194640 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68891 /* 194642 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68892 /* 194646 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68893 /* 194651 */ GIR_RootConstrainSelectedInstOperands,
68894 /* 194652 */ // GIR_Coverage, 3186,
68895 /* 194652 */ GIR_EraseRootFromParent_Done,
68896 /* 194653 */ // Label 4385: @194653
68897 /* 194653 */ GIM_Try, /*On fail goto*//*Label 4386*/ GIMT_Encode4(194715), // Rule ID 5444 //
68898 /* 194658 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68899 /* 194661 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68900 /* 194665 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68901 /* 194669 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68902 /* 194673 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68903 /* 194677 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68904 /* 194680 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68905 /* 194684 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68906 /* 194688 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68907 /* 194690 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68908 /* 194697 */ // (umax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZ256rm:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68909 /* 194697 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rm),
68910 /* 194700 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68911 /* 194702 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68912 /* 194704 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68913 /* 194708 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68914 /* 194713 */ GIR_RootConstrainSelectedInstOperands,
68915 /* 194714 */ // GIR_Coverage, 5444,
68916 /* 194714 */ GIR_EraseRootFromParent_Done,
68917 /* 194715 */ // Label 4386: @194715
68918 /* 194715 */ GIM_Try, /*On fail goto*//*Label 4387*/ GIMT_Encode4(194742), // Rule ID 3185 //
68919 /* 194720 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
68920 /* 194723 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68921 /* 194727 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68922 /* 194731 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
68923 /* 194735 */ // (umax:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2) => (VPMAXUDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src1, VR256:{ *:[v8i32] }:$src2)
68924 /* 194735 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDYrr),
68925 /* 194740 */ GIR_RootConstrainSelectedInstOperands,
68926 /* 194741 */ // GIR_Coverage, 3185,
68927 /* 194741 */ GIR_Done,
68928 /* 194742 */ // Label 4387: @194742
68929 /* 194742 */ GIM_Try, /*On fail goto*//*Label 4388*/ GIMT_Encode4(194769), // Rule ID 5441 //
68930 /* 194747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
68931 /* 194750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68932 /* 194754 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68933 /* 194758 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
68934 /* 194762 */ // (umax:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2) => (VPMAXUDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1, VR256X:{ *:[v8i32] }:$src2)
68935 /* 194762 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZ256rr),
68936 /* 194767 */ GIR_RootConstrainSelectedInstOperands,
68937 /* 194768 */ // GIR_Coverage, 5441,
68938 /* 194768 */ GIR_Done,
68939 /* 194769 */ // Label 4388: @194769
68940 /* 194769 */ GIM_Reject,
68941 /* 194770 */ // Label 4382: @194770
68942 /* 194770 */ GIM_Reject,
68943 /* 194771 */ // Label 4331: @194771
68944 /* 194771 */ GIM_Try, /*On fail goto*//*Label 4389*/ GIMT_Encode4(194926),
68945 /* 194776 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
68946 /* 194779 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
68947 /* 194782 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68948 /* 194786 */ GIM_Try, /*On fail goto*//*Label 4390*/ GIMT_Encode4(194844), // Rule ID 24051 //
68949 /* 194791 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68950 /* 194794 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
68951 /* 194798 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68952 /* 194802 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68953 /* 194805 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68954 /* 194809 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68955 /* 194813 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68956 /* 194817 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68957 /* 194819 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68958 /* 194826 */ // (umax:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v16i32] }:$src1) => (VPMAXUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68959 /* 194826 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrm),
68960 /* 194829 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68961 /* 194831 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
68962 /* 194833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68963 /* 194837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68964 /* 194842 */ GIR_RootConstrainSelectedInstOperands,
68965 /* 194843 */ // GIR_Coverage, 24051,
68966 /* 194843 */ GIR_EraseRootFromParent_Done,
68967 /* 194844 */ // Label 4390: @194844
68968 /* 194844 */ GIM_Try, /*On fail goto*//*Label 4391*/ GIMT_Encode4(194902), // Rule ID 5435 //
68969 /* 194849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68970 /* 194852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68971 /* 194856 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
68972 /* 194860 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
68973 /* 194864 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
68974 /* 194867 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
68975 /* 194871 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
68976 /* 194875 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
68977 /* 194877 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
68978 /* 194884 */ // (umax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUDZrm:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, addr:{ *:[iPTR] }:$src2)
68979 /* 194884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrm),
68980 /* 194887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
68981 /* 194889 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
68982 /* 194891 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
68983 /* 194895 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
68984 /* 194900 */ GIR_RootConstrainSelectedInstOperands,
68985 /* 194901 */ // GIR_Coverage, 5435,
68986 /* 194901 */ GIR_EraseRootFromParent_Done,
68987 /* 194902 */ // Label 4391: @194902
68988 /* 194902 */ GIM_Try, /*On fail goto*//*Label 4392*/ GIMT_Encode4(194925), // Rule ID 5432 //
68989 /* 194907 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
68990 /* 194910 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68991 /* 194914 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
68992 /* 194918 */ // (umax:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2) => (VPMAXUDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1, VR512:{ *:[v16i32] }:$src2)
68993 /* 194918 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUDZrr),
68994 /* 194923 */ GIR_RootConstrainSelectedInstOperands,
68995 /* 194924 */ // GIR_Coverage, 5432,
68996 /* 194924 */ GIR_Done,
68997 /* 194925 */ // Label 4392: @194925
68998 /* 194925 */ GIM_Reject,
68999 /* 194926 */ // Label 4389: @194926
69000 /* 194926 */ GIM_Reject,
69001 /* 194927 */ // Label 4332: @194927
69002 /* 194927 */ GIM_Try, /*On fail goto*//*Label 4393*/ GIMT_Encode4(195255),
69003 /* 194932 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
69004 /* 194935 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
69005 /* 194938 */ GIM_Try, /*On fail goto*//*Label 4394*/ GIMT_Encode4(195000), // Rule ID 24081 //
69006 /* 194943 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69007 /* 194946 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69008 /* 194950 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69009 /* 194954 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69010 /* 194958 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69011 /* 194961 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69012 /* 194965 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69013 /* 194969 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69014 /* 194973 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69015 /* 194975 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69016 /* 194982 */ // (umax:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR128X:{ *:[v2i64] }:$src1) => (VPMAXUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
69017 /* 194982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rm),
69018 /* 194985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69019 /* 194987 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69020 /* 194989 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69021 /* 194993 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69022 /* 194998 */ GIR_RootConstrainSelectedInstOperands,
69023 /* 194999 */ // GIR_Coverage, 24081,
69024 /* 194999 */ GIR_EraseRootFromParent_Done,
69025 /* 195000 */ // Label 4394: @195000
69026 /* 195000 */ GIM_Try, /*On fail goto*//*Label 4395*/ GIMT_Encode4(195062), // Rule ID 5480 //
69027 /* 195005 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69028 /* 195008 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69029 /* 195012 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69030 /* 195016 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69031 /* 195020 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69032 /* 195024 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69033 /* 195027 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69034 /* 195031 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69035 /* 195035 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69036 /* 195037 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69037 /* 195044 */ // (umax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZ128rm:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, addr:{ *:[iPTR] }:$src2)
69038 /* 195044 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rm),
69039 /* 195047 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69040 /* 195049 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69041 /* 195051 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69042 /* 195055 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69043 /* 195060 */ GIR_RootConstrainSelectedInstOperands,
69044 /* 195061 */ // GIR_Coverage, 5480,
69045 /* 195061 */ GIR_EraseRootFromParent_Done,
69046 /* 195062 */ // Label 4395: @195062
69047 /* 195062 */ GIM_Try, /*On fail goto*//*Label 4396*/ GIMT_Encode4(195089), // Rule ID 5477 //
69048 /* 195067 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69049 /* 195070 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69050 /* 195074 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69051 /* 195078 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69052 /* 195082 */ // (umax:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2) => (VPMAXUQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1, VR128X:{ *:[v2i64] }:$src2)
69053 /* 195082 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ128rr),
69054 /* 195087 */ GIR_RootConstrainSelectedInstOperands,
69055 /* 195088 */ // GIR_Coverage, 5477,
69056 /* 195088 */ GIR_Done,
69057 /* 195089 */ // Label 4396: @195089
69058 /* 195089 */ GIM_Try, /*On fail goto*//*Label 4397*/ GIMT_Encode4(195254), // Rule ID 19987 //
69059 /* 195094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
69060 /* 195097 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
69061 /* 195101 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69062 /* 195105 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69063 /* 195109 */ // (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] })
69064 /* 195109 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
69065 /* 195112 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
69066 /* 195116 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69067 /* 195121 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
69068 /* 195123 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
69069 /* 195126 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
69070 /* 195130 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69071 /* 195135 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
69072 /* 195138 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
69073 /* 195142 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/9,
69074 /* 195145 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
69075 /* 195150 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69076 /* 195155 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
69077 /* 195160 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
69078 /* 195163 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
69079 /* 195167 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69080 /* 195172 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
69081 /* 195174 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
69082 /* 195177 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
69083 /* 195181 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69084 /* 195186 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
69085 /* 195189 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
69086 /* 195193 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
69087 /* 195196 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
69088 /* 195201 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69089 /* 195206 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
69090 /* 195211 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
69091 /* 195214 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
69092 /* 195218 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69093 /* 195223 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
69094 /* 195226 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
69095 /* 195229 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
69096 /* 195231 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69097 /* 195234 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69098 /* 195236 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
69099 /* 195243 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69100 /* 195248 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69101 /* 195253 */ // GIR_Coverage, 19987,
69102 /* 195253 */ GIR_EraseRootFromParent_Done,
69103 /* 195254 */ // Label 4397: @195254
69104 /* 195254 */ GIM_Reject,
69105 /* 195255 */ // Label 4393: @195255
69106 /* 195255 */ GIM_Reject,
69107 /* 195256 */ // Label 4333: @195256
69108 /* 195256 */ GIM_Try, /*On fail goto*//*Label 4398*/ GIMT_Encode4(195572),
69109 /* 195261 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
69110 /* 195264 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
69111 /* 195267 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69112 /* 195271 */ GIM_Try, /*On fail goto*//*Label 4399*/ GIMT_Encode4(195329), // Rule ID 24075 //
69113 /* 195276 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69114 /* 195279 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69115 /* 195283 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69116 /* 195287 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69117 /* 195290 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69118 /* 195294 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69119 /* 195298 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69120 /* 195302 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69121 /* 195304 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69122 /* 195311 */ // (umax:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR256X:{ *:[v4i64] }:$src1) => (VPMAXUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
69123 /* 195311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rm),
69124 /* 195314 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69125 /* 195316 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69126 /* 195318 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69127 /* 195322 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69128 /* 195327 */ GIR_RootConstrainSelectedInstOperands,
69129 /* 195328 */ // GIR_Coverage, 24075,
69130 /* 195328 */ GIR_EraseRootFromParent_Done,
69131 /* 195329 */ // Label 4399: @195329
69132 /* 195329 */ GIM_Try, /*On fail goto*//*Label 4400*/ GIMT_Encode4(195387), // Rule ID 5471 //
69133 /* 195334 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69134 /* 195337 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69135 /* 195341 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69136 /* 195345 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69137 /* 195349 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69138 /* 195352 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69139 /* 195356 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69140 /* 195360 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69141 /* 195362 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69142 /* 195369 */ // (umax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZ256rm:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, addr:{ *:[iPTR] }:$src2)
69143 /* 195369 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rm),
69144 /* 195372 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69145 /* 195374 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69146 /* 195376 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69147 /* 195380 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69148 /* 195385 */ GIR_RootConstrainSelectedInstOperands,
69149 /* 195386 */ // GIR_Coverage, 5471,
69150 /* 195386 */ GIR_EraseRootFromParent_Done,
69151 /* 195387 */ // Label 4400: @195387
69152 /* 195387 */ GIM_Try, /*On fail goto*//*Label 4401*/ GIMT_Encode4(195410), // Rule ID 5468 //
69153 /* 195392 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69154 /* 195395 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69155 /* 195399 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69156 /* 195403 */ // (umax:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2) => (VPMAXUQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1, VR256X:{ *:[v4i64] }:$src2)
69157 /* 195403 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZ256rr),
69158 /* 195408 */ GIR_RootConstrainSelectedInstOperands,
69159 /* 195409 */ // GIR_Coverage, 5468,
69160 /* 195409 */ GIR_Done,
69161 /* 195410 */ // Label 4401: @195410
69162 /* 195410 */ GIM_Try, /*On fail goto*//*Label 4402*/ GIMT_Encode4(195571), // Rule ID 19985 //
69163 /* 195415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
69164 /* 195418 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69165 /* 195422 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69166 /* 195426 */ // (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] })
69167 /* 195426 */ GIR_MakeTempReg, /*TempRegID*/4, /*TypeID*/GILLT_v8s64,
69168 /* 195429 */ GIR_BuildMI, /*InsnID*/5, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
69169 /* 195433 */ GIR_AddTempRegister, /*InsnID*/5, /*TempRegID*/4, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69170 /* 195438 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/5,
69171 /* 195440 */ GIR_MakeTempReg, /*TempRegID*/3, /*TypeID*/GILLT_v8s64,
69172 /* 195443 */ GIR_BuildMI, /*InsnID*/4, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
69173 /* 195447 */ GIR_AddTempRegister, /*InsnID*/4, /*TempRegID*/3, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69174 /* 195452 */ GIR_AddSimpleTempRegister, /*InsnID*/4, /*TempRegID*/4,
69175 /* 195455 */ GIR_Copy, /*NewInsnID*/4, /*OldInsnID*/0, /*OpIdx*/2, // src2
69176 /* 195459 */ GIR_AddImm8, /*InsnID*/4, /*Imm*/10,
69177 /* 195462 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
69178 /* 195467 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69179 /* 195472 */ GIR_ConstrainOperandRC, /*InsnID*/4, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
69180 /* 195477 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
69181 /* 195480 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
69182 /* 195484 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69183 /* 195489 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
69184 /* 195491 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
69185 /* 195494 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
69186 /* 195498 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69187 /* 195503 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
69188 /* 195506 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
69189 /* 195510 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
69190 /* 195513 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
69191 /* 195518 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69192 /* 195523 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
69193 /* 195528 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
69194 /* 195531 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
69195 /* 195535 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69196 /* 195540 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
69197 /* 195543 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/3,
69198 /* 195546 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
69199 /* 195548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69200 /* 195551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69201 /* 195553 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
69202 /* 195560 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69203 /* 195565 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69204 /* 195570 */ // GIR_Coverage, 19985,
69205 /* 195570 */ GIR_EraseRootFromParent_Done,
69206 /* 195571 */ // Label 4402: @195571
69207 /* 195571 */ GIM_Reject,
69208 /* 195572 */ // Label 4398: @195572
69209 /* 195572 */ GIM_Reject,
69210 /* 195573 */ // Label 4334: @195573
69211 /* 195573 */ GIM_Try, /*On fail goto*//*Label 4403*/ GIMT_Encode4(195728),
69212 /* 195578 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
69213 /* 195581 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
69214 /* 195584 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69215 /* 195588 */ GIM_Try, /*On fail goto*//*Label 4404*/ GIMT_Encode4(195646), // Rule ID 24069 //
69216 /* 195593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69217 /* 195596 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69218 /* 195600 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69219 /* 195604 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69220 /* 195607 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69221 /* 195611 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69222 /* 195615 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69223 /* 195619 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69224 /* 195621 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69225 /* 195628 */ // (umax:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>, VR512:{ *:[v8i64] }:$src1) => (VPMAXUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
69226 /* 195628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrm),
69227 /* 195631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69228 /* 195633 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
69229 /* 195635 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69230 /* 195639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69231 /* 195644 */ GIR_RootConstrainSelectedInstOperands,
69232 /* 195645 */ // GIR_Coverage, 24069,
69233 /* 195645 */ GIR_EraseRootFromParent_Done,
69234 /* 195646 */ // Label 4404: @195646
69235 /* 195646 */ GIM_Try, /*On fail goto*//*Label 4405*/ GIMT_Encode4(195704), // Rule ID 5462 //
69236 /* 195651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69237 /* 195654 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69238 /* 195658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
69239 /* 195662 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69240 /* 195666 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69241 /* 195669 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69242 /* 195673 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69243 /* 195677 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69244 /* 195679 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69245 /* 195686 */ // (umax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPMAXUQZrm:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, addr:{ *:[iPTR] }:$src2)
69246 /* 195686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrm),
69247 /* 195689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69248 /* 195691 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
69249 /* 195693 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
69250 /* 195697 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69251 /* 195702 */ GIR_RootConstrainSelectedInstOperands,
69252 /* 195703 */ // GIR_Coverage, 5462,
69253 /* 195703 */ GIR_EraseRootFromParent_Done,
69254 /* 195704 */ // Label 4405: @195704
69255 /* 195704 */ GIM_Try, /*On fail goto*//*Label 4406*/ GIMT_Encode4(195727), // Rule ID 5459 //
69256 /* 195709 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69257 /* 195712 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69258 /* 195716 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69259 /* 195720 */ // (umax:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2) => (VPMAXUQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1, VR512:{ *:[v8i64] }:$src2)
69260 /* 195720 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPMAXUQZrr),
69261 /* 195725 */ GIR_RootConstrainSelectedInstOperands,
69262 /* 195726 */ // GIR_Coverage, 5459,
69263 /* 195726 */ GIR_Done,
69264 /* 195727 */ // Label 4406: @195727
69265 /* 195727 */ GIM_Reject,
69266 /* 195728 */ // Label 4403: @195728
69267 /* 195728 */ GIM_Reject,
69268 /* 195729 */ // Label 4335: @195729
69269 /* 195729 */ GIM_Reject,
69270 /* 195730 */ // Label 59: @195730
69271 /* 195730 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 4419*/ GIMT_Encode4(197590),
69272 /* 195741 */ /*GILLT_v16s8*//*Label 4407*/ GIMT_Encode4(195789),
69273 /* 195745 */ /*GILLT_v32s8*//*Label 4408*/ GIMT_Encode4(195980),
69274 /* 195749 */ /*GILLT_v64s8*//*Label 4409*/ GIMT_Encode4(196148),
69275 /* 195753 */ /*GILLT_v8s16*//*Label 4410*/ GIMT_Encode4(196233),
69276 /* 195757 */ /*GILLT_v16s16*//*Label 4411*/ GIMT_Encode4(196424),
69277 /* 195761 */ /*GILLT_v32s16*//*Label 4412*/ GIMT_Encode4(196592),
69278 /* 195765 */ /*GILLT_v4s32*//*Label 4413*/ GIMT_Encode4(196677),
69279 /* 195769 */ /*GILLT_v8s32*//*Label 4414*/ GIMT_Encode4(196868),
69280 /* 195773 */ /*GILLT_v16s32*//*Label 4415*/ GIMT_Encode4(197036),
69281 /* 195777 */ /*GILLT_v2s64*//*Label 4416*/ GIMT_Encode4(197121),
69282 /* 195781 */ /*GILLT_v4s64*//*Label 4417*/ GIMT_Encode4(197317),
69283 /* 195785 */ /*GILLT_v8s64*//*Label 4418*/ GIMT_Encode4(197505),
69284 /* 195789 */ // Label 4407: @195789
69285 /* 195789 */ GIM_Try, /*On fail goto*//*Label 4420*/ GIMT_Encode4(195979),
69286 /* 195794 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
69287 /* 195797 */ GIM_Try, /*On fail goto*//*Label 4421*/ GIMT_Encode4(195853), // Rule ID 2967 //
69288 /* 195802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69289 /* 195805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69290 /* 195809 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69291 /* 195813 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69292 /* 195817 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69293 /* 195820 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69294 /* 195824 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69295 /* 195828 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69296 /* 195830 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69297 /* 195837 */ // (abs:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBrm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src)
69298 /* 195837 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBrm),
69299 /* 195840 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69300 /* 195842 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
69301 /* 195846 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69302 /* 195851 */ GIR_RootConstrainSelectedInstOperands,
69303 /* 195852 */ // GIR_Coverage, 2967,
69304 /* 195852 */ GIR_EraseRootFromParent_Done,
69305 /* 195853 */ // Label 4421: @195853
69306 /* 195853 */ GIM_Try, /*On fail goto*//*Label 4422*/ GIMT_Encode4(195909), // Rule ID 13313 //
69307 /* 195858 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69308 /* 195861 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69309 /* 195865 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69310 /* 195869 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69311 /* 195873 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69312 /* 195876 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69313 /* 195880 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69314 /* 195884 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69315 /* 195886 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69316 /* 195893 */ // (abs:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZ128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)
69317 /* 195893 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZ128rm),
69318 /* 195896 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69319 /* 195898 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69320 /* 195902 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69321 /* 195907 */ GIR_RootConstrainSelectedInstOperands,
69322 /* 195908 */ // GIR_Coverage, 13313,
69323 /* 195908 */ GIR_EraseRootFromParent_Done,
69324 /* 195909 */ // Label 4422: @195909
69325 /* 195909 */ GIM_Try, /*On fail goto*//*Label 4423*/ GIMT_Encode4(195932), // Rule ID 2966 //
69326 /* 195914 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69327 /* 195917 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69328 /* 195921 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69329 /* 195925 */ // (abs:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src) => (VPABSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src)
69330 /* 195925 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBrr),
69331 /* 195930 */ GIR_RootConstrainSelectedInstOperands,
69332 /* 195931 */ // GIR_Coverage, 2966,
69333 /* 195931 */ GIR_Done,
69334 /* 195932 */ // Label 4423: @195932
69335 /* 195932 */ GIM_Try, /*On fail goto*//*Label 4424*/ GIMT_Encode4(195955), // Rule ID 2978 //
69336 /* 195937 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
69337 /* 195940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69338 /* 195944 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69339 /* 195948 */ // (abs:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src) => (PABSBrr:{ *:[v16i8] } VR128:{ *:[v16i8] }:$src)
69340 /* 195948 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSBrr),
69341 /* 195953 */ GIR_RootConstrainSelectedInstOperands,
69342 /* 195954 */ // GIR_Coverage, 2978,
69343 /* 195954 */ GIR_Done,
69344 /* 195955 */ // Label 4424: @195955
69345 /* 195955 */ GIM_Try, /*On fail goto*//*Label 4425*/ GIMT_Encode4(195978), // Rule ID 13310 //
69346 /* 195960 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69347 /* 195963 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69348 /* 195967 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69349 /* 195971 */ // (abs:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1) => (VPABSBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1)
69350 /* 195971 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZ128rr),
69351 /* 195976 */ GIR_RootConstrainSelectedInstOperands,
69352 /* 195977 */ // GIR_Coverage, 13310,
69353 /* 195977 */ GIR_Done,
69354 /* 195978 */ // Label 4425: @195978
69355 /* 195978 */ GIM_Reject,
69356 /* 195979 */ // Label 4420: @195979
69357 /* 195979 */ GIM_Reject,
69358 /* 195980 */ // Label 4408: @195980
69359 /* 195980 */ GIM_Try, /*On fail goto*//*Label 4426*/ GIMT_Encode4(196147),
69360 /* 195985 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
69361 /* 195988 */ GIM_Try, /*On fail goto*//*Label 4427*/ GIMT_Encode4(196044), // Rule ID 2973 //
69362 /* 195993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69363 /* 195996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69364 /* 196000 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69365 /* 196004 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69366 /* 196008 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69367 /* 196011 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69368 /* 196015 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69369 /* 196019 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69370 /* 196021 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69371 /* 196028 */ // (abs:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBYrm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src)
69372 /* 196028 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBYrm),
69373 /* 196031 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69374 /* 196033 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
69375 /* 196037 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69376 /* 196042 */ GIR_RootConstrainSelectedInstOperands,
69377 /* 196043 */ // GIR_Coverage, 2973,
69378 /* 196043 */ GIR_EraseRootFromParent_Done,
69379 /* 196044 */ // Label 4427: @196044
69380 /* 196044 */ GIM_Try, /*On fail goto*//*Label 4428*/ GIMT_Encode4(196100), // Rule ID 13307 //
69381 /* 196049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69382 /* 196052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69383 /* 196056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69384 /* 196060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69385 /* 196064 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69386 /* 196067 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69387 /* 196071 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69388 /* 196075 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69389 /* 196077 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69390 /* 196084 */ // (abs:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZ256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)
69391 /* 196084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZ256rm),
69392 /* 196087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69393 /* 196089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69394 /* 196093 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69395 /* 196098 */ GIR_RootConstrainSelectedInstOperands,
69396 /* 196099 */ // GIR_Coverage, 13307,
69397 /* 196099 */ GIR_EraseRootFromParent_Done,
69398 /* 196100 */ // Label 4428: @196100
69399 /* 196100 */ GIM_Try, /*On fail goto*//*Label 4429*/ GIMT_Encode4(196123), // Rule ID 2972 //
69400 /* 196105 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69401 /* 196108 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69402 /* 196112 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69403 /* 196116 */ // (abs:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src) => (VPABSBYrr:{ *:[v32i8] } VR256:{ *:[v32i8] }:$src)
69404 /* 196116 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBYrr),
69405 /* 196121 */ GIR_RootConstrainSelectedInstOperands,
69406 /* 196122 */ // GIR_Coverage, 2972,
69407 /* 196122 */ GIR_Done,
69408 /* 196123 */ // Label 4429: @196123
69409 /* 196123 */ GIM_Try, /*On fail goto*//*Label 4430*/ GIMT_Encode4(196146), // Rule ID 13304 //
69410 /* 196128 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69411 /* 196131 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69412 /* 196135 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69413 /* 196139 */ // (abs:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1) => (VPABSBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1)
69414 /* 196139 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZ256rr),
69415 /* 196144 */ GIR_RootConstrainSelectedInstOperands,
69416 /* 196145 */ // GIR_Coverage, 13304,
69417 /* 196145 */ GIR_Done,
69418 /* 196146 */ // Label 4430: @196146
69419 /* 196146 */ GIM_Reject,
69420 /* 196147 */ // Label 4426: @196147
69421 /* 196147 */ GIM_Reject,
69422 /* 196148 */ // Label 4409: @196148
69423 /* 196148 */ GIM_Try, /*On fail goto*//*Label 4431*/ GIMT_Encode4(196232),
69424 /* 196153 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
69425 /* 196156 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69426 /* 196160 */ GIM_Try, /*On fail goto*//*Label 4432*/ GIMT_Encode4(196212), // Rule ID 13301 //
69427 /* 196165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69428 /* 196168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69429 /* 196172 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69430 /* 196176 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69431 /* 196179 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69432 /* 196183 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69433 /* 196187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69434 /* 196189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69435 /* 196196 */ // (abs:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSBZrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)
69436 /* 196196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSBZrm),
69437 /* 196199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69438 /* 196201 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69439 /* 196205 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69440 /* 196210 */ GIR_RootConstrainSelectedInstOperands,
69441 /* 196211 */ // GIR_Coverage, 13301,
69442 /* 196211 */ GIR_EraseRootFromParent_Done,
69443 /* 196212 */ // Label 4432: @196212
69444 /* 196212 */ GIM_Try, /*On fail goto*//*Label 4433*/ GIMT_Encode4(196231), // Rule ID 13298 //
69445 /* 196217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69446 /* 196220 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69447 /* 196224 */ // (abs:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1) => (VPABSBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1)
69448 /* 196224 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSBZrr),
69449 /* 196229 */ GIR_RootConstrainSelectedInstOperands,
69450 /* 196230 */ // GIR_Coverage, 13298,
69451 /* 196230 */ GIR_Done,
69452 /* 196231 */ // Label 4433: @196231
69453 /* 196231 */ GIM_Reject,
69454 /* 196232 */ // Label 4431: @196232
69455 /* 196232 */ GIM_Reject,
69456 /* 196233 */ // Label 4410: @196233
69457 /* 196233 */ GIM_Try, /*On fail goto*//*Label 4434*/ GIMT_Encode4(196423),
69458 /* 196238 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
69459 /* 196241 */ GIM_Try, /*On fail goto*//*Label 4435*/ GIMT_Encode4(196297), // Rule ID 2969 //
69460 /* 196246 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69461 /* 196249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69462 /* 196253 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69463 /* 196257 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69464 /* 196261 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69465 /* 196264 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69466 /* 196268 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69467 /* 196272 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69468 /* 196274 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69469 /* 196281 */ // (abs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWrm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src)
69470 /* 196281 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWrm),
69471 /* 196284 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69472 /* 196286 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
69473 /* 196290 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69474 /* 196295 */ GIR_RootConstrainSelectedInstOperands,
69475 /* 196296 */ // GIR_Coverage, 2969,
69476 /* 196296 */ GIR_EraseRootFromParent_Done,
69477 /* 196297 */ // Label 4435: @196297
69478 /* 196297 */ GIM_Try, /*On fail goto*//*Label 4436*/ GIMT_Encode4(196353), // Rule ID 13295 //
69479 /* 196302 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69480 /* 196305 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69481 /* 196309 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69482 /* 196313 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69483 /* 196317 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69484 /* 196320 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69485 /* 196324 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69486 /* 196328 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69487 /* 196330 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69488 /* 196337 */ // (abs:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)
69489 /* 196337 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZ128rm),
69490 /* 196340 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69491 /* 196342 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69492 /* 196346 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69493 /* 196351 */ GIR_RootConstrainSelectedInstOperands,
69494 /* 196352 */ // GIR_Coverage, 13295,
69495 /* 196352 */ GIR_EraseRootFromParent_Done,
69496 /* 196353 */ // Label 4436: @196353
69497 /* 196353 */ GIM_Try, /*On fail goto*//*Label 4437*/ GIMT_Encode4(196376), // Rule ID 2968 //
69498 /* 196358 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX_Or_NoBWI),
69499 /* 196361 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69500 /* 196365 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69501 /* 196369 */ // (abs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src) => (VPABSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src)
69502 /* 196369 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWrr),
69503 /* 196374 */ GIR_RootConstrainSelectedInstOperands,
69504 /* 196375 */ // GIR_Coverage, 2968,
69505 /* 196375 */ GIR_Done,
69506 /* 196376 */ // Label 4437: @196376
69507 /* 196376 */ GIM_Try, /*On fail goto*//*Label 4438*/ GIMT_Encode4(196399), // Rule ID 2980 //
69508 /* 196381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
69509 /* 196384 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69510 /* 196388 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69511 /* 196392 */ // (abs:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src) => (PABSWrr:{ *:[v8i16] } VR128:{ *:[v8i16] }:$src)
69512 /* 196392 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSWrr),
69513 /* 196397 */ GIR_RootConstrainSelectedInstOperands,
69514 /* 196398 */ // GIR_Coverage, 2980,
69515 /* 196398 */ GIR_Done,
69516 /* 196399 */ // Label 4438: @196399
69517 /* 196399 */ GIM_Try, /*On fail goto*//*Label 4439*/ GIMT_Encode4(196422), // Rule ID 13292 //
69518 /* 196404 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69519 /* 196407 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69520 /* 196411 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69521 /* 196415 */ // (abs:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1) => (VPABSWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1)
69522 /* 196415 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZ128rr),
69523 /* 196420 */ GIR_RootConstrainSelectedInstOperands,
69524 /* 196421 */ // GIR_Coverage, 13292,
69525 /* 196421 */ GIR_Done,
69526 /* 196422 */ // Label 4439: @196422
69527 /* 196422 */ GIM_Reject,
69528 /* 196423 */ // Label 4434: @196423
69529 /* 196423 */ GIM_Reject,
69530 /* 196424 */ // Label 4411: @196424
69531 /* 196424 */ GIM_Try, /*On fail goto*//*Label 4440*/ GIMT_Encode4(196591),
69532 /* 196429 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
69533 /* 196432 */ GIM_Try, /*On fail goto*//*Label 4441*/ GIMT_Encode4(196488), // Rule ID 2975 //
69534 /* 196437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69535 /* 196440 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69536 /* 196444 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69537 /* 196448 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69538 /* 196452 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69539 /* 196455 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69540 /* 196459 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69541 /* 196463 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69542 /* 196465 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69543 /* 196472 */ // (abs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWYrm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src)
69544 /* 196472 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWYrm),
69545 /* 196475 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69546 /* 196477 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
69547 /* 196481 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69548 /* 196486 */ GIR_RootConstrainSelectedInstOperands,
69549 /* 196487 */ // GIR_Coverage, 2975,
69550 /* 196487 */ GIR_EraseRootFromParent_Done,
69551 /* 196488 */ // Label 4441: @196488
69552 /* 196488 */ GIM_Try, /*On fail goto*//*Label 4442*/ GIMT_Encode4(196544), // Rule ID 13289 //
69553 /* 196493 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69554 /* 196496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69555 /* 196500 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69556 /* 196504 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69557 /* 196508 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69558 /* 196511 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69559 /* 196515 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69560 /* 196519 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69561 /* 196521 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69562 /* 196528 */ // (abs:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)
69563 /* 196528 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZ256rm),
69564 /* 196531 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69565 /* 196533 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69566 /* 196537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69567 /* 196542 */ GIR_RootConstrainSelectedInstOperands,
69568 /* 196543 */ // GIR_Coverage, 13289,
69569 /* 196543 */ GIR_EraseRootFromParent_Done,
69570 /* 196544 */ // Label 4442: @196544
69571 /* 196544 */ GIM_Try, /*On fail goto*//*Label 4443*/ GIMT_Encode4(196567), // Rule ID 2974 //
69572 /* 196549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX_Or_NoBWI),
69573 /* 196552 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69574 /* 196556 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69575 /* 196560 */ // (abs:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src) => (VPABSWYrr:{ *:[v16i16] } VR256:{ *:[v16i16] }:$src)
69576 /* 196560 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWYrr),
69577 /* 196565 */ GIR_RootConstrainSelectedInstOperands,
69578 /* 196566 */ // GIR_Coverage, 2974,
69579 /* 196566 */ GIR_Done,
69580 /* 196567 */ // Label 4443: @196567
69581 /* 196567 */ GIM_Try, /*On fail goto*//*Label 4444*/ GIMT_Encode4(196590), // Rule ID 13286 //
69582 /* 196572 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI_HasVLX),
69583 /* 196575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69584 /* 196579 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69585 /* 196583 */ // (abs:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1) => (VPABSWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1)
69586 /* 196583 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZ256rr),
69587 /* 196588 */ GIR_RootConstrainSelectedInstOperands,
69588 /* 196589 */ // GIR_Coverage, 13286,
69589 /* 196589 */ GIR_Done,
69590 /* 196590 */ // Label 4444: @196590
69591 /* 196590 */ GIM_Reject,
69592 /* 196591 */ // Label 4440: @196591
69593 /* 196591 */ GIM_Reject,
69594 /* 196592 */ // Label 4412: @196592
69595 /* 196592 */ GIM_Try, /*On fail goto*//*Label 4445*/ GIMT_Encode4(196676),
69596 /* 196597 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
69597 /* 196600 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69598 /* 196604 */ GIM_Try, /*On fail goto*//*Label 4446*/ GIMT_Encode4(196656), // Rule ID 13283 //
69599 /* 196609 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69600 /* 196612 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69601 /* 196616 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69602 /* 196620 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69603 /* 196623 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69604 /* 196627 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69605 /* 196631 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69606 /* 196633 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69607 /* 196640 */ // (abs:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)
69608 /* 196640 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSWZrm),
69609 /* 196643 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69610 /* 196645 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69611 /* 196649 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69612 /* 196654 */ GIR_RootConstrainSelectedInstOperands,
69613 /* 196655 */ // GIR_Coverage, 13283,
69614 /* 196655 */ GIR_EraseRootFromParent_Done,
69615 /* 196656 */ // Label 4446: @196656
69616 /* 196656 */ GIM_Try, /*On fail goto*//*Label 4447*/ GIMT_Encode4(196675), // Rule ID 13280 //
69617 /* 196661 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBWI),
69618 /* 196664 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69619 /* 196668 */ // (abs:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1) => (VPABSWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1)
69620 /* 196668 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSWZrr),
69621 /* 196673 */ GIR_RootConstrainSelectedInstOperands,
69622 /* 196674 */ // GIR_Coverage, 13280,
69623 /* 196674 */ GIR_Done,
69624 /* 196675 */ // Label 4447: @196675
69625 /* 196675 */ GIM_Reject,
69626 /* 196676 */ // Label 4445: @196676
69627 /* 196676 */ GIM_Reject,
69628 /* 196677 */ // Label 4413: @196677
69629 /* 196677 */ GIM_Try, /*On fail goto*//*Label 4448*/ GIMT_Encode4(196867),
69630 /* 196682 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
69631 /* 196685 */ GIM_Try, /*On fail goto*//*Label 4449*/ GIMT_Encode4(196741), // Rule ID 2971 //
69632 /* 196690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
69633 /* 196693 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69634 /* 196697 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69635 /* 196701 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69636 /* 196705 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69637 /* 196708 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69638 /* 196712 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69639 /* 196716 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69640 /* 196718 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69641 /* 196725 */ // (abs:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDrm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src)
69642 /* 196725 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDrm),
69643 /* 196728 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69644 /* 196730 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
69645 /* 196734 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69646 /* 196739 */ GIR_RootConstrainSelectedInstOperands,
69647 /* 196740 */ // GIR_Coverage, 2971,
69648 /* 196740 */ GIR_EraseRootFromParent_Done,
69649 /* 196741 */ // Label 4449: @196741
69650 /* 196741 */ GIM_Try, /*On fail goto*//*Label 4450*/ GIMT_Encode4(196797), // Rule ID 13274 //
69651 /* 196746 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69652 /* 196749 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69653 /* 196753 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69654 /* 196757 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69655 /* 196761 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69656 /* 196764 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69657 /* 196768 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69658 /* 196772 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69659 /* 196774 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69660 /* 196781 */ // (abs:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
69661 /* 196781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZ128rm),
69662 /* 196784 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69663 /* 196786 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69664 /* 196790 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69665 /* 196795 */ GIR_RootConstrainSelectedInstOperands,
69666 /* 196796 */ // GIR_Coverage, 13274,
69667 /* 196796 */ GIR_EraseRootFromParent_Done,
69668 /* 196797 */ // Label 4450: @196797
69669 /* 196797 */ GIM_Try, /*On fail goto*//*Label 4451*/ GIMT_Encode4(196820), // Rule ID 2970 //
69670 /* 196802 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
69671 /* 196805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69672 /* 196809 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69673 /* 196813 */ // (abs:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src) => (VPABSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src)
69674 /* 196813 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDrr),
69675 /* 196818 */ GIR_RootConstrainSelectedInstOperands,
69676 /* 196819 */ // GIR_Coverage, 2970,
69677 /* 196819 */ GIR_Done,
69678 /* 196820 */ // Label 4451: @196820
69679 /* 196820 */ GIM_Try, /*On fail goto*//*Label 4452*/ GIMT_Encode4(196843), // Rule ID 2982 //
69680 /* 196825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSSE3),
69681 /* 196828 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69682 /* 196832 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
69683 /* 196836 */ // (abs:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src) => (PABSDrr:{ *:[v4i32] } VR128:{ *:[v4i32] }:$src)
69684 /* 196836 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::PABSDrr),
69685 /* 196841 */ GIR_RootConstrainSelectedInstOperands,
69686 /* 196842 */ // GIR_Coverage, 2982,
69687 /* 196842 */ GIR_Done,
69688 /* 196843 */ // Label 4452: @196843
69689 /* 196843 */ GIM_Try, /*On fail goto*//*Label 4453*/ GIMT_Encode4(196866), // Rule ID 13271 //
69690 /* 196848 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69691 /* 196851 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69692 /* 196855 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69693 /* 196859 */ // (abs:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPABSDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
69694 /* 196859 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZ128rr),
69695 /* 196864 */ GIR_RootConstrainSelectedInstOperands,
69696 /* 196865 */ // GIR_Coverage, 13271,
69697 /* 196865 */ GIR_Done,
69698 /* 196866 */ // Label 4453: @196866
69699 /* 196866 */ GIM_Reject,
69700 /* 196867 */ // Label 4448: @196867
69701 /* 196867 */ GIM_Reject,
69702 /* 196868 */ // Label 4414: @196868
69703 /* 196868 */ GIM_Try, /*On fail goto*//*Label 4454*/ GIMT_Encode4(197035),
69704 /* 196873 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
69705 /* 196876 */ GIM_Try, /*On fail goto*//*Label 4455*/ GIMT_Encode4(196932), // Rule ID 2977 //
69706 /* 196881 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
69707 /* 196884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69708 /* 196888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69709 /* 196892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69710 /* 196896 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69711 /* 196899 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69712 /* 196903 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69713 /* 196907 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69714 /* 196909 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69715 /* 196916 */ // (abs:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDYrm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src)
69716 /* 196916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDYrm),
69717 /* 196919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69718 /* 196921 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
69719 /* 196925 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69720 /* 196930 */ GIR_RootConstrainSelectedInstOperands,
69721 /* 196931 */ // GIR_Coverage, 2977,
69722 /* 196931 */ GIR_EraseRootFromParent_Done,
69723 /* 196932 */ // Label 4455: @196932
69724 /* 196932 */ GIM_Try, /*On fail goto*//*Label 4456*/ GIMT_Encode4(196988), // Rule ID 13265 //
69725 /* 196937 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69726 /* 196940 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69727 /* 196944 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69728 /* 196948 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69729 /* 196952 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69730 /* 196955 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69731 /* 196959 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69732 /* 196963 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69733 /* 196965 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69734 /* 196972 */ // (abs:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
69735 /* 196972 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZ256rm),
69736 /* 196975 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69737 /* 196977 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69738 /* 196981 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69739 /* 196986 */ GIR_RootConstrainSelectedInstOperands,
69740 /* 196987 */ // GIR_Coverage, 13265,
69741 /* 196987 */ GIR_EraseRootFromParent_Done,
69742 /* 196988 */ // Label 4456: @196988
69743 /* 196988 */ GIM_Try, /*On fail goto*//*Label 4457*/ GIMT_Encode4(197011), // Rule ID 2976 //
69744 /* 196993 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX2_NoVLX),
69745 /* 196996 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69746 /* 197000 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
69747 /* 197004 */ // (abs:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src) => (VPABSDYrr:{ *:[v8i32] } VR256:{ *:[v8i32] }:$src)
69748 /* 197004 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDYrr),
69749 /* 197009 */ GIR_RootConstrainSelectedInstOperands,
69750 /* 197010 */ // GIR_Coverage, 2976,
69751 /* 197010 */ GIR_Done,
69752 /* 197011 */ // Label 4457: @197011
69753 /* 197011 */ GIM_Try, /*On fail goto*//*Label 4458*/ GIMT_Encode4(197034), // Rule ID 13262 //
69754 /* 197016 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69755 /* 197019 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69756 /* 197023 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69757 /* 197027 */ // (abs:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPABSDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
69758 /* 197027 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZ256rr),
69759 /* 197032 */ GIR_RootConstrainSelectedInstOperands,
69760 /* 197033 */ // GIR_Coverage, 13262,
69761 /* 197033 */ GIR_Done,
69762 /* 197034 */ // Label 4458: @197034
69763 /* 197034 */ GIM_Reject,
69764 /* 197035 */ // Label 4454: @197035
69765 /* 197035 */ GIM_Reject,
69766 /* 197036 */ // Label 4415: @197036
69767 /* 197036 */ GIM_Try, /*On fail goto*//*Label 4459*/ GIMT_Encode4(197120),
69768 /* 197041 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
69769 /* 197044 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69770 /* 197048 */ GIM_Try, /*On fail goto*//*Label 4460*/ GIMT_Encode4(197100), // Rule ID 13256 //
69771 /* 197053 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69772 /* 197056 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69773 /* 197060 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69774 /* 197064 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69775 /* 197067 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69776 /* 197071 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69777 /* 197075 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69778 /* 197077 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69779 /* 197084 */ // (abs:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
69780 /* 197084 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSDZrm),
69781 /* 197087 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69782 /* 197089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69783 /* 197093 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69784 /* 197098 */ GIR_RootConstrainSelectedInstOperands,
69785 /* 197099 */ // GIR_Coverage, 13256,
69786 /* 197099 */ GIR_EraseRootFromParent_Done,
69787 /* 197100 */ // Label 4460: @197100
69788 /* 197100 */ GIM_Try, /*On fail goto*//*Label 4461*/ GIMT_Encode4(197119), // Rule ID 13253 //
69789 /* 197105 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69790 /* 197108 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69791 /* 197112 */ // (abs:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPABSDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
69792 /* 197112 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSDZrr),
69793 /* 197117 */ GIR_RootConstrainSelectedInstOperands,
69794 /* 197118 */ // GIR_Coverage, 13253,
69795 /* 197118 */ GIR_Done,
69796 /* 197119 */ // Label 4461: @197119
69797 /* 197119 */ GIM_Reject,
69798 /* 197120 */ // Label 4459: @197120
69799 /* 197120 */ GIM_Reject,
69800 /* 197121 */ // Label 4416: @197121
69801 /* 197121 */ GIM_Try, /*On fail goto*//*Label 4462*/ GIMT_Encode4(197316),
69802 /* 197126 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
69803 /* 197129 */ GIM_Try, /*On fail goto*//*Label 4463*/ GIMT_Encode4(197185), // Rule ID 13247 //
69804 /* 197134 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69805 /* 197137 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69806 /* 197141 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69807 /* 197145 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69808 /* 197149 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69809 /* 197152 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69810 /* 197156 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69811 /* 197160 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69812 /* 197162 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69813 /* 197169 */ // (abs:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
69814 /* 197169 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZ128rm),
69815 /* 197172 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69816 /* 197174 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69817 /* 197178 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69818 /* 197183 */ GIR_RootConstrainSelectedInstOperands,
69819 /* 197184 */ // GIR_Coverage, 13247,
69820 /* 197184 */ GIR_EraseRootFromParent_Done,
69821 /* 197185 */ // Label 4463: @197185
69822 /* 197185 */ GIM_Try, /*On fail goto*//*Label 4464*/ GIMT_Encode4(197208), // Rule ID 13244 //
69823 /* 197190 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69824 /* 197193 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69825 /* 197197 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69826 /* 197201 */ // (abs:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPABSQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
69827 /* 197201 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZ128rr),
69828 /* 197206 */ GIR_RootConstrainSelectedInstOperands,
69829 /* 197207 */ // GIR_Coverage, 13244,
69830 /* 197207 */ GIR_Done,
69831 /* 197208 */ // Label 4464: @197208
69832 /* 197208 */ GIM_Try, /*On fail goto*//*Label 4465*/ GIMT_Encode4(197315), // Rule ID 21811 //
69833 /* 197213 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
69834 /* 197216 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
69835 /* 197220 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
69836 /* 197224 */ // (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] })
69837 /* 197224 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
69838 /* 197227 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
69839 /* 197231 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69840 /* 197236 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
69841 /* 197238 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
69842 /* 197241 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
69843 /* 197245 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69844 /* 197250 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
69845 /* 197253 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
69846 /* 197257 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
69847 /* 197260 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
69848 /* 197265 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69849 /* 197270 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
69850 /* 197275 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
69851 /* 197278 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
69852 /* 197282 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69853 /* 197287 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
69854 /* 197290 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
69855 /* 197292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69856 /* 197295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69857 /* 197297 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
69858 /* 197304 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
69859 /* 197309 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69860 /* 197314 */ // GIR_Coverage, 21811,
69861 /* 197314 */ GIR_EraseRootFromParent_Done,
69862 /* 197315 */ // Label 4465: @197315
69863 /* 197315 */ GIM_Reject,
69864 /* 197316 */ // Label 4462: @197316
69865 /* 197316 */ GIM_Reject,
69866 /* 197317 */ // Label 4417: @197317
69867 /* 197317 */ GIM_Try, /*On fail goto*//*Label 4466*/ GIMT_Encode4(197504),
69868 /* 197322 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
69869 /* 197325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69870 /* 197329 */ GIM_Try, /*On fail goto*//*Label 4467*/ GIMT_Encode4(197381), // Rule ID 13238 //
69871 /* 197334 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69872 /* 197337 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69873 /* 197341 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69874 /* 197345 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69875 /* 197348 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69876 /* 197352 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69877 /* 197356 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69878 /* 197358 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69879 /* 197365 */ // (abs:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
69880 /* 197365 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZ256rm),
69881 /* 197368 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69882 /* 197370 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69883 /* 197374 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69884 /* 197379 */ GIR_RootConstrainSelectedInstOperands,
69885 /* 197380 */ // GIR_Coverage, 13238,
69886 /* 197380 */ GIR_EraseRootFromParent_Done,
69887 /* 197381 */ // Label 4467: @197381
69888 /* 197381 */ GIM_Try, /*On fail goto*//*Label 4468*/ GIMT_Encode4(197400), // Rule ID 13235 //
69889 /* 197386 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
69890 /* 197389 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69891 /* 197393 */ // (abs:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPABSQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
69892 /* 197393 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZ256rr),
69893 /* 197398 */ GIR_RootConstrainSelectedInstOperands,
69894 /* 197399 */ // GIR_Coverage, 13235,
69895 /* 197399 */ GIR_Done,
69896 /* 197400 */ // Label 4468: @197400
69897 /* 197400 */ GIM_Try, /*On fail goto*//*Label 4469*/ GIMT_Encode4(197503), // Rule ID 21810 //
69898 /* 197405 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_NoVLX),
69899 /* 197408 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
69900 /* 197412 */ // (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] })
69901 /* 197412 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
69902 /* 197415 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
69903 /* 197419 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69904 /* 197424 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
69905 /* 197426 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
69906 /* 197429 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
69907 /* 197433 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69908 /* 197438 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
69909 /* 197441 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src
69910 /* 197445 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
69911 /* 197448 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
69912 /* 197453 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69913 /* 197458 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
69914 /* 197463 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
69915 /* 197466 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
69916 /* 197470 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
69917 /* 197475 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
69918 /* 197478 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
69919 /* 197480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
69920 /* 197483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69921 /* 197485 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
69922 /* 197492 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
69923 /* 197497 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
69924 /* 197502 */ // GIR_Coverage, 21810,
69925 /* 197502 */ GIR_EraseRootFromParent_Done,
69926 /* 197503 */ // Label 4469: @197503
69927 /* 197503 */ GIM_Reject,
69928 /* 197504 */ // Label 4466: @197504
69929 /* 197504 */ GIM_Reject,
69930 /* 197505 */ // Label 4418: @197505
69931 /* 197505 */ GIM_Try, /*On fail goto*//*Label 4470*/ GIMT_Encode4(197589),
69932 /* 197510 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
69933 /* 197513 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69934 /* 197517 */ GIM_Try, /*On fail goto*//*Label 4471*/ GIMT_Encode4(197569), // Rule ID 13229 //
69935 /* 197522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69936 /* 197525 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
69937 /* 197529 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
69938 /* 197533 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
69939 /* 197536 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
69940 /* 197540 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
69941 /* 197544 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
69942 /* 197546 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
69943 /* 197553 */ // (abs:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPABSQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
69944 /* 197553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPABSQZrm),
69945 /* 197556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
69946 /* 197558 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
69947 /* 197562 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
69948 /* 197567 */ GIR_RootConstrainSelectedInstOperands,
69949 /* 197568 */ // GIR_Coverage, 13229,
69950 /* 197568 */ GIR_EraseRootFromParent_Done,
69951 /* 197569 */ // Label 4471: @197569
69952 /* 197569 */ GIM_Try, /*On fail goto*//*Label 4472*/ GIMT_Encode4(197588), // Rule ID 13226 //
69953 /* 197574 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
69954 /* 197577 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
69955 /* 197581 */ // (abs:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPABSQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
69956 /* 197581 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPABSQZrr),
69957 /* 197586 */ GIR_RootConstrainSelectedInstOperands,
69958 /* 197587 */ // GIR_Coverage, 13226,
69959 /* 197587 */ GIR_Done,
69960 /* 197588 */ // Label 4472: @197588
69961 /* 197588 */ GIM_Reject,
69962 /* 197589 */ // Label 4470: @197589
69963 /* 197589 */ GIM_Reject,
69964 /* 197590 */ // Label 4419: @197590
69965 /* 197590 */ GIM_Reject,
69966 /* 197591 */ // Label 60: @197591
69967 /* 197591 */ GIM_Try, /*On fail goto*//*Label 4473*/ GIMT_Encode4(197606), // Rule ID 605 //
69968 /* 197596 */ // MIs[0] dst
69969 /* 197596 */ GIM_CheckIsMBB, /*MI*/0, /*Op*/0,
69970 /* 197599 */ // (br (bb:{ *:[Other] }):$dst) => (JMP_1 (bb:{ *:[Other] }):$dst)
69971 /* 197599 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::JMP_1),
69972 /* 197604 */ GIR_RootConstrainSelectedInstOperands,
69973 /* 197605 */ // GIR_Coverage, 605,
69974 /* 197605 */ GIR_Done,
69975 /* 197606 */ // Label 4473: @197606
69976 /* 197606 */ GIM_Reject,
69977 /* 197607 */ // Label 61: @197607
69978 /* 197607 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(0), GIMT_Encode2(24), /*)*//*default:*//*Label 4488*/ GIMT_Encode4(200543),
69979 /* 197618 */ /*GILLT_s1*//*Label 4474*/ GIMT_Encode4(197714), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
69980 /* 197646 */ /*GILLT_v2s1*//*Label 4475*/ GIMT_Encode4(197955),
69981 /* 197650 */ /*GILLT_v4s1*//*Label 4476*/ GIMT_Encode4(198156),
69982 /* 197654 */ /*GILLT_v8s1*//*Label 4477*/ GIMT_Encode4(198317),
69983 /* 197658 */ /*GILLT_v16s1*//*Label 4478*/ GIMT_Encode4(198438),
69984 /* 197662 */ /*GILLT_v32s1*//*Label 4479*/ GIMT_Encode4(198519), GIMT_Encode4(0),
69985 /* 197670 */ /*GILLT_v16s8*//*Label 4480*/ GIMT_Encode4(198560),
69986 /* 197674 */ /*GILLT_v32s8*//*Label 4481*/ GIMT_Encode4(198801), GIMT_Encode4(0),
69987 /* 197682 */ /*GILLT_v8s16*//*Label 4482*/ GIMT_Encode4(198851),
69988 /* 197686 */ /*GILLT_v16s16*//*Label 4483*/ GIMT_Encode4(199332), GIMT_Encode4(0),
69989 /* 197694 */ /*GILLT_v4s32*//*Label 4484*/ GIMT_Encode4(199415),
69990 /* 197698 */ /*GILLT_v8s32*//*Label 4485*/ GIMT_Encode4(199896), GIMT_Encode4(0),
69991 /* 197706 */ /*GILLT_v2s64*//*Label 4486*/ GIMT_Encode4(199979),
69992 /* 197710 */ /*GILLT_v4s64*//*Label 4487*/ GIMT_Encode4(200460),
69993 /* 197714 */ // Label 4474: @197714
69994 /* 197714 */ GIM_Try, /*On fail goto*//*Label 4489*/ GIMT_Encode4(197754), // Rule ID 19587 //
69995 /* 197719 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s1,
69996 /* 197722 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
69997 /* 197726 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
69998 /* 197730 */ // MIs[0] Operand 2
69999 /* 197730 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70000 /* 197741 */ // (extract_subvector:{ *:[v1i1] } VK2:{ *:[v2i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK2:{ *:[v2i1] }:$src, VK1:{ *:[i32] })
70001 /* 197741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70002 /* 197744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70003 /* 197746 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70004 /* 197748 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
70005 /* 197753 */ // GIR_Coverage, 19587,
70006 /* 197753 */ GIR_EraseRootFromParent_Done,
70007 /* 197754 */ // Label 4489: @197754
70008 /* 197754 */ GIM_Try, /*On fail goto*//*Label 4490*/ GIMT_Encode4(197794), // Rule ID 19589 //
70009 /* 197759 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
70010 /* 197762 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
70011 /* 197766 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
70012 /* 197770 */ // MIs[0] Operand 2
70013 /* 197770 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70014 /* 197781 */ // (extract_subvector:{ *:[v1i1] } VK4:{ *:[v4i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK4:{ *:[v4i1] }:$src, VK1:{ *:[i32] })
70015 /* 197781 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70016 /* 197784 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70017 /* 197786 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70018 /* 197788 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
70019 /* 197793 */ // GIR_Coverage, 19589,
70020 /* 197793 */ GIR_EraseRootFromParent_Done,
70021 /* 197794 */ // Label 4490: @197794
70022 /* 197794 */ GIM_Try, /*On fail goto*//*Label 4491*/ GIMT_Encode4(197834), // Rule ID 19591 //
70023 /* 197799 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
70024 /* 197802 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
70025 /* 197806 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
70026 /* 197810 */ // MIs[0] Operand 2
70027 /* 197810 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70028 /* 197821 */ // (extract_subvector:{ *:[v1i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK8:{ *:[v8i1] }:$src, VK1:{ *:[i32] })
70029 /* 197821 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70030 /* 197824 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70031 /* 197826 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70032 /* 197828 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
70033 /* 197833 */ // GIR_Coverage, 19591,
70034 /* 197833 */ GIR_EraseRootFromParent_Done,
70035 /* 197834 */ // Label 4491: @197834
70036 /* 197834 */ GIM_Try, /*On fail goto*//*Label 4492*/ GIMT_Encode4(197874), // Rule ID 19593 //
70037 /* 197839 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
70038 /* 197842 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
70039 /* 197846 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
70040 /* 197850 */ // MIs[0] Operand 2
70041 /* 197850 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70042 /* 197861 */ // (extract_subvector:{ *:[v1i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK16:{ *:[v16i1] }:$src, VK1:{ *:[i32] })
70043 /* 197861 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70044 /* 197864 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70045 /* 197866 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70046 /* 197868 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
70047 /* 197873 */ // GIR_Coverage, 19593,
70048 /* 197873 */ GIR_EraseRootFromParent_Done,
70049 /* 197874 */ // Label 4492: @197874
70050 /* 197874 */ GIM_Try, /*On fail goto*//*Label 4493*/ GIMT_Encode4(197914), // Rule ID 19595 //
70051 /* 197879 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
70052 /* 197882 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
70053 /* 197886 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
70054 /* 197890 */ // MIs[0] Operand 2
70055 /* 197890 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70056 /* 197901 */ // (extract_subvector:{ *:[v1i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK32:{ *:[v32i1] }:$src, VK1:{ *:[i32] })
70057 /* 197901 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70058 /* 197904 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70059 /* 197906 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70060 /* 197908 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
70061 /* 197913 */ // GIR_Coverage, 19595,
70062 /* 197913 */ GIR_EraseRootFromParent_Done,
70063 /* 197914 */ // Label 4493: @197914
70064 /* 197914 */ GIM_Try, /*On fail goto*//*Label 4494*/ GIMT_Encode4(197954), // Rule ID 19597 //
70065 /* 197919 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
70066 /* 197922 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK1RegClassID),
70067 /* 197926 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
70068 /* 197930 */ // MIs[0] Operand 2
70069 /* 197930 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70070 /* 197941 */ // (extract_subvector:{ *:[v1i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v1i1] } VK64:{ *:[v64i1] }:$src, VK1:{ *:[i32] })
70071 /* 197941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70072 /* 197944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70073 /* 197946 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70074 /* 197948 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK1RegClassID),
70075 /* 197953 */ // GIR_Coverage, 19597,
70076 /* 197953 */ GIR_EraseRootFromParent_Done,
70077 /* 197954 */ // Label 4494: @197954
70078 /* 197954 */ GIM_Reject,
70079 /* 197955 */ // Label 4475: @197955
70080 /* 197955 */ GIM_Try, /*On fail goto*//*Label 4495*/ GIMT_Encode4(197995), // Rule ID 19599 //
70081 /* 197960 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s1,
70082 /* 197963 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
70083 /* 197967 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
70084 /* 197971 */ // MIs[0] Operand 2
70085 /* 197971 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70086 /* 197982 */ // (extract_subvector:{ *:[v2i1] } VK4:{ *:[v4i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK4:{ *:[v4i1] }:$src, VK2:{ *:[i32] })
70087 /* 197982 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70088 /* 197985 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70089 /* 197987 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70090 /* 197989 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
70091 /* 197994 */ // GIR_Coverage, 19599,
70092 /* 197994 */ GIR_EraseRootFromParent_Done,
70093 /* 197995 */ // Label 4495: @197995
70094 /* 197995 */ GIM_Try, /*On fail goto*//*Label 4496*/ GIMT_Encode4(198035), // Rule ID 19601 //
70095 /* 198000 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
70096 /* 198003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
70097 /* 198007 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
70098 /* 198011 */ // MIs[0] Operand 2
70099 /* 198011 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70100 /* 198022 */ // (extract_subvector:{ *:[v2i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK8:{ *:[v8i1] }:$src, VK2:{ *:[i32] })
70101 /* 198022 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70102 /* 198025 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70103 /* 198027 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70104 /* 198029 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
70105 /* 198034 */ // GIR_Coverage, 19601,
70106 /* 198034 */ GIR_EraseRootFromParent_Done,
70107 /* 198035 */ // Label 4496: @198035
70108 /* 198035 */ GIM_Try, /*On fail goto*//*Label 4497*/ GIMT_Encode4(198075), // Rule ID 19603 //
70109 /* 198040 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
70110 /* 198043 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
70111 /* 198047 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
70112 /* 198051 */ // MIs[0] Operand 2
70113 /* 198051 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70114 /* 198062 */ // (extract_subvector:{ *:[v2i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK16:{ *:[v16i1] }:$src, VK2:{ *:[i32] })
70115 /* 198062 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70116 /* 198065 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70117 /* 198067 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70118 /* 198069 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
70119 /* 198074 */ // GIR_Coverage, 19603,
70120 /* 198074 */ GIR_EraseRootFromParent_Done,
70121 /* 198075 */ // Label 4497: @198075
70122 /* 198075 */ GIM_Try, /*On fail goto*//*Label 4498*/ GIMT_Encode4(198115), // Rule ID 19605 //
70123 /* 198080 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
70124 /* 198083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
70125 /* 198087 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
70126 /* 198091 */ // MIs[0] Operand 2
70127 /* 198091 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70128 /* 198102 */ // (extract_subvector:{ *:[v2i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK32:{ *:[v32i1] }:$src, VK2:{ *:[i32] })
70129 /* 198102 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70130 /* 198105 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70131 /* 198107 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70132 /* 198109 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
70133 /* 198114 */ // GIR_Coverage, 19605,
70134 /* 198114 */ GIR_EraseRootFromParent_Done,
70135 /* 198115 */ // Label 4498: @198115
70136 /* 198115 */ GIM_Try, /*On fail goto*//*Label 4499*/ GIMT_Encode4(198155), // Rule ID 19607 //
70137 /* 198120 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
70138 /* 198123 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK2RegClassID),
70139 /* 198127 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
70140 /* 198131 */ // MIs[0] Operand 2
70141 /* 198131 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70142 /* 198142 */ // (extract_subvector:{ *:[v2i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v2i1] } VK64:{ *:[v64i1] }:$src, VK2:{ *:[i32] })
70143 /* 198142 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70144 /* 198145 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70145 /* 198147 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70146 /* 198149 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK2RegClassID),
70147 /* 198154 */ // GIR_Coverage, 19607,
70148 /* 198154 */ GIR_EraseRootFromParent_Done,
70149 /* 198155 */ // Label 4499: @198155
70150 /* 198155 */ GIM_Reject,
70151 /* 198156 */ // Label 4476: @198156
70152 /* 198156 */ GIM_Try, /*On fail goto*//*Label 4500*/ GIMT_Encode4(198196), // Rule ID 19609 //
70153 /* 198161 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s1,
70154 /* 198164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
70155 /* 198168 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
70156 /* 198172 */ // MIs[0] Operand 2
70157 /* 198172 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70158 /* 198183 */ // (extract_subvector:{ *:[v4i1] } VK8:{ *:[v8i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK8:{ *:[v8i1] }:$src, VK4:{ *:[i32] })
70159 /* 198183 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70160 /* 198186 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70161 /* 198188 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70162 /* 198190 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
70163 /* 198195 */ // GIR_Coverage, 19609,
70164 /* 198195 */ GIR_EraseRootFromParent_Done,
70165 /* 198196 */ // Label 4500: @198196
70166 /* 198196 */ GIM_Try, /*On fail goto*//*Label 4501*/ GIMT_Encode4(198236), // Rule ID 19611 //
70167 /* 198201 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
70168 /* 198204 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
70169 /* 198208 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
70170 /* 198212 */ // MIs[0] Operand 2
70171 /* 198212 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70172 /* 198223 */ // (extract_subvector:{ *:[v4i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK16:{ *:[v16i1] }:$src, VK4:{ *:[i32] })
70173 /* 198223 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70174 /* 198226 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70175 /* 198228 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70176 /* 198230 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
70177 /* 198235 */ // GIR_Coverage, 19611,
70178 /* 198235 */ GIR_EraseRootFromParent_Done,
70179 /* 198236 */ // Label 4501: @198236
70180 /* 198236 */ GIM_Try, /*On fail goto*//*Label 4502*/ GIMT_Encode4(198276), // Rule ID 19613 //
70181 /* 198241 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
70182 /* 198244 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
70183 /* 198248 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
70184 /* 198252 */ // MIs[0] Operand 2
70185 /* 198252 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70186 /* 198263 */ // (extract_subvector:{ *:[v4i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK32:{ *:[v32i1] }:$src, VK4:{ *:[i32] })
70187 /* 198263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70188 /* 198266 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70189 /* 198268 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70190 /* 198270 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
70191 /* 198275 */ // GIR_Coverage, 19613,
70192 /* 198275 */ GIR_EraseRootFromParent_Done,
70193 /* 198276 */ // Label 4502: @198276
70194 /* 198276 */ GIM_Try, /*On fail goto*//*Label 4503*/ GIMT_Encode4(198316), // Rule ID 19615 //
70195 /* 198281 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
70196 /* 198284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK4RegClassID),
70197 /* 198288 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
70198 /* 198292 */ // MIs[0] Operand 2
70199 /* 198292 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70200 /* 198303 */ // (extract_subvector:{ *:[v4i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v4i1] } VK64:{ *:[v64i1] }:$src, VK4:{ *:[i32] })
70201 /* 198303 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70202 /* 198306 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70203 /* 198308 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70204 /* 198310 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK4RegClassID),
70205 /* 198315 */ // GIR_Coverage, 19615,
70206 /* 198315 */ GIR_EraseRootFromParent_Done,
70207 /* 198316 */ // Label 4503: @198316
70208 /* 198316 */ GIM_Reject,
70209 /* 198317 */ // Label 4477: @198317
70210 /* 198317 */ GIM_Try, /*On fail goto*//*Label 4504*/ GIMT_Encode4(198357), // Rule ID 19617 //
70211 /* 198322 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s1,
70212 /* 198325 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
70213 /* 198329 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
70214 /* 198333 */ // MIs[0] Operand 2
70215 /* 198333 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70216 /* 198344 */ // (extract_subvector:{ *:[v8i1] } VK16:{ *:[v16i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK16:{ *:[v16i1] }:$src, VK8:{ *:[i32] })
70217 /* 198344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70218 /* 198347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70219 /* 198349 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70220 /* 198351 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
70221 /* 198356 */ // GIR_Coverage, 19617,
70222 /* 198356 */ GIR_EraseRootFromParent_Done,
70223 /* 198357 */ // Label 4504: @198357
70224 /* 198357 */ GIM_Try, /*On fail goto*//*Label 4505*/ GIMT_Encode4(198397), // Rule ID 19619 //
70225 /* 198362 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
70226 /* 198365 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
70227 /* 198369 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
70228 /* 198373 */ // MIs[0] Operand 2
70229 /* 198373 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70230 /* 198384 */ // (extract_subvector:{ *:[v8i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK32:{ *:[v32i1] }:$src, VK8:{ *:[i32] })
70231 /* 198384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70232 /* 198387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70233 /* 198389 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70234 /* 198391 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
70235 /* 198396 */ // GIR_Coverage, 19619,
70236 /* 198396 */ GIR_EraseRootFromParent_Done,
70237 /* 198397 */ // Label 4505: @198397
70238 /* 198397 */ GIM_Try, /*On fail goto*//*Label 4506*/ GIMT_Encode4(198437), // Rule ID 19621 //
70239 /* 198402 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
70240 /* 198405 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK8RegClassID),
70241 /* 198409 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
70242 /* 198413 */ // MIs[0] Operand 2
70243 /* 198413 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70244 /* 198424 */ // (extract_subvector:{ *:[v8i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v8i1] } VK64:{ *:[v64i1] }:$src, VK8:{ *:[i32] })
70245 /* 198424 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70246 /* 198427 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70247 /* 198429 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70248 /* 198431 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK8RegClassID),
70249 /* 198436 */ // GIR_Coverage, 19621,
70250 /* 198436 */ GIR_EraseRootFromParent_Done,
70251 /* 198437 */ // Label 4506: @198437
70252 /* 198437 */ GIM_Reject,
70253 /* 198438 */ // Label 4478: @198438
70254 /* 198438 */ GIM_Try, /*On fail goto*//*Label 4507*/ GIMT_Encode4(198478), // Rule ID 19623 //
70255 /* 198443 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s1,
70256 /* 198446 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
70257 /* 198450 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
70258 /* 198454 */ // MIs[0] Operand 2
70259 /* 198454 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70260 /* 198465 */ // (extract_subvector:{ *:[v16i1] } VK32:{ *:[v32i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } VK32:{ *:[v32i1] }:$src, VK16:{ *:[i32] })
70261 /* 198465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70262 /* 198468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70263 /* 198470 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70264 /* 198472 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
70265 /* 198477 */ // GIR_Coverage, 19623,
70266 /* 198477 */ GIR_EraseRootFromParent_Done,
70267 /* 198478 */ // Label 4507: @198478
70268 /* 198478 */ GIM_Try, /*On fail goto*//*Label 4508*/ GIMT_Encode4(198518), // Rule ID 19625 //
70269 /* 198483 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
70270 /* 198486 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK16RegClassID),
70271 /* 198490 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
70272 /* 198494 */ // MIs[0] Operand 2
70273 /* 198494 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70274 /* 198505 */ // (extract_subvector:{ *:[v16i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v16i1] } VK64:{ *:[v64i1] }:$src, VK16:{ *:[i32] })
70275 /* 198505 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70276 /* 198508 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70277 /* 198510 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70278 /* 198512 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK16RegClassID),
70279 /* 198517 */ // GIR_Coverage, 19625,
70280 /* 198517 */ GIR_EraseRootFromParent_Done,
70281 /* 198518 */ // Label 4508: @198518
70282 /* 198518 */ GIM_Reject,
70283 /* 198519 */ // Label 4479: @198519
70284 /* 198519 */ GIM_Try, /*On fail goto*//*Label 4509*/ GIMT_Encode4(198559), // Rule ID 19627 //
70285 /* 198524 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s1,
70286 /* 198527 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VK32RegClassID),
70287 /* 198531 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VK64RegClassID),
70288 /* 198535 */ // MIs[0] Operand 2
70289 /* 198535 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70290 /* 198546 */ // (extract_subvector:{ *:[v32i1] } VK64:{ *:[v64i1] }:$src, 0:{ *:[iPTR] }) => (COPY_TO_REGCLASS:{ *:[v32i1] } VK64:{ *:[v64i1] }:$src, VK32:{ *:[i32] })
70291 /* 198546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70292 /* 198549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70293 /* 198551 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70294 /* 198553 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VK32RegClassID),
70295 /* 198558 */ // GIR_Coverage, 19627,
70296 /* 198558 */ GIR_EraseRootFromParent_Done,
70297 /* 198559 */ // Label 4509: @198559
70298 /* 198559 */ GIM_Reject,
70299 /* 198560 */ // Label 4480: @198560
70300 /* 198560 */ GIM_Try, /*On fail goto*//*Label 4510*/ GIMT_Encode4(198631), // Rule ID 19033 //
70301 /* 198565 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
70302 /* 198568 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
70303 /* 198571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70304 /* 198575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70305 /* 198579 */ // MIs[0] Operand 2
70306 /* 198579 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
70307 /* 198590 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 16:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v16i8] } (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70308 /* 198590 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
70309 /* 198593 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70310 /* 198597 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70311 /* 198602 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70312 /* 198608 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70313 /* 198613 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70314 /* 198618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
70315 /* 198621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70316 /* 198623 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70317 /* 198626 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70318 /* 198629 */ GIR_RootConstrainSelectedInstOperands,
70319 /* 198630 */ // GIR_Coverage, 19033,
70320 /* 198630 */ GIR_EraseRootFromParent_Done,
70321 /* 198631 */ // Label 4510: @198631
70322 /* 198631 */ GIM_Try, /*On fail goto*//*Label 4511*/ GIMT_Encode4(198702), // Rule ID 19040 //
70323 /* 198636 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70324 /* 198639 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
70325 /* 198642 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70326 /* 198646 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70327 /* 198650 */ // MIs[0] Operand 2
70328 /* 198650 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(16),
70329 /* 198661 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 16:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v16i8] } (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70330 /* 198661 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v32s8,
70331 /* 198664 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70332 /* 198668 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70333 /* 198673 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70334 /* 198679 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70335 /* 198684 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70336 /* 198689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
70337 /* 198692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70338 /* 198694 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70339 /* 198697 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70340 /* 198700 */ GIR_RootConstrainSelectedInstOperands,
70341 /* 198701 */ // GIR_Coverage, 19040,
70342 /* 198701 */ GIR_EraseRootFromParent_Done,
70343 /* 198702 */ // Label 4511: @198702
70344 /* 198702 */ GIM_Try, /*On fail goto*//*Label 4512*/ GIMT_Encode4(198751), // Rule ID 23074 //
70345 /* 198707 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
70346 /* 198710 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70347 /* 198714 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70348 /* 198718 */ // MIs[0] Operand 2
70349 /* 198718 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70350 /* 198729 */ // (extract_subvector:{ *:[v16i8] } VR256:{ *:[v32i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i8] } VR256:{ *:[v32i8] }:$src, sub_xmm:{ *:[i32] })
70351 /* 198729 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70352 /* 198732 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70353 /* 198734 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70354 /* 198740 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70355 /* 198745 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70356 /* 198750 */ // GIR_Coverage, 23074,
70357 /* 198750 */ GIR_EraseRootFromParent_Done,
70358 /* 198751 */ // Label 4512: @198751
70359 /* 198751 */ GIM_Try, /*On fail goto*//*Label 4513*/ GIMT_Encode4(198800), // Rule ID 23095 //
70360 /* 198756 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
70361 /* 198759 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70362 /* 198763 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70363 /* 198767 */ // MIs[0] Operand 2
70364 /* 198767 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70365 /* 198778 */ // (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, sub_xmm:{ *:[i32] })
70366 /* 198778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70367 /* 198781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70368 /* 198783 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70369 /* 198789 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70370 /* 198794 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70371 /* 198799 */ // GIR_Coverage, 23095,
70372 /* 198799 */ GIR_EraseRootFromParent_Done,
70373 /* 198800 */ // Label 4513: @198800
70374 /* 198800 */ GIM_Reject,
70375 /* 198801 */ // Label 4481: @198801
70376 /* 198801 */ GIM_Try, /*On fail goto*//*Label 4514*/ GIMT_Encode4(198850), // Rule ID 23116 //
70377 /* 198806 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
70378 /* 198809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70379 /* 198813 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70380 /* 198817 */ // MIs[0] Operand 2
70381 /* 198817 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70382 /* 198828 */ // (extract_subvector:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] })
70383 /* 198828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70384 /* 198831 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70385 /* 198833 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70386 /* 198839 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70387 /* 198844 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70388 /* 198849 */ // GIR_Coverage, 23116,
70389 /* 198849 */ GIR_EraseRootFromParent_Done,
70390 /* 198850 */ // Label 4514: @198850
70391 /* 198850 */ GIM_Reject,
70392 /* 198851 */ // Label 4482: @198851
70393 /* 198851 */ GIM_Try, /*On fail goto*//*Label 4515*/ GIMT_Encode4(198922), // Rule ID 19031 //
70394 /* 198856 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
70395 /* 198859 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70396 /* 198862 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70397 /* 198866 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70398 /* 198870 */ // MIs[0] Operand 2
70399 /* 198870 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
70400 /* 198881 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v8i16] } (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70401 /* 198881 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
70402 /* 198884 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70403 /* 198888 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70404 /* 198893 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70405 /* 198899 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70406 /* 198904 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70407 /* 198909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
70408 /* 198912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70409 /* 198914 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70410 /* 198917 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70411 /* 198920 */ GIR_RootConstrainSelectedInstOperands,
70412 /* 198921 */ // GIR_Coverage, 19031,
70413 /* 198921 */ GIR_EraseRootFromParent_Done,
70414 /* 198922 */ // Label 4515: @198922
70415 /* 198922 */ GIM_Try, /*On fail goto*//*Label 4516*/ GIMT_Encode4(198993), // Rule ID 19032 //
70416 /* 198927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
70417 /* 198930 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70418 /* 198933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70419 /* 198937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70420 /* 198941 */ // MIs[0] Operand 2
70421 /* 198941 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
70422 /* 198952 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v8f16] } (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70423 /* 198952 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
70424 /* 198955 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70425 /* 198959 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70426 /* 198964 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70427 /* 198970 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70428 /* 198975 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70429 /* 198980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
70430 /* 198983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70431 /* 198985 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70432 /* 198988 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70433 /* 198991 */ GIR_RootConstrainSelectedInstOperands,
70434 /* 198992 */ // GIR_Coverage, 19032,
70435 /* 198992 */ GIR_EraseRootFromParent_Done,
70436 /* 198993 */ // Label 4516: @198993
70437 /* 198993 */ GIM_Try, /*On fail goto*//*Label 4517*/ GIMT_Encode4(199064), // Rule ID 19038 //
70438 /* 198998 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70439 /* 199001 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70440 /* 199004 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70441 /* 199008 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70442 /* 199012 */ // MIs[0] Operand 2
70443 /* 199012 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
70444 /* 199023 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v8i16] } (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70445 /* 199023 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
70446 /* 199026 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70447 /* 199030 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70448 /* 199035 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70449 /* 199041 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70450 /* 199046 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70451 /* 199051 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
70452 /* 199054 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70453 /* 199056 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70454 /* 199059 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70455 /* 199062 */ GIR_RootConstrainSelectedInstOperands,
70456 /* 199063 */ // GIR_Coverage, 19038,
70457 /* 199063 */ GIR_EraseRootFromParent_Done,
70458 /* 199064 */ // Label 4517: @199064
70459 /* 199064 */ GIM_Try, /*On fail goto*//*Label 4518*/ GIMT_Encode4(199135), // Rule ID 19039 //
70460 /* 199069 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70461 /* 199072 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70462 /* 199075 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70463 /* 199079 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70464 /* 199083 */ // MIs[0] Operand 2
70465 /* 199083 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(8),
70466 /* 199094 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 8:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v8f16] } (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70467 /* 199094 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v16s16,
70468 /* 199097 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70469 /* 199101 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70470 /* 199106 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70471 /* 199112 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70472 /* 199117 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70473 /* 199122 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
70474 /* 199125 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70475 /* 199127 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70476 /* 199130 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70477 /* 199133 */ GIR_RootConstrainSelectedInstOperands,
70478 /* 199134 */ // GIR_Coverage, 19039,
70479 /* 199134 */ GIR_EraseRootFromParent_Done,
70480 /* 199135 */ // Label 4518: @199135
70481 /* 199135 */ GIM_Try, /*On fail goto*//*Label 4519*/ GIMT_Encode4(199184), // Rule ID 23071 //
70482 /* 199140 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
70483 /* 199143 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70484 /* 199147 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70485 /* 199151 */ // MIs[0] Operand 2
70486 /* 199151 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70487 /* 199162 */ // (extract_subvector:{ *:[v8i16] } VR256:{ *:[v16i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i16] } VR256:{ *:[v16i16] }:$src, sub_xmm:{ *:[i32] })
70488 /* 199162 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70489 /* 199165 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70490 /* 199167 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70491 /* 199173 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70492 /* 199178 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70493 /* 199183 */ // GIR_Coverage, 23071,
70494 /* 199183 */ GIR_EraseRootFromParent_Done,
70495 /* 199184 */ // Label 4519: @199184
70496 /* 199184 */ GIM_Try, /*On fail goto*//*Label 4520*/ GIMT_Encode4(199233), // Rule ID 23077 //
70497 /* 199189 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
70498 /* 199192 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70499 /* 199196 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70500 /* 199200 */ // MIs[0] Operand 2
70501 /* 199200 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70502 /* 199211 */ // (extract_subvector:{ *:[v8f16] } VR256:{ *:[v16f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f16] } VR256:{ *:[v16f16] }:$src, sub_xmm:{ *:[i32] })
70503 /* 199211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70504 /* 199214 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70505 /* 199216 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70506 /* 199222 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70507 /* 199227 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70508 /* 199232 */ // GIR_Coverage, 23077,
70509 /* 199232 */ GIR_EraseRootFromParent_Done,
70510 /* 199233 */ // Label 4520: @199233
70511 /* 199233 */ GIM_Try, /*On fail goto*//*Label 4521*/ GIMT_Encode4(199282), // Rule ID 23092 //
70512 /* 199238 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70513 /* 199241 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70514 /* 199245 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70515 /* 199249 */ // MIs[0] Operand 2
70516 /* 199249 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70517 /* 199260 */ // (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, sub_xmm:{ *:[i32] })
70518 /* 199260 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70519 /* 199263 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70520 /* 199265 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70521 /* 199271 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70522 /* 199276 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70523 /* 199281 */ // GIR_Coverage, 23092,
70524 /* 199281 */ GIR_EraseRootFromParent_Done,
70525 /* 199282 */ // Label 4521: @199282
70526 /* 199282 */ GIM_Try, /*On fail goto*//*Label 4522*/ GIMT_Encode4(199331), // Rule ID 23098 //
70527 /* 199287 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70528 /* 199290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70529 /* 199294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70530 /* 199298 */ // MIs[0] Operand 2
70531 /* 199298 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70532 /* 199309 */ // (extract_subvector:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f16] } VR512:{ *:[v32f16] }:$src, sub_xmm:{ *:[i32] })
70533 /* 199309 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70534 /* 199312 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70535 /* 199314 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70536 /* 199320 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70537 /* 199325 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70538 /* 199330 */ // GIR_Coverage, 23098,
70539 /* 199330 */ GIR_EraseRootFromParent_Done,
70540 /* 199331 */ // Label 4522: @199331
70541 /* 199331 */ GIM_Reject,
70542 /* 199332 */ // Label 4483: @199332
70543 /* 199332 */ GIM_Try, /*On fail goto*//*Label 4523*/ GIMT_Encode4(199414),
70544 /* 199337 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
70545 /* 199340 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70546 /* 199344 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70547 /* 199348 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70548 /* 199359 */ GIM_Try, /*On fail goto*//*Label 4524*/ GIMT_Encode4(199386), // Rule ID 23113 //
70549 /* 199364 */ // (extract_subvector:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] })
70550 /* 199364 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70551 /* 199367 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70552 /* 199369 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70553 /* 199375 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70554 /* 199380 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70555 /* 199385 */ // GIR_Coverage, 23113,
70556 /* 199385 */ GIR_EraseRootFromParent_Done,
70557 /* 199386 */ // Label 4524: @199386
70558 /* 199386 */ GIM_Try, /*On fail goto*//*Label 4525*/ GIMT_Encode4(199413), // Rule ID 23119 //
70559 /* 199391 */ // (extract_subvector:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v16f16] } VR512:{ *:[v32f16] }:$src, sub_ymm:{ *:[i32] })
70560 /* 199391 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70561 /* 199394 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70562 /* 199396 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70563 /* 199402 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70564 /* 199407 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70565 /* 199412 */ // GIR_Coverage, 23119,
70566 /* 199412 */ GIR_EraseRootFromParent_Done,
70567 /* 199413 */ // Label 4525: @199413
70568 /* 199413 */ GIM_Reject,
70569 /* 199414 */ // Label 4523: @199414
70570 /* 199414 */ GIM_Reject,
70571 /* 199415 */ // Label 4484: @199415
70572 /* 199415 */ GIM_Try, /*On fail goto*//*Label 4526*/ GIMT_Encode4(199486), // Rule ID 19029 //
70573 /* 199420 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
70574 /* 199423 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70575 /* 199426 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70576 /* 199430 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70577 /* 199434 */ // MIs[0] Operand 2
70578 /* 199434 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
70579 /* 199445 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v4i32] } (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70580 /* 199445 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
70581 /* 199448 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70582 /* 199452 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70583 /* 199457 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70584 /* 199463 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70585 /* 199468 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70586 /* 199473 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
70587 /* 199476 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70588 /* 199478 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70589 /* 199481 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70590 /* 199484 */ GIR_RootConstrainSelectedInstOperands,
70591 /* 199485 */ // GIR_Coverage, 19029,
70592 /* 199485 */ GIR_EraseRootFromParent_Done,
70593 /* 199486 */ // Label 4526: @199486
70594 /* 199486 */ GIM_Try, /*On fail goto*//*Label 4527*/ GIMT_Encode4(199557), // Rule ID 19030 //
70595 /* 199491 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
70596 /* 199494 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70597 /* 199497 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70598 /* 199501 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70599 /* 199505 */ // MIs[0] Operand 2
70600 /* 199505 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
70601 /* 199516 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v4f32] } (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70602 /* 199516 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
70603 /* 199519 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70604 /* 199523 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70605 /* 199528 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70606 /* 199534 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70607 /* 199539 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70608 /* 199544 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
70609 /* 199547 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70610 /* 199549 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70611 /* 199552 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70612 /* 199555 */ GIR_RootConstrainSelectedInstOperands,
70613 /* 199556 */ // GIR_Coverage, 19030,
70614 /* 199556 */ GIR_EraseRootFromParent_Done,
70615 /* 199557 */ // Label 4527: @199557
70616 /* 199557 */ GIM_Try, /*On fail goto*//*Label 4528*/ GIMT_Encode4(199628), // Rule ID 19036 //
70617 /* 199562 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70618 /* 199565 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70619 /* 199568 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70620 /* 199572 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70621 /* 199576 */ // MIs[0] Operand 2
70622 /* 199576 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
70623 /* 199587 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v4i32] } (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70624 /* 199587 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
70625 /* 199590 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70626 /* 199594 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70627 /* 199599 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70628 /* 199605 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70629 /* 199610 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70630 /* 199615 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
70631 /* 199618 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70632 /* 199620 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70633 /* 199623 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70634 /* 199626 */ GIR_RootConstrainSelectedInstOperands,
70635 /* 199627 */ // GIR_Coverage, 19036,
70636 /* 199627 */ GIR_EraseRootFromParent_Done,
70637 /* 199628 */ // Label 4528: @199628
70638 /* 199628 */ GIM_Try, /*On fail goto*//*Label 4529*/ GIMT_Encode4(199699), // Rule ID 19037 //
70639 /* 199633 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70640 /* 199636 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70641 /* 199639 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70642 /* 199643 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70643 /* 199647 */ // MIs[0] Operand 2
70644 /* 199647 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(4),
70645 /* 199658 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 4:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v4f32] } (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70646 /* 199658 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v8s32,
70647 /* 199661 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70648 /* 199665 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70649 /* 199670 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70650 /* 199676 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70651 /* 199681 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70652 /* 199686 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
70653 /* 199689 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70654 /* 199691 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70655 /* 199694 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70656 /* 199697 */ GIR_RootConstrainSelectedInstOperands,
70657 /* 199698 */ // GIR_Coverage, 19037,
70658 /* 199698 */ GIR_EraseRootFromParent_Done,
70659 /* 199699 */ // Label 4529: @199699
70660 /* 199699 */ GIM_Try, /*On fail goto*//*Label 4530*/ GIMT_Encode4(199748), // Rule ID 23059 //
70661 /* 199704 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
70662 /* 199707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70663 /* 199711 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70664 /* 199715 */ // MIs[0] Operand 2
70665 /* 199715 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70666 /* 199726 */ // (extract_subvector:{ *:[v4i32] } VR256:{ *:[v8i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i32] } VR256:{ *:[v8i32] }:$src, sub_xmm:{ *:[i32] })
70667 /* 199726 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70668 /* 199729 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70669 /* 199731 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70670 /* 199737 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70671 /* 199742 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70672 /* 199747 */ // GIR_Coverage, 23059,
70673 /* 199747 */ GIR_EraseRootFromParent_Done,
70674 /* 199748 */ // Label 4530: @199748
70675 /* 199748 */ GIM_Try, /*On fail goto*//*Label 4531*/ GIMT_Encode4(199797), // Rule ID 23062 //
70676 /* 199753 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
70677 /* 199756 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70678 /* 199760 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70679 /* 199764 */ // MIs[0] Operand 2
70680 /* 199764 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70681 /* 199775 */ // (extract_subvector:{ *:[v4f32] } VR256:{ *:[v8f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f32] } VR256:{ *:[v8f32] }:$src, sub_xmm:{ *:[i32] })
70682 /* 199775 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70683 /* 199778 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70684 /* 199780 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70685 /* 199786 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70686 /* 199791 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70687 /* 199796 */ // GIR_Coverage, 23062,
70688 /* 199796 */ GIR_EraseRootFromParent_Done,
70689 /* 199797 */ // Label 4531: @199797
70690 /* 199797 */ GIM_Try, /*On fail goto*//*Label 4532*/ GIMT_Encode4(199846), // Rule ID 23080 //
70691 /* 199802 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70692 /* 199805 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70693 /* 199809 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70694 /* 199813 */ // MIs[0] Operand 2
70695 /* 199813 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70696 /* 199824 */ // (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, sub_xmm:{ *:[i32] })
70697 /* 199824 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70698 /* 199827 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70699 /* 199829 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70700 /* 199835 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70701 /* 199840 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70702 /* 199845 */ // GIR_Coverage, 23080,
70703 /* 199845 */ GIR_EraseRootFromParent_Done,
70704 /* 199846 */ // Label 4532: @199846
70705 /* 199846 */ GIM_Try, /*On fail goto*//*Label 4533*/ GIMT_Encode4(199895), // Rule ID 23083 //
70706 /* 199851 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70707 /* 199854 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70708 /* 199858 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70709 /* 199862 */ // MIs[0] Operand 2
70710 /* 199862 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70711 /* 199873 */ // (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, sub_xmm:{ *:[i32] })
70712 /* 199873 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70713 /* 199876 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70714 /* 199878 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70715 /* 199884 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70716 /* 199889 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70717 /* 199894 */ // GIR_Coverage, 23083,
70718 /* 199894 */ GIR_EraseRootFromParent_Done,
70719 /* 199895 */ // Label 4533: @199895
70720 /* 199895 */ GIM_Reject,
70721 /* 199896 */ // Label 4485: @199896
70722 /* 199896 */ GIM_Try, /*On fail goto*//*Label 4534*/ GIMT_Encode4(199978),
70723 /* 199901 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
70724 /* 199904 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70725 /* 199908 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70726 /* 199912 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70727 /* 199923 */ GIM_Try, /*On fail goto*//*Label 4535*/ GIMT_Encode4(199950), // Rule ID 23101 //
70728 /* 199928 */ // (extract_subvector:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] })
70729 /* 199928 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70730 /* 199931 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70731 /* 199933 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70732 /* 199939 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70733 /* 199944 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70734 /* 199949 */ // GIR_Coverage, 23101,
70735 /* 199949 */ GIR_EraseRootFromParent_Done,
70736 /* 199950 */ // Label 4535: @199950
70737 /* 199950 */ GIM_Try, /*On fail goto*//*Label 4536*/ GIMT_Encode4(199977), // Rule ID 23104 //
70738 /* 199955 */ // (extract_subvector:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] })
70739 /* 199955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70740 /* 199958 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70741 /* 199960 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70742 /* 199966 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70743 /* 199971 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70744 /* 199976 */ // GIR_Coverage, 23104,
70745 /* 199976 */ GIR_EraseRootFromParent_Done,
70746 /* 199977 */ // Label 4536: @199977
70747 /* 199977 */ GIM_Reject,
70748 /* 199978 */ // Label 4534: @199978
70749 /* 199978 */ GIM_Reject,
70750 /* 199979 */ // Label 4486: @199979
70751 /* 199979 */ GIM_Try, /*On fail goto*//*Label 4537*/ GIMT_Encode4(200050), // Rule ID 19027 //
70752 /* 199984 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
70753 /* 199987 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70754 /* 199990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70755 /* 199994 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70756 /* 199998 */ // MIs[0] Operand 2
70757 /* 199998 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
70758 /* 200009 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTI128rri:{ *:[v2i64] } (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70759 /* 200009 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
70760 /* 200012 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70761 /* 200016 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70762 /* 200021 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70763 /* 200027 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70764 /* 200032 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70765 /* 200037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI128rri),
70766 /* 200040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70767 /* 200042 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70768 /* 200045 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70769 /* 200048 */ GIR_RootConstrainSelectedInstOperands,
70770 /* 200049 */ // GIR_Coverage, 19027,
70771 /* 200049 */ GIR_EraseRootFromParent_Done,
70772 /* 200050 */ // Label 4537: @200050
70773 /* 200050 */ GIM_Try, /*On fail goto*//*Label 4538*/ GIMT_Encode4(200121), // Rule ID 19028 //
70774 /* 200055 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoVLX),
70775 /* 200058 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70776 /* 200061 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
70777 /* 200065 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70778 /* 200069 */ // MIs[0] Operand 2
70779 /* 200069 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
70780 /* 200080 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTF128rri:{ *:[v2f64] } (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70781 /* 200080 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
70782 /* 200083 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70783 /* 200087 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70784 /* 200092 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70785 /* 200098 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70786 /* 200103 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70787 /* 200108 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF128rri),
70788 /* 200111 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70789 /* 200113 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70790 /* 200116 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70791 /* 200119 */ GIR_RootConstrainSelectedInstOperands,
70792 /* 200120 */ // GIR_Coverage, 19028,
70793 /* 200120 */ GIR_EraseRootFromParent_Done,
70794 /* 200121 */ // Label 4538: @200121
70795 /* 200121 */ GIM_Try, /*On fail goto*//*Label 4539*/ GIMT_Encode4(200192), // Rule ID 19034 //
70796 /* 200126 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70797 /* 200129 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70798 /* 200132 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70799 /* 200136 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70800 /* 200140 */ // MIs[0] Operand 2
70801 /* 200140 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
70802 /* 200151 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTI32X4Z256rri:{ *:[v2i64] } (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70803 /* 200151 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
70804 /* 200154 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70805 /* 200158 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70806 /* 200163 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70807 /* 200169 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70808 /* 200174 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70809 /* 200179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTI32X4Z256rri),
70810 /* 200182 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70811 /* 200184 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70812 /* 200187 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70813 /* 200190 */ GIR_RootConstrainSelectedInstOperands,
70814 /* 200191 */ // GIR_Coverage, 19034,
70815 /* 200191 */ GIR_EraseRootFromParent_Done,
70816 /* 200192 */ // Label 4539: @200192
70817 /* 200192 */ GIM_Try, /*On fail goto*//*Label 4540*/ GIMT_Encode4(200263), // Rule ID 19035 //
70818 /* 200197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
70819 /* 200200 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70820 /* 200203 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70821 /* 200207 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70822 /* 200211 */ // MIs[0] Operand 2
70823 /* 200211 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(2),
70824 /* 200222 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 2:{ *:[iPTR] }) => (VEXTRACTF32X4Z256rri:{ *:[v2f64] } (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] }), 1:{ *:[i8] })
70825 /* 200222 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v4s64,
70826 /* 200225 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70827 /* 200229 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
70828 /* 200234 */ GIR_CopySubReg, /*NewInsnID*/1, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70829 /* 200240 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70830 /* 200245 */ GIR_ConstrainOperandRC, /*InsnID*/1, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70831 /* 200250 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VEXTRACTF32X4Z256rri),
70832 /* 200253 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70833 /* 200255 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
70834 /* 200258 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/1,
70835 /* 200261 */ GIR_RootConstrainSelectedInstOperands,
70836 /* 200262 */ // GIR_Coverage, 19035,
70837 /* 200262 */ GIR_EraseRootFromParent_Done,
70838 /* 200263 */ // Label 4540: @200263
70839 /* 200263 */ GIM_Try, /*On fail goto*//*Label 4541*/ GIMT_Encode4(200312), // Rule ID 23065 //
70840 /* 200268 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
70841 /* 200271 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70842 /* 200275 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70843 /* 200279 */ // MIs[0] Operand 2
70844 /* 200279 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70845 /* 200290 */ // (extract_subvector:{ *:[v2i64] } VR256:{ *:[v4i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2i64] } VR256:{ *:[v4i64] }:$src, sub_xmm:{ *:[i32] })
70846 /* 200290 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70847 /* 200293 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70848 /* 200295 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70849 /* 200301 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70850 /* 200306 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70851 /* 200311 */ // GIR_Coverage, 23065,
70852 /* 200311 */ GIR_EraseRootFromParent_Done,
70853 /* 200312 */ // Label 4541: @200312
70854 /* 200312 */ GIM_Try, /*On fail goto*//*Label 4542*/ GIMT_Encode4(200361), // Rule ID 23068 //
70855 /* 200317 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
70856 /* 200320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16RegClassID),
70857 /* 200324 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
70858 /* 200328 */ // MIs[0] Operand 2
70859 /* 200328 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70860 /* 200339 */ // (extract_subvector:{ *:[v2f64] } VR256:{ *:[v4f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2f64] } VR256:{ *:[v4f64] }:$src, sub_xmm:{ *:[i32] })
70861 /* 200339 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70862 /* 200342 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70863 /* 200344 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70864 /* 200350 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16RegClassID),
70865 /* 200355 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR256RegClassID),
70866 /* 200360 */ // GIR_Coverage, 23068,
70867 /* 200360 */ GIR_EraseRootFromParent_Done,
70868 /* 200361 */ // Label 4542: @200361
70869 /* 200361 */ GIM_Try, /*On fail goto*//*Label 4543*/ GIMT_Encode4(200410), // Rule ID 23086 //
70870 /* 200366 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70871 /* 200369 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70872 /* 200373 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70873 /* 200377 */ // MIs[0] Operand 2
70874 /* 200377 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70875 /* 200388 */ // (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, sub_xmm:{ *:[i32] })
70876 /* 200388 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70877 /* 200391 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70878 /* 200393 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70879 /* 200399 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70880 /* 200404 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70881 /* 200409 */ // GIR_Coverage, 23086,
70882 /* 200409 */ GIR_EraseRootFromParent_Done,
70883 /* 200410 */ // Label 4543: @200410
70884 /* 200410 */ GIM_Try, /*On fail goto*//*Label 4544*/ GIMT_Encode4(200459), // Rule ID 23089 //
70885 /* 200415 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70886 /* 200418 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
70887 /* 200422 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70888 /* 200426 */ // MIs[0] Operand 2
70889 /* 200426 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70890 /* 200437 */ // (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, sub_xmm:{ *:[i32] })
70891 /* 200437 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70892 /* 200440 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70893 /* 200442 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(9), // src
70894 /* 200448 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
70895 /* 200453 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70896 /* 200458 */ // GIR_Coverage, 23089,
70897 /* 200458 */ GIR_EraseRootFromParent_Done,
70898 /* 200459 */ // Label 4544: @200459
70899 /* 200459 */ GIM_Reject,
70900 /* 200460 */ // Label 4487: @200460
70901 /* 200460 */ GIM_Try, /*On fail goto*//*Label 4545*/ GIMT_Encode4(200542),
70902 /* 200465 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
70903 /* 200468 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
70904 /* 200472 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
70905 /* 200476 */ GIM_CheckLiteralInt, /*MI*/0, /*Op*/2, GIMT_Encode8(0),
70906 /* 200487 */ GIM_Try, /*On fail goto*//*Label 4546*/ GIMT_Encode4(200514), // Rule ID 23107 //
70907 /* 200492 */ // (extract_subvector:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] })
70908 /* 200492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70909 /* 200495 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70910 /* 200497 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70911 /* 200503 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70912 /* 200508 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70913 /* 200513 */ // GIR_Coverage, 23107,
70914 /* 200513 */ GIR_EraseRootFromParent_Done,
70915 /* 200514 */ // Label 4546: @200514
70916 /* 200514 */ GIM_Try, /*On fail goto*//*Label 4547*/ GIMT_Encode4(200541), // Rule ID 23110 //
70917 /* 200519 */ // (extract_subvector:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, 0:{ *:[iPTR] }) => (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] })
70918 /* 200519 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
70919 /* 200522 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70920 /* 200524 */ GIR_CopySubReg, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/1, /*SubRegIdx*/GIMT_Encode2(10), // src
70921 /* 200530 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
70922 /* 200535 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
70923 /* 200540 */ // GIR_Coverage, 23110,
70924 /* 200540 */ GIR_EraseRootFromParent_Done,
70925 /* 200541 */ // Label 4547: @200541
70926 /* 200541 */ GIM_Reject,
70927 /* 200542 */ // Label 4545: @200542
70928 /* 200542 */ GIM_Reject,
70929 /* 200543 */ // Label 4488: @200543
70930 /* 200543 */ GIM_Reject,
70931 /* 200544 */ // Label 62: @200544
70932 /* 200544 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(13), GIMT_Encode2(25), /*)*//*default:*//*Label 4560*/ GIMT_Encode4(202505),
70933 /* 200555 */ /*GILLT_v16s8*//*Label 4548*/ GIMT_Encode4(200603),
70934 /* 200559 */ /*GILLT_v32s8*//*Label 4549*/ GIMT_Encode4(200718),
70935 /* 200563 */ /*GILLT_v64s8*//*Label 4550*/ GIMT_Encode4(200833),
70936 /* 200567 */ /*GILLT_v8s16*//*Label 4551*/ GIMT_Encode4(200948),
70937 /* 200571 */ /*GILLT_v16s16*//*Label 4552*/ GIMT_Encode4(201063),
70938 /* 200575 */ /*GILLT_v32s16*//*Label 4553*/ GIMT_Encode4(201178),
70939 /* 200579 */ /*GILLT_v4s32*//*Label 4554*/ GIMT_Encode4(201293),
70940 /* 200583 */ /*GILLT_v8s32*//*Label 4555*/ GIMT_Encode4(201495),
70941 /* 200587 */ /*GILLT_v16s32*//*Label 4556*/ GIMT_Encode4(201697),
70942 /* 200591 */ /*GILLT_v2s64*//*Label 4557*/ GIMT_Encode4(201899),
70943 /* 200595 */ /*GILLT_v4s64*//*Label 4558*/ GIMT_Encode4(202101),
70944 /* 200599 */ /*GILLT_v8s64*//*Label 4559*/ GIMT_Encode4(202303),
70945 /* 200603 */ // Label 4548: @200603
70946 /* 200603 */ GIM_Try, /*On fail goto*//*Label 4561*/ GIMT_Encode4(200717),
70947 /* 200608 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
70948 /* 200611 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
70949 /* 200614 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s8,
70950 /* 200617 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70951 /* 200621 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70952 /* 200625 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
70953 /* 200629 */ GIM_Try, /*On fail goto*//*Label 4562*/ GIMT_Encode4(200662), // Rule ID 22073 //
70954 /* 200634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
70955 /* 200637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70956 /* 200641 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
70957 /* 200647 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
70958 /* 200649 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70959 /* 200651 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i8] }) => (VPCOMPRESSBZ128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
70960 /* 200651 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrkz),
70961 /* 200654 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70962 /* 200656 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70963 /* 200658 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70964 /* 200660 */ GIR_RootConstrainSelectedInstOperands,
70965 /* 200661 */ // GIR_Coverage, 22073,
70966 /* 200661 */ GIR_EraseRootFromParent_Done,
70967 /* 200662 */ // Label 4562: @200662
70968 /* 200662 */ GIM_Try, /*On fail goto*//*Label 4563*/ GIMT_Encode4(200691), // Rule ID 22072 //
70969 /* 200667 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
70970 /* 200670 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
70971 /* 200674 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
70972 /* 200678 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
70973 /* 200680 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i8] })) => (VPCOMPRESSBZ128rrkz:{ *:[v16i8] } VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
70974 /* 200680 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrkz),
70975 /* 200683 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70976 /* 200685 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70977 /* 200687 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70978 /* 200689 */ GIR_RootConstrainSelectedInstOperands,
70979 /* 200690 */ // GIR_Coverage, 22072,
70980 /* 200690 */ GIR_EraseRootFromParent_Done,
70981 /* 200691 */ // Label 4563: @200691
70982 /* 200691 */ GIM_Try, /*On fail goto*//*Label 4564*/ GIMT_Encode4(200716), // Rule ID 22074 //
70983 /* 200696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
70984 /* 200699 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
70985 /* 200703 */ // (vector_compress:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$passthru) => (VPCOMPRESSBZ128rrk:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR128X:{ *:[v16i8] }:$src)
70986 /* 200703 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ128rrk),
70987 /* 200706 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
70988 /* 200708 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
70989 /* 200710 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
70990 /* 200712 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
70991 /* 200714 */ GIR_RootConstrainSelectedInstOperands,
70992 /* 200715 */ // GIR_Coverage, 22074,
70993 /* 200715 */ GIR_EraseRootFromParent_Done,
70994 /* 200716 */ // Label 4564: @200716
70995 /* 200716 */ GIM_Reject,
70996 /* 200717 */ // Label 4561: @200717
70997 /* 200717 */ GIM_Reject,
70998 /* 200718 */ // Label 4549: @200718
70999 /* 200718 */ GIM_Try, /*On fail goto*//*Label 4565*/ GIMT_Encode4(200832),
71000 /* 200723 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
71001 /* 200726 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
71002 /* 200729 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s8,
71003 /* 200732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71004 /* 200736 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71005 /* 200740 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
71006 /* 200744 */ GIM_Try, /*On fail goto*//*Label 4566*/ GIMT_Encode4(200777), // Rule ID 22067 //
71007 /* 200749 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71008 /* 200752 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71009 /* 200756 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71010 /* 200762 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71011 /* 200764 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71012 /* 200766 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, immAllZerosV:{ *:[v32i8] }) => (VPCOMPRESSBZ256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
71013 /* 200766 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrkz),
71014 /* 200769 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71015 /* 200771 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71016 /* 200773 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71017 /* 200775 */ GIR_RootConstrainSelectedInstOperands,
71018 /* 200776 */ // GIR_Coverage, 22067,
71019 /* 200776 */ GIR_EraseRootFromParent_Done,
71020 /* 200777 */ // Label 4566: @200777
71021 /* 200777 */ GIM_Try, /*On fail goto*//*Label 4567*/ GIMT_Encode4(200806), // Rule ID 22066 //
71022 /* 200782 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71023 /* 200785 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71024 /* 200789 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71025 /* 200793 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71026 /* 200795 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, (undef:{ *:[v32i8] })) => (VPCOMPRESSBZ256rrkz:{ *:[v32i8] } VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
71027 /* 200795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrkz),
71028 /* 200798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71029 /* 200800 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71030 /* 200802 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71031 /* 200804 */ GIR_RootConstrainSelectedInstOperands,
71032 /* 200805 */ // GIR_Coverage, 22066,
71033 /* 200805 */ GIR_EraseRootFromParent_Done,
71034 /* 200806 */ // Label 4567: @200806
71035 /* 200806 */ GIM_Try, /*On fail goto*//*Label 4568*/ GIMT_Encode4(200831), // Rule ID 22068 //
71036 /* 200811 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71037 /* 200814 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71038 /* 200818 */ // (vector_compress:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$passthru) => (VPCOMPRESSBZ256rrk:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$passthru, VK32WM:{ *:[v32i1] }:$mask, VR256X:{ *:[v32i8] }:$src)
71039 /* 200818 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZ256rrk),
71040 /* 200821 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71041 /* 200823 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71042 /* 200825 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71043 /* 200827 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71044 /* 200829 */ GIR_RootConstrainSelectedInstOperands,
71045 /* 200830 */ // GIR_Coverage, 22068,
71046 /* 200830 */ GIR_EraseRootFromParent_Done,
71047 /* 200831 */ // Label 4568: @200831
71048 /* 200831 */ GIM_Reject,
71049 /* 200832 */ // Label 4565: @200832
71050 /* 200832 */ GIM_Reject,
71051 /* 200833 */ // Label 4550: @200833
71052 /* 200833 */ GIM_Try, /*On fail goto*//*Label 4569*/ GIMT_Encode4(200947),
71053 /* 200838 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
71054 /* 200841 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v64s1,
71055 /* 200844 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v64s8,
71056 /* 200847 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71057 /* 200851 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71058 /* 200855 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK64WMRegClassID),
71059 /* 200859 */ GIM_Try, /*On fail goto*//*Label 4570*/ GIMT_Encode4(200892), // Rule ID 22061 //
71060 /* 200864 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
71061 /* 200867 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71062 /* 200871 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71063 /* 200877 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71064 /* 200879 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71065 /* 200881 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, immAllZerosV:{ *:[v64i8] }) => (VPCOMPRESSBZrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
71066 /* 200881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrkz),
71067 /* 200884 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71068 /* 200886 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71069 /* 200888 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71070 /* 200890 */ GIR_RootConstrainSelectedInstOperands,
71071 /* 200891 */ // GIR_Coverage, 22061,
71072 /* 200891 */ GIR_EraseRootFromParent_Done,
71073 /* 200892 */ // Label 4570: @200892
71074 /* 200892 */ GIM_Try, /*On fail goto*//*Label 4571*/ GIMT_Encode4(200921), // Rule ID 22060 //
71075 /* 200897 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
71076 /* 200900 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71077 /* 200904 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71078 /* 200908 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71079 /* 200910 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, (undef:{ *:[v64i8] })) => (VPCOMPRESSBZrrkz:{ *:[v64i8] } VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
71080 /* 200910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrkz),
71081 /* 200913 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71082 /* 200915 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71083 /* 200917 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71084 /* 200919 */ GIR_RootConstrainSelectedInstOperands,
71085 /* 200920 */ // GIR_Coverage, 22060,
71086 /* 200920 */ GIR_EraseRootFromParent_Done,
71087 /* 200921 */ // Label 4571: @200921
71088 /* 200921 */ GIM_Try, /*On fail goto*//*Label 4572*/ GIMT_Encode4(200946), // Rule ID 22062 //
71089 /* 200926 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
71090 /* 200929 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71091 /* 200933 */ // (vector_compress:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$passthru) => (VPCOMPRESSBZrrk:{ *:[v64i8] } VR512:{ *:[v64i8] }:$passthru, VK64WM:{ *:[v64i1] }:$mask, VR512:{ *:[v64i8] }:$src)
71092 /* 200933 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSBZrrk),
71093 /* 200936 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71094 /* 200938 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71095 /* 200940 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71096 /* 200942 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71097 /* 200944 */ GIR_RootConstrainSelectedInstOperands,
71098 /* 200945 */ // GIR_Coverage, 22062,
71099 /* 200945 */ GIR_EraseRootFromParent_Done,
71100 /* 200946 */ // Label 4572: @200946
71101 /* 200946 */ GIM_Reject,
71102 /* 200947 */ // Label 4569: @200947
71103 /* 200947 */ GIM_Reject,
71104 /* 200948 */ // Label 4551: @200948
71105 /* 200948 */ GIM_Try, /*On fail goto*//*Label 4573*/ GIMT_Encode4(201062),
71106 /* 200953 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
71107 /* 200956 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
71108 /* 200959 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
71109 /* 200962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71110 /* 200966 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71111 /* 200970 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
71112 /* 200974 */ GIM_Try, /*On fail goto*//*Label 4574*/ GIMT_Encode4(201007), // Rule ID 22091 //
71113 /* 200979 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71114 /* 200982 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71115 /* 200986 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71116 /* 200992 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71117 /* 200994 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71118 /* 200996 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i16] }) => (VPCOMPRESSWZ128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
71119 /* 200996 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrkz),
71120 /* 200999 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71121 /* 201001 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71122 /* 201003 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71123 /* 201005 */ GIR_RootConstrainSelectedInstOperands,
71124 /* 201006 */ // GIR_Coverage, 22091,
71125 /* 201006 */ GIR_EraseRootFromParent_Done,
71126 /* 201007 */ // Label 4574: @201007
71127 /* 201007 */ GIM_Try, /*On fail goto*//*Label 4575*/ GIMT_Encode4(201036), // Rule ID 22090 //
71128 /* 201012 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71129 /* 201015 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71130 /* 201019 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71131 /* 201023 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71132 /* 201025 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i16] })) => (VPCOMPRESSWZ128rrkz:{ *:[v8i16] } VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
71133 /* 201025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrkz),
71134 /* 201028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71135 /* 201030 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71136 /* 201032 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71137 /* 201034 */ GIR_RootConstrainSelectedInstOperands,
71138 /* 201035 */ // GIR_Coverage, 22090,
71139 /* 201035 */ GIR_EraseRootFromParent_Done,
71140 /* 201036 */ // Label 4575: @201036
71141 /* 201036 */ GIM_Try, /*On fail goto*//*Label 4576*/ GIMT_Encode4(201061), // Rule ID 22092 //
71142 /* 201041 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71143 /* 201044 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71144 /* 201048 */ // (vector_compress:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$passthru) => (VPCOMPRESSWZ128rrk:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR128X:{ *:[v8i16] }:$src)
71145 /* 201048 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ128rrk),
71146 /* 201051 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71147 /* 201053 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71148 /* 201055 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71149 /* 201057 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71150 /* 201059 */ GIR_RootConstrainSelectedInstOperands,
71151 /* 201060 */ // GIR_Coverage, 22092,
71152 /* 201060 */ GIR_EraseRootFromParent_Done,
71153 /* 201061 */ // Label 4576: @201061
71154 /* 201061 */ GIM_Reject,
71155 /* 201062 */ // Label 4573: @201062
71156 /* 201062 */ GIM_Reject,
71157 /* 201063 */ // Label 4552: @201063
71158 /* 201063 */ GIM_Try, /*On fail goto*//*Label 4577*/ GIMT_Encode4(201177),
71159 /* 201068 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
71160 /* 201071 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
71161 /* 201074 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
71162 /* 201077 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71163 /* 201081 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71164 /* 201085 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
71165 /* 201089 */ GIM_Try, /*On fail goto*//*Label 4578*/ GIMT_Encode4(201122), // Rule ID 22085 //
71166 /* 201094 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71167 /* 201097 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71168 /* 201101 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71169 /* 201107 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71170 /* 201109 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71171 /* 201111 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i16] }) => (VPCOMPRESSWZ256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
71172 /* 201111 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrkz),
71173 /* 201114 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71174 /* 201116 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71175 /* 201118 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71176 /* 201120 */ GIR_RootConstrainSelectedInstOperands,
71177 /* 201121 */ // GIR_Coverage, 22085,
71178 /* 201121 */ GIR_EraseRootFromParent_Done,
71179 /* 201122 */ // Label 4578: @201122
71180 /* 201122 */ GIM_Try, /*On fail goto*//*Label 4579*/ GIMT_Encode4(201151), // Rule ID 22084 //
71181 /* 201127 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71182 /* 201130 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71183 /* 201134 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71184 /* 201138 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71185 /* 201140 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i16] })) => (VPCOMPRESSWZ256rrkz:{ *:[v16i16] } VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
71186 /* 201140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrkz),
71187 /* 201143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71188 /* 201145 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71189 /* 201147 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71190 /* 201149 */ GIR_RootConstrainSelectedInstOperands,
71191 /* 201150 */ // GIR_Coverage, 22084,
71192 /* 201150 */ GIR_EraseRootFromParent_Done,
71193 /* 201151 */ // Label 4579: @201151
71194 /* 201151 */ GIM_Try, /*On fail goto*//*Label 4580*/ GIMT_Encode4(201176), // Rule ID 22086 //
71195 /* 201156 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2_HasVLX),
71196 /* 201159 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71197 /* 201163 */ // (vector_compress:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$passthru) => (VPCOMPRESSWZ256rrk:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR256X:{ *:[v16i16] }:$src)
71198 /* 201163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZ256rrk),
71199 /* 201166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71200 /* 201168 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71201 /* 201170 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71202 /* 201172 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71203 /* 201174 */ GIR_RootConstrainSelectedInstOperands,
71204 /* 201175 */ // GIR_Coverage, 22086,
71205 /* 201175 */ GIR_EraseRootFromParent_Done,
71206 /* 201176 */ // Label 4580: @201176
71207 /* 201176 */ GIM_Reject,
71208 /* 201177 */ // Label 4577: @201177
71209 /* 201177 */ GIM_Reject,
71210 /* 201178 */ // Label 4553: @201178
71211 /* 201178 */ GIM_Try, /*On fail goto*//*Label 4581*/ GIMT_Encode4(201292),
71212 /* 201183 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
71213 /* 201186 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s1,
71214 /* 201189 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
71215 /* 201192 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71216 /* 201196 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71217 /* 201200 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK32WMRegClassID),
71218 /* 201204 */ GIM_Try, /*On fail goto*//*Label 4582*/ GIMT_Encode4(201237), // Rule ID 22079 //
71219 /* 201209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
71220 /* 201212 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71221 /* 201216 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71222 /* 201222 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71223 /* 201224 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71224 /* 201226 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, immAllZerosV:{ *:[v32i16] }) => (VPCOMPRESSWZrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
71225 /* 201226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrkz),
71226 /* 201229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71227 /* 201231 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71228 /* 201233 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71229 /* 201235 */ GIR_RootConstrainSelectedInstOperands,
71230 /* 201236 */ // GIR_Coverage, 22079,
71231 /* 201236 */ GIR_EraseRootFromParent_Done,
71232 /* 201237 */ // Label 4582: @201237
71233 /* 201237 */ GIM_Try, /*On fail goto*//*Label 4583*/ GIMT_Encode4(201266), // Rule ID 22078 //
71234 /* 201242 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
71235 /* 201245 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71236 /* 201249 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71237 /* 201253 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71238 /* 201255 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, (undef:{ *:[v32i16] })) => (VPCOMPRESSWZrrkz:{ *:[v32i16] } VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
71239 /* 201255 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrkz),
71240 /* 201258 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71241 /* 201260 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71242 /* 201262 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71243 /* 201264 */ GIR_RootConstrainSelectedInstOperands,
71244 /* 201265 */ // GIR_Coverage, 22078,
71245 /* 201265 */ GIR_EraseRootFromParent_Done,
71246 /* 201266 */ // Label 4583: @201266
71247 /* 201266 */ GIM_Try, /*On fail goto*//*Label 4584*/ GIMT_Encode4(201291), // Rule ID 22080 //
71248 /* 201271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVBMI2),
71249 /* 201274 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71250 /* 201278 */ // (vector_compress:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$passthru) => (VPCOMPRESSWZrrk:{ *:[v32i16] } VR512:{ *:[v32i16] }:$passthru, VK32WM:{ *:[v32i1] }:$mask, VR512:{ *:[v32i16] }:$src)
71251 /* 201278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSWZrrk),
71252 /* 201281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71253 /* 201283 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71254 /* 201285 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71255 /* 201287 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71256 /* 201289 */ GIR_RootConstrainSelectedInstOperands,
71257 /* 201290 */ // GIR_Coverage, 22080,
71258 /* 201290 */ GIR_EraseRootFromParent_Done,
71259 /* 201291 */ // Label 4584: @201291
71260 /* 201291 */ GIM_Reject,
71261 /* 201292 */ // Label 4581: @201292
71262 /* 201292 */ GIM_Reject,
71263 /* 201293 */ // Label 4554: @201293
71264 /* 201293 */ GIM_Try, /*On fail goto*//*Label 4585*/ GIMT_Encode4(201494),
71265 /* 201298 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
71266 /* 201301 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
71267 /* 201304 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
71268 /* 201307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71269 /* 201311 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71270 /* 201315 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
71271 /* 201319 */ GIM_Try, /*On fail goto*//*Label 4586*/ GIMT_Encode4(201352), // Rule ID 21665 //
71272 /* 201324 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71273 /* 201327 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71274 /* 201331 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71275 /* 201337 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71276 /* 201339 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71277 /* 201341 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4i32] }) => (VPCOMPRESSDZ128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
71278 /* 201341 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrkz),
71279 /* 201344 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71280 /* 201346 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71281 /* 201348 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71282 /* 201350 */ GIR_RootConstrainSelectedInstOperands,
71283 /* 201351 */ // GIR_Coverage, 21665,
71284 /* 201351 */ GIR_EraseRootFromParent_Done,
71285 /* 201352 */ // Label 4586: @201352
71286 /* 201352 */ GIM_Try, /*On fail goto*//*Label 4587*/ GIMT_Encode4(201385), // Rule ID 21701 //
71287 /* 201357 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71288 /* 201360 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71289 /* 201364 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71290 /* 201370 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71291 /* 201372 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71292 /* 201374 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4f32] }) => (VCOMPRESSPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
71293 /* 201374 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrkz),
71294 /* 201377 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71295 /* 201379 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71296 /* 201381 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71297 /* 201383 */ GIR_RootConstrainSelectedInstOperands,
71298 /* 201384 */ // GIR_Coverage, 21701,
71299 /* 201384 */ GIR_EraseRootFromParent_Done,
71300 /* 201385 */ // Label 4587: @201385
71301 /* 201385 */ GIM_Try, /*On fail goto*//*Label 4588*/ GIMT_Encode4(201414), // Rule ID 21664 //
71302 /* 201390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71303 /* 201393 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71304 /* 201397 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71305 /* 201401 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71306 /* 201403 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4i32] })) => (VPCOMPRESSDZ128rrkz:{ *:[v4i32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
71307 /* 201403 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrkz),
71308 /* 201406 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71309 /* 201408 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71310 /* 201410 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71311 /* 201412 */ GIR_RootConstrainSelectedInstOperands,
71312 /* 201413 */ // GIR_Coverage, 21664,
71313 /* 201413 */ GIR_EraseRootFromParent_Done,
71314 /* 201414 */ // Label 4588: @201414
71315 /* 201414 */ GIM_Try, /*On fail goto*//*Label 4589*/ GIMT_Encode4(201443), // Rule ID 21700 //
71316 /* 201419 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71317 /* 201422 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71318 /* 201426 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71319 /* 201430 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71320 /* 201432 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4f32] })) => (VCOMPRESSPSZ128rrkz:{ *:[v4f32] } VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
71321 /* 201432 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrkz),
71322 /* 201435 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71323 /* 201437 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71324 /* 201439 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71325 /* 201441 */ GIR_RootConstrainSelectedInstOperands,
71326 /* 201442 */ // GIR_Coverage, 21700,
71327 /* 201442 */ GIR_EraseRootFromParent_Done,
71328 /* 201443 */ // Label 4589: @201443
71329 /* 201443 */ GIM_Try, /*On fail goto*//*Label 4590*/ GIMT_Encode4(201468), // Rule ID 21666 //
71330 /* 201448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71331 /* 201451 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71332 /* 201455 */ // (vector_compress:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$passthru) => (VPCOMPRESSDZ128rrk:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4i32] }:$src)
71333 /* 201455 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ128rrk),
71334 /* 201458 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71335 /* 201460 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71336 /* 201462 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71337 /* 201464 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71338 /* 201466 */ GIR_RootConstrainSelectedInstOperands,
71339 /* 201467 */ // GIR_Coverage, 21666,
71340 /* 201467 */ GIR_EraseRootFromParent_Done,
71341 /* 201468 */ // Label 4590: @201468
71342 /* 201468 */ GIM_Try, /*On fail goto*//*Label 4591*/ GIMT_Encode4(201493), // Rule ID 21702 //
71343 /* 201473 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71344 /* 201476 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71345 /* 201480 */ // (vector_compress:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$passthru) => (VCOMPRESSPSZ128rrk:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR128X:{ *:[v4f32] }:$src)
71346 /* 201480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ128rrk),
71347 /* 201483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71348 /* 201485 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71349 /* 201487 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71350 /* 201489 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71351 /* 201491 */ GIR_RootConstrainSelectedInstOperands,
71352 /* 201492 */ // GIR_Coverage, 21702,
71353 /* 201492 */ GIR_EraseRootFromParent_Done,
71354 /* 201493 */ // Label 4591: @201493
71355 /* 201493 */ GIM_Reject,
71356 /* 201494 */ // Label 4585: @201494
71357 /* 201494 */ GIM_Reject,
71358 /* 201495 */ // Label 4555: @201495
71359 /* 201495 */ GIM_Try, /*On fail goto*//*Label 4592*/ GIMT_Encode4(201696),
71360 /* 201500 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
71361 /* 201503 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
71362 /* 201506 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
71363 /* 201509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71364 /* 201513 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71365 /* 201517 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
71366 /* 201521 */ GIM_Try, /*On fail goto*//*Label 4593*/ GIMT_Encode4(201554), // Rule ID 21659 //
71367 /* 201526 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71368 /* 201529 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71369 /* 201533 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71370 /* 201539 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71371 /* 201541 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71372 /* 201543 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i32] }) => (VPCOMPRESSDZ256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
71373 /* 201543 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrkz),
71374 /* 201546 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71375 /* 201548 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71376 /* 201550 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71377 /* 201552 */ GIR_RootConstrainSelectedInstOperands,
71378 /* 201553 */ // GIR_Coverage, 21659,
71379 /* 201553 */ GIR_EraseRootFromParent_Done,
71380 /* 201554 */ // Label 4593: @201554
71381 /* 201554 */ GIM_Try, /*On fail goto*//*Label 4594*/ GIMT_Encode4(201587), // Rule ID 21695 //
71382 /* 201559 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71383 /* 201562 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71384 /* 201566 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71385 /* 201572 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71386 /* 201574 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71387 /* 201576 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8f32] }) => (VCOMPRESSPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
71388 /* 201576 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrkz),
71389 /* 201579 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71390 /* 201581 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71391 /* 201583 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71392 /* 201585 */ GIR_RootConstrainSelectedInstOperands,
71393 /* 201586 */ // GIR_Coverage, 21695,
71394 /* 201586 */ GIR_EraseRootFromParent_Done,
71395 /* 201587 */ // Label 4594: @201587
71396 /* 201587 */ GIM_Try, /*On fail goto*//*Label 4595*/ GIMT_Encode4(201616), // Rule ID 21658 //
71397 /* 201592 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71398 /* 201595 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71399 /* 201599 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71400 /* 201603 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71401 /* 201605 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i32] })) => (VPCOMPRESSDZ256rrkz:{ *:[v8i32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
71402 /* 201605 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrkz),
71403 /* 201608 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71404 /* 201610 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71405 /* 201612 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71406 /* 201614 */ GIR_RootConstrainSelectedInstOperands,
71407 /* 201615 */ // GIR_Coverage, 21658,
71408 /* 201615 */ GIR_EraseRootFromParent_Done,
71409 /* 201616 */ // Label 4595: @201616
71410 /* 201616 */ GIM_Try, /*On fail goto*//*Label 4596*/ GIMT_Encode4(201645), // Rule ID 21694 //
71411 /* 201621 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71412 /* 201624 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71413 /* 201628 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71414 /* 201632 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71415 /* 201634 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8f32] })) => (VCOMPRESSPSZ256rrkz:{ *:[v8f32] } VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
71416 /* 201634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrkz),
71417 /* 201637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71418 /* 201639 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71419 /* 201641 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71420 /* 201643 */ GIR_RootConstrainSelectedInstOperands,
71421 /* 201644 */ // GIR_Coverage, 21694,
71422 /* 201644 */ GIR_EraseRootFromParent_Done,
71423 /* 201645 */ // Label 4596: @201645
71424 /* 201645 */ GIM_Try, /*On fail goto*//*Label 4597*/ GIMT_Encode4(201670), // Rule ID 21660 //
71425 /* 201650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71426 /* 201653 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71427 /* 201657 */ // (vector_compress:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$passthru) => (VPCOMPRESSDZ256rrk:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8i32] }:$src)
71428 /* 201657 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZ256rrk),
71429 /* 201660 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71430 /* 201662 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71431 /* 201664 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71432 /* 201666 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71433 /* 201668 */ GIR_RootConstrainSelectedInstOperands,
71434 /* 201669 */ // GIR_Coverage, 21660,
71435 /* 201669 */ GIR_EraseRootFromParent_Done,
71436 /* 201670 */ // Label 4597: @201670
71437 /* 201670 */ GIM_Try, /*On fail goto*//*Label 4598*/ GIMT_Encode4(201695), // Rule ID 21696 //
71438 /* 201675 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71439 /* 201678 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71440 /* 201682 */ // (vector_compress:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$passthru) => (VCOMPRESSPSZ256rrk:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR256X:{ *:[v8f32] }:$src)
71441 /* 201682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZ256rrk),
71442 /* 201685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71443 /* 201687 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71444 /* 201689 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71445 /* 201691 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71446 /* 201693 */ GIR_RootConstrainSelectedInstOperands,
71447 /* 201694 */ // GIR_Coverage, 21696,
71448 /* 201694 */ GIR_EraseRootFromParent_Done,
71449 /* 201695 */ // Label 4598: @201695
71450 /* 201695 */ GIM_Reject,
71451 /* 201696 */ // Label 4592: @201696
71452 /* 201696 */ GIM_Reject,
71453 /* 201697 */ // Label 4556: @201697
71454 /* 201697 */ GIM_Try, /*On fail goto*//*Label 4599*/ GIMT_Encode4(201898),
71455 /* 201702 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
71456 /* 201705 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s1,
71457 /* 201708 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
71458 /* 201711 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71459 /* 201715 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71460 /* 201719 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK16WMRegClassID),
71461 /* 201723 */ GIM_Try, /*On fail goto*//*Label 4600*/ GIMT_Encode4(201756), // Rule ID 21653 //
71462 /* 201728 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71463 /* 201731 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71464 /* 201735 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71465 /* 201741 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71466 /* 201743 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71467 /* 201745 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16i32] }) => (VPCOMPRESSDZrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
71468 /* 201745 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrkz),
71469 /* 201748 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71470 /* 201750 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71471 /* 201752 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71472 /* 201754 */ GIR_RootConstrainSelectedInstOperands,
71473 /* 201755 */ // GIR_Coverage, 21653,
71474 /* 201755 */ GIR_EraseRootFromParent_Done,
71475 /* 201756 */ // Label 4600: @201756
71476 /* 201756 */ GIM_Try, /*On fail goto*//*Label 4601*/ GIMT_Encode4(201789), // Rule ID 21689 //
71477 /* 201761 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71478 /* 201764 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71479 /* 201768 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71480 /* 201774 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71481 /* 201776 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71482 /* 201778 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, immAllZerosV:{ *:[v16f32] }) => (VCOMPRESSPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
71483 /* 201778 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrkz),
71484 /* 201781 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71485 /* 201783 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71486 /* 201785 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71487 /* 201787 */ GIR_RootConstrainSelectedInstOperands,
71488 /* 201788 */ // GIR_Coverage, 21689,
71489 /* 201788 */ GIR_EraseRootFromParent_Done,
71490 /* 201789 */ // Label 4601: @201789
71491 /* 201789 */ GIM_Try, /*On fail goto*//*Label 4602*/ GIMT_Encode4(201818), // Rule ID 21652 //
71492 /* 201794 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71493 /* 201797 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71494 /* 201801 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71495 /* 201805 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71496 /* 201807 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16i32] })) => (VPCOMPRESSDZrrkz:{ *:[v16i32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
71497 /* 201807 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrkz),
71498 /* 201810 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71499 /* 201812 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71500 /* 201814 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71501 /* 201816 */ GIR_RootConstrainSelectedInstOperands,
71502 /* 201817 */ // GIR_Coverage, 21652,
71503 /* 201817 */ GIR_EraseRootFromParent_Done,
71504 /* 201818 */ // Label 4602: @201818
71505 /* 201818 */ GIM_Try, /*On fail goto*//*Label 4603*/ GIMT_Encode4(201847), // Rule ID 21688 //
71506 /* 201823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71507 /* 201826 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71508 /* 201830 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71509 /* 201834 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71510 /* 201836 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, (undef:{ *:[v16f32] })) => (VCOMPRESSPSZrrkz:{ *:[v16f32] } VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
71511 /* 201836 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrkz),
71512 /* 201839 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71513 /* 201841 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71514 /* 201843 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71515 /* 201845 */ GIR_RootConstrainSelectedInstOperands,
71516 /* 201846 */ // GIR_Coverage, 21688,
71517 /* 201846 */ GIR_EraseRootFromParent_Done,
71518 /* 201847 */ // Label 4603: @201847
71519 /* 201847 */ GIM_Try, /*On fail goto*//*Label 4604*/ GIMT_Encode4(201872), // Rule ID 21654 //
71520 /* 201852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71521 /* 201855 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71522 /* 201859 */ // (vector_compress:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$passthru) => (VPCOMPRESSDZrrk:{ *:[v16i32] } VR512:{ *:[v16i32] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16i32] }:$src)
71523 /* 201859 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSDZrrk),
71524 /* 201862 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71525 /* 201864 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71526 /* 201866 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71527 /* 201868 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71528 /* 201870 */ GIR_RootConstrainSelectedInstOperands,
71529 /* 201871 */ // GIR_Coverage, 21654,
71530 /* 201871 */ GIR_EraseRootFromParent_Done,
71531 /* 201872 */ // Label 4604: @201872
71532 /* 201872 */ GIM_Try, /*On fail goto*//*Label 4605*/ GIMT_Encode4(201897), // Rule ID 21690 //
71533 /* 201877 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71534 /* 201880 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71535 /* 201884 */ // (vector_compress:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$passthru) => (VCOMPRESSPSZrrk:{ *:[v16f32] } VR512:{ *:[v16f32] }:$passthru, VK16WM:{ *:[v16i1] }:$mask, VR512:{ *:[v16f32] }:$src)
71536 /* 201884 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPSZrrk),
71537 /* 201887 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71538 /* 201889 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71539 /* 201891 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71540 /* 201893 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71541 /* 201895 */ GIR_RootConstrainSelectedInstOperands,
71542 /* 201896 */ // GIR_Coverage, 21690,
71543 /* 201896 */ GIR_EraseRootFromParent_Done,
71544 /* 201897 */ // Label 4605: @201897
71545 /* 201897 */ GIM_Reject,
71546 /* 201898 */ // Label 4599: @201898
71547 /* 201898 */ GIM_Reject,
71548 /* 201899 */ // Label 4557: @201899
71549 /* 201899 */ GIM_Try, /*On fail goto*//*Label 4606*/ GIMT_Encode4(202100),
71550 /* 201904 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
71551 /* 201907 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s1,
71552 /* 201910 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
71553 /* 201913 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71554 /* 201917 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71555 /* 201921 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK2WMRegClassID),
71556 /* 201925 */ GIM_Try, /*On fail goto*//*Label 4607*/ GIMT_Encode4(201958), // Rule ID 21683 //
71557 /* 201930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71558 /* 201933 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71559 /* 201937 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71560 /* 201943 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71561 /* 201945 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71562 /* 201947 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, immAllZerosV:{ *:[v2i64] }) => (VPCOMPRESSQZ128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
71563 /* 201947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrkz),
71564 /* 201950 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71565 /* 201952 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71566 /* 201954 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71567 /* 201956 */ GIR_RootConstrainSelectedInstOperands,
71568 /* 201957 */ // GIR_Coverage, 21683,
71569 /* 201957 */ GIR_EraseRootFromParent_Done,
71570 /* 201958 */ // Label 4607: @201958
71571 /* 201958 */ GIM_Try, /*On fail goto*//*Label 4608*/ GIMT_Encode4(201991), // Rule ID 21719 //
71572 /* 201963 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71573 /* 201966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71574 /* 201970 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71575 /* 201976 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71576 /* 201978 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71577 /* 201980 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, immAllZerosV:{ *:[v2f64] }) => (VCOMPRESSPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
71578 /* 201980 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrkz),
71579 /* 201983 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71580 /* 201985 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71581 /* 201987 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71582 /* 201989 */ GIR_RootConstrainSelectedInstOperands,
71583 /* 201990 */ // GIR_Coverage, 21719,
71584 /* 201990 */ GIR_EraseRootFromParent_Done,
71585 /* 201991 */ // Label 4608: @201991
71586 /* 201991 */ GIM_Try, /*On fail goto*//*Label 4609*/ GIMT_Encode4(202020), // Rule ID 21682 //
71587 /* 201996 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71588 /* 201999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71589 /* 202003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71590 /* 202007 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71591 /* 202009 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, (undef:{ *:[v2i64] })) => (VPCOMPRESSQZ128rrkz:{ *:[v2i64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
71592 /* 202009 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrkz),
71593 /* 202012 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71594 /* 202014 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71595 /* 202016 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71596 /* 202018 */ GIR_RootConstrainSelectedInstOperands,
71597 /* 202019 */ // GIR_Coverage, 21682,
71598 /* 202019 */ GIR_EraseRootFromParent_Done,
71599 /* 202020 */ // Label 4609: @202020
71600 /* 202020 */ GIM_Try, /*On fail goto*//*Label 4610*/ GIMT_Encode4(202049), // Rule ID 21718 //
71601 /* 202025 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71602 /* 202028 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71603 /* 202032 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71604 /* 202036 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71605 /* 202038 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, (undef:{ *:[v2f64] })) => (VCOMPRESSPDZ128rrkz:{ *:[v2f64] } VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
71606 /* 202038 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrkz),
71607 /* 202041 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71608 /* 202043 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71609 /* 202045 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71610 /* 202047 */ GIR_RootConstrainSelectedInstOperands,
71611 /* 202048 */ // GIR_Coverage, 21718,
71612 /* 202048 */ GIR_EraseRootFromParent_Done,
71613 /* 202049 */ // Label 4610: @202049
71614 /* 202049 */ GIM_Try, /*On fail goto*//*Label 4611*/ GIMT_Encode4(202074), // Rule ID 21684 //
71615 /* 202054 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71616 /* 202057 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71617 /* 202061 */ // (vector_compress:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$passthru) => (VPCOMPRESSQZ128rrk:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$passthru, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2i64] }:$src)
71618 /* 202061 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ128rrk),
71619 /* 202064 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71620 /* 202066 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71621 /* 202068 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71622 /* 202070 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71623 /* 202072 */ GIR_RootConstrainSelectedInstOperands,
71624 /* 202073 */ // GIR_Coverage, 21684,
71625 /* 202073 */ GIR_EraseRootFromParent_Done,
71626 /* 202074 */ // Label 4611: @202074
71627 /* 202074 */ GIM_Try, /*On fail goto*//*Label 4612*/ GIMT_Encode4(202099), // Rule ID 21720 //
71628 /* 202079 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71629 /* 202082 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
71630 /* 202086 */ // (vector_compress:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$passthru) => (VCOMPRESSPDZ128rrk:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$passthru, VK2WM:{ *:[v2i1] }:$mask, VR128X:{ *:[v2f64] }:$src)
71631 /* 202086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ128rrk),
71632 /* 202089 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71633 /* 202091 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71634 /* 202093 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71635 /* 202095 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71636 /* 202097 */ GIR_RootConstrainSelectedInstOperands,
71637 /* 202098 */ // GIR_Coverage, 21720,
71638 /* 202098 */ GIR_EraseRootFromParent_Done,
71639 /* 202099 */ // Label 4612: @202099
71640 /* 202099 */ GIM_Reject,
71641 /* 202100 */ // Label 4606: @202100
71642 /* 202100 */ GIM_Reject,
71643 /* 202101 */ // Label 4558: @202101
71644 /* 202101 */ GIM_Try, /*On fail goto*//*Label 4613*/ GIMT_Encode4(202302),
71645 /* 202106 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
71646 /* 202109 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s1,
71647 /* 202112 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
71648 /* 202115 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71649 /* 202119 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71650 /* 202123 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK4WMRegClassID),
71651 /* 202127 */ GIM_Try, /*On fail goto*//*Label 4614*/ GIMT_Encode4(202160), // Rule ID 21677 //
71652 /* 202132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71653 /* 202135 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71654 /* 202139 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71655 /* 202145 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71656 /* 202147 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71657 /* 202149 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4i64] }) => (VPCOMPRESSQZ256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
71658 /* 202149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrkz),
71659 /* 202152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71660 /* 202154 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71661 /* 202156 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71662 /* 202158 */ GIR_RootConstrainSelectedInstOperands,
71663 /* 202159 */ // GIR_Coverage, 21677,
71664 /* 202159 */ GIR_EraseRootFromParent_Done,
71665 /* 202160 */ // Label 4614: @202160
71666 /* 202160 */ GIM_Try, /*On fail goto*//*Label 4615*/ GIMT_Encode4(202193), // Rule ID 21713 //
71667 /* 202165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71668 /* 202168 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71669 /* 202172 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71670 /* 202178 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71671 /* 202180 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71672 /* 202182 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, immAllZerosV:{ *:[v4f64] }) => (VCOMPRESSPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
71673 /* 202182 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrkz),
71674 /* 202185 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71675 /* 202187 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71676 /* 202189 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71677 /* 202191 */ GIR_RootConstrainSelectedInstOperands,
71678 /* 202192 */ // GIR_Coverage, 21713,
71679 /* 202192 */ GIR_EraseRootFromParent_Done,
71680 /* 202193 */ // Label 4615: @202193
71681 /* 202193 */ GIM_Try, /*On fail goto*//*Label 4616*/ GIMT_Encode4(202222), // Rule ID 21676 //
71682 /* 202198 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71683 /* 202201 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71684 /* 202205 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71685 /* 202209 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71686 /* 202211 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4i64] })) => (VPCOMPRESSQZ256rrkz:{ *:[v4i64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
71687 /* 202211 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrkz),
71688 /* 202214 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71689 /* 202216 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71690 /* 202218 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71691 /* 202220 */ GIR_RootConstrainSelectedInstOperands,
71692 /* 202221 */ // GIR_Coverage, 21676,
71693 /* 202221 */ GIR_EraseRootFromParent_Done,
71694 /* 202222 */ // Label 4616: @202222
71695 /* 202222 */ GIM_Try, /*On fail goto*//*Label 4617*/ GIMT_Encode4(202251), // Rule ID 21712 //
71696 /* 202227 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71697 /* 202230 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71698 /* 202234 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71699 /* 202238 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71700 /* 202240 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, (undef:{ *:[v4f64] })) => (VCOMPRESSPDZ256rrkz:{ *:[v4f64] } VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
71701 /* 202240 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrkz),
71702 /* 202243 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71703 /* 202245 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71704 /* 202247 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71705 /* 202249 */ GIR_RootConstrainSelectedInstOperands,
71706 /* 202250 */ // GIR_Coverage, 21712,
71707 /* 202250 */ GIR_EraseRootFromParent_Done,
71708 /* 202251 */ // Label 4617: @202251
71709 /* 202251 */ GIM_Try, /*On fail goto*//*Label 4618*/ GIMT_Encode4(202276), // Rule ID 21678 //
71710 /* 202256 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71711 /* 202259 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71712 /* 202263 */ // (vector_compress:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$passthru) => (VPCOMPRESSQZ256rrk:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4i64] }:$src)
71713 /* 202263 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZ256rrk),
71714 /* 202266 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71715 /* 202268 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71716 /* 202270 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71717 /* 202272 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71718 /* 202274 */ GIR_RootConstrainSelectedInstOperands,
71719 /* 202275 */ // GIR_Coverage, 21678,
71720 /* 202275 */ GIR_EraseRootFromParent_Done,
71721 /* 202276 */ // Label 4618: @202276
71722 /* 202276 */ GIM_Try, /*On fail goto*//*Label 4619*/ GIMT_Encode4(202301), // Rule ID 21714 //
71723 /* 202281 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
71724 /* 202284 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
71725 /* 202288 */ // (vector_compress:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$passthru) => (VCOMPRESSPDZ256rrk:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$passthru, VK4WM:{ *:[v4i1] }:$mask, VR256X:{ *:[v4f64] }:$src)
71726 /* 202288 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZ256rrk),
71727 /* 202291 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71728 /* 202293 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71729 /* 202295 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71730 /* 202297 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71731 /* 202299 */ GIR_RootConstrainSelectedInstOperands,
71732 /* 202300 */ // GIR_Coverage, 21714,
71733 /* 202300 */ GIR_EraseRootFromParent_Done,
71734 /* 202301 */ // Label 4619: @202301
71735 /* 202301 */ GIM_Reject,
71736 /* 202302 */ // Label 4613: @202302
71737 /* 202302 */ GIM_Reject,
71738 /* 202303 */ // Label 4559: @202303
71739 /* 202303 */ GIM_Try, /*On fail goto*//*Label 4620*/ GIMT_Encode4(202504),
71740 /* 202308 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
71741 /* 202311 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s1,
71742 /* 202314 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
71743 /* 202317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71744 /* 202321 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71745 /* 202325 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VK8WMRegClassID),
71746 /* 202329 */ GIM_Try, /*On fail goto*//*Label 4621*/ GIMT_Encode4(202362), // Rule ID 21671 //
71747 /* 202334 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71748 /* 202337 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71749 /* 202341 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71750 /* 202347 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71751 /* 202349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71752 /* 202351 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8i64] }) => (VPCOMPRESSQZrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
71753 /* 202351 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrkz),
71754 /* 202354 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71755 /* 202356 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71756 /* 202358 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71757 /* 202360 */ GIR_RootConstrainSelectedInstOperands,
71758 /* 202361 */ // GIR_Coverage, 21671,
71759 /* 202361 */ GIR_EraseRootFromParent_Done,
71760 /* 202362 */ // Label 4621: @202362
71761 /* 202362 */ GIM_Try, /*On fail goto*//*Label 4622*/ GIMT_Encode4(202395), // Rule ID 21707 //
71762 /* 202367 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71763 /* 202370 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71764 /* 202374 */ GIM_CheckOpcodeIsEither, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR), GIMT_Encode2(TargetOpcode::G_BUILD_VECTOR_TRUNC),
71765 /* 202380 */ GIM_CheckIsBuildVectorAllZeros, /*MI*/1,
71766 /* 202382 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71767 /* 202384 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, immAllZerosV:{ *:[v8f64] }) => (VCOMPRESSPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
71768 /* 202384 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrkz),
71769 /* 202387 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71770 /* 202389 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71771 /* 202391 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71772 /* 202393 */ GIR_RootConstrainSelectedInstOperands,
71773 /* 202394 */ // GIR_Coverage, 21707,
71774 /* 202394 */ GIR_EraseRootFromParent_Done,
71775 /* 202395 */ // Label 4622: @202395
71776 /* 202395 */ GIM_Try, /*On fail goto*//*Label 4623*/ GIMT_Encode4(202424), // Rule ID 21670 //
71777 /* 202400 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71778 /* 202403 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71779 /* 202407 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71780 /* 202411 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71781 /* 202413 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8i64] })) => (VPCOMPRESSQZrrkz:{ *:[v8i64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
71782 /* 202413 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrkz),
71783 /* 202416 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71784 /* 202418 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71785 /* 202420 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71786 /* 202422 */ GIR_RootConstrainSelectedInstOperands,
71787 /* 202423 */ // GIR_Coverage, 21670,
71788 /* 202423 */ GIR_EraseRootFromParent_Done,
71789 /* 202424 */ // Label 4623: @202424
71790 /* 202424 */ GIM_Try, /*On fail goto*//*Label 4624*/ GIMT_Encode4(202453), // Rule ID 21706 //
71791 /* 202429 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71792 /* 202432 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
71793 /* 202436 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_IMPLICIT_DEF),
71794 /* 202440 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71795 /* 202442 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, (undef:{ *:[v8f64] })) => (VCOMPRESSPDZrrkz:{ *:[v8f64] } VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
71796 /* 202442 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrkz),
71797 /* 202445 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71798 /* 202447 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71799 /* 202449 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71800 /* 202451 */ GIR_RootConstrainSelectedInstOperands,
71801 /* 202452 */ // GIR_Coverage, 21706,
71802 /* 202452 */ GIR_EraseRootFromParent_Done,
71803 /* 202453 */ // Label 4624: @202453
71804 /* 202453 */ GIM_Try, /*On fail goto*//*Label 4625*/ GIMT_Encode4(202478), // Rule ID 21672 //
71805 /* 202458 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71806 /* 202461 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71807 /* 202465 */ // (vector_compress:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$passthru) => (VPCOMPRESSQZrrk:{ *:[v8i64] } VR512:{ *:[v8i64] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8i64] }:$src)
71808 /* 202465 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPCOMPRESSQZrrk),
71809 /* 202468 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71810 /* 202470 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71811 /* 202472 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71812 /* 202474 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71813 /* 202476 */ GIR_RootConstrainSelectedInstOperands,
71814 /* 202477 */ // GIR_Coverage, 21672,
71815 /* 202477 */ GIR_EraseRootFromParent_Done,
71816 /* 202478 */ // Label 4625: @202478
71817 /* 202478 */ GIM_Try, /*On fail goto*//*Label 4626*/ GIMT_Encode4(202503), // Rule ID 21708 //
71818 /* 202483 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
71819 /* 202486 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
71820 /* 202490 */ // (vector_compress:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$passthru) => (VCOMPRESSPDZrrk:{ *:[v8f64] } VR512:{ *:[v8f64] }:$passthru, VK8WM:{ *:[v8i1] }:$mask, VR512:{ *:[v8f64] }:$src)
71821 /* 202490 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VCOMPRESSPDZrrk),
71822 /* 202493 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71823 /* 202495 */ GIR_RootToRootCopy, /*OpIdx*/3, // passthru
71824 /* 202497 */ GIR_RootToRootCopy, /*OpIdx*/2, // mask
71825 /* 202499 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71826 /* 202501 */ GIR_RootConstrainSelectedInstOperands,
71827 /* 202502 */ // GIR_Coverage, 21708,
71828 /* 202502 */ GIR_EraseRootFromParent_Done,
71829 /* 202503 */ // Label 4626: @202503
71830 /* 202503 */ GIM_Reject,
71831 /* 202504 */ // Label 4620: @202504
71832 /* 202504 */ GIM_Reject,
71833 /* 202505 */ // Label 4560: @202505
71834 /* 202505 */ GIM_Reject,
71835 /* 202506 */ // Label 63: @202506
71836 /* 202506 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4630*/ GIMT_Encode4(202811),
71837 /* 202517 */ /*GILLT_s16*//*Label 4627*/ GIMT_Encode4(202529),
71838 /* 202521 */ /*GILLT_s32*//*Label 4628*/ GIMT_Encode4(202623),
71839 /* 202525 */ /*GILLT_s64*//*Label 4629*/ GIMT_Encode4(202717),
71840 /* 202529 */ // Label 4627: @202529
71841 /* 202529 */ GIM_Try, /*On fail goto*//*Label 4631*/ GIMT_Encode4(202622),
71842 /* 202534 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
71843 /* 202537 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
71844 /* 202541 */ GIM_Try, /*On fail goto*//*Label 4632*/ GIMT_Encode4(202596), // Rule ID 77 //
71845 /* 202546 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
71846 /* 202549 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71847 /* 202553 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71848 /* 202557 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71849 /* 202560 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71850 /* 202564 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
71851 /* 202568 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71852 /* 202570 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71853 /* 202577 */ // (cttz:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (TZCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
71854 /* 202577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT16rm),
71855 /* 202580 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71856 /* 202582 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71857 /* 202586 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71858 /* 202589 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71859 /* 202594 */ GIR_RootConstrainSelectedInstOperands,
71860 /* 202595 */ // GIR_Coverage, 77,
71861 /* 202595 */ GIR_EraseRootFromParent_Done,
71862 /* 202596 */ // Label 4632: @202596
71863 /* 202596 */ GIM_Try, /*On fail goto*//*Label 4633*/ GIMT_Encode4(202621), // Rule ID 76 //
71864 /* 202601 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
71865 /* 202604 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
71866 /* 202608 */ // (cttz:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (TZCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
71867 /* 202608 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT16rr),
71868 /* 202613 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
71869 /* 202619 */ GIR_RootConstrainSelectedInstOperands,
71870 /* 202620 */ // GIR_Coverage, 76,
71871 /* 202620 */ GIR_Done,
71872 /* 202621 */ // Label 4633: @202621
71873 /* 202621 */ GIM_Reject,
71874 /* 202622 */ // Label 4631: @202622
71875 /* 202622 */ GIM_Reject,
71876 /* 202623 */ // Label 4628: @202623
71877 /* 202623 */ GIM_Try, /*On fail goto*//*Label 4634*/ GIMT_Encode4(202716),
71878 /* 202628 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
71879 /* 202631 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
71880 /* 202635 */ GIM_Try, /*On fail goto*//*Label 4635*/ GIMT_Encode4(202690), // Rule ID 79 //
71881 /* 202640 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
71882 /* 202643 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71883 /* 202647 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71884 /* 202651 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71885 /* 202654 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71886 /* 202658 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
71887 /* 202662 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71888 /* 202664 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71889 /* 202671 */ // (cttz:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (TZCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
71890 /* 202671 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT32rm),
71891 /* 202674 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71892 /* 202676 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71893 /* 202680 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71894 /* 202683 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71895 /* 202688 */ GIR_RootConstrainSelectedInstOperands,
71896 /* 202689 */ // GIR_Coverage, 79,
71897 /* 202689 */ GIR_EraseRootFromParent_Done,
71898 /* 202690 */ // Label 4635: @202690
71899 /* 202690 */ GIM_Try, /*On fail goto*//*Label 4636*/ GIMT_Encode4(202715), // Rule ID 78 //
71900 /* 202695 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
71901 /* 202698 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
71902 /* 202702 */ // (cttz:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (TZCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
71903 /* 202702 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT32rr),
71904 /* 202707 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
71905 /* 202713 */ GIR_RootConstrainSelectedInstOperands,
71906 /* 202714 */ // GIR_Coverage, 78,
71907 /* 202714 */ GIR_Done,
71908 /* 202715 */ // Label 4636: @202715
71909 /* 202715 */ GIM_Reject,
71910 /* 202716 */ // Label 4634: @202716
71911 /* 202716 */ GIM_Reject,
71912 /* 202717 */ // Label 4629: @202717
71913 /* 202717 */ GIM_Try, /*On fail goto*//*Label 4637*/ GIMT_Encode4(202810),
71914 /* 202722 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
71915 /* 202725 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
71916 /* 202729 */ GIM_Try, /*On fail goto*//*Label 4638*/ GIMT_Encode4(202784), // Rule ID 81 //
71917 /* 202734 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
71918 /* 202737 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71919 /* 202741 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71920 /* 202745 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71921 /* 202748 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
71922 /* 202752 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71923 /* 202756 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71924 /* 202758 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71925 /* 202765 */ // (cttz:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (TZCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
71926 /* 202765 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::TZCNT64rm),
71927 /* 202768 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71928 /* 202770 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
71929 /* 202774 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71930 /* 202777 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71931 /* 202782 */ GIR_RootConstrainSelectedInstOperands,
71932 /* 202783 */ // GIR_Coverage, 81,
71933 /* 202783 */ GIR_EraseRootFromParent_Done,
71934 /* 202784 */ // Label 4638: @202784
71935 /* 202784 */ GIM_Try, /*On fail goto*//*Label 4639*/ GIMT_Encode4(202809), // Rule ID 80 //
71936 /* 202789 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBMI),
71937 /* 202792 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
71938 /* 202796 */ // (cttz:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (TZCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
71939 /* 202796 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TZCNT64rr),
71940 /* 202801 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
71941 /* 202807 */ GIR_RootConstrainSelectedInstOperands,
71942 /* 202808 */ // GIR_Coverage, 80,
71943 /* 202808 */ GIR_Done,
71944 /* 202809 */ // Label 4639: @202809
71945 /* 202809 */ GIM_Reject,
71946 /* 202810 */ // Label 4637: @202810
71947 /* 202810 */ GIM_Reject,
71948 /* 202811 */ // Label 4630: @202811
71949 /* 202811 */ GIM_Reject,
71950 /* 202812 */ // Label 64: @202812
71951 /* 202812 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4643*/ GIMT_Encode4(203198),
71952 /* 202823 */ /*GILLT_s16*//*Label 4640*/ GIMT_Encode4(202835),
71953 /* 202827 */ /*GILLT_s32*//*Label 4641*/ GIMT_Encode4(202956),
71954 /* 202831 */ /*GILLT_s64*//*Label 4642*/ GIMT_Encode4(203077),
71955 /* 202835 */ // Label 4640: @202835
71956 /* 202835 */ GIM_Try, /*On fail goto*//*Label 4644*/ GIMT_Encode4(202955),
71957 /* 202840 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
71958 /* 202843 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
71959 /* 202847 */ GIM_Try, /*On fail goto*//*Label 4645*/ GIMT_Encode4(202916), // Rule ID 23043 //
71960 /* 202852 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
71961 /* 202856 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
71962 /* 202860 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
71963 /* 202863 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
71964 /* 202867 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
71965 /* 202871 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
71966 /* 202873 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
71967 /* 202880 */ // (cttz_zero_undef:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (BSF16rm:{ *:[i16] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i16] }), addr:{ *:[iPTR] }:$src)
71968 /* 202880 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
71969 /* 202883 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71970 /* 202887 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71971 /* 202892 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71972 /* 202894 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF16rm),
71973 /* 202897 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71974 /* 202899 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71975 /* 202902 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
71976 /* 202906 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71977 /* 202909 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
71978 /* 202914 */ GIR_RootConstrainSelectedInstOperands,
71979 /* 202915 */ // GIR_Coverage, 23043,
71980 /* 202915 */ GIR_EraseRootFromParent_Done,
71981 /* 202916 */ // Label 4645: @202916
71982 /* 202916 */ GIM_Try, /*On fail goto*//*Label 4646*/ GIMT_Encode4(202954), // Rule ID 23040 //
71983 /* 202921 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
71984 /* 202925 */ // (cttz_zero_undef:{ *:[i16] } GR16:{ *:[i16] }:$src) => (BSF16rr:{ *:[i16] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i16] }), GR16:{ *:[i16] }:$src)
71985 /* 202925 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
71986 /* 202928 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
71987 /* 202932 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
71988 /* 202937 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
71989 /* 202939 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF16rr),
71990 /* 202942 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
71991 /* 202944 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
71992 /* 202947 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
71993 /* 202949 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
71994 /* 202952 */ GIR_RootConstrainSelectedInstOperands,
71995 /* 202953 */ // GIR_Coverage, 23040,
71996 /* 202953 */ GIR_EraseRootFromParent_Done,
71997 /* 202954 */ // Label 4646: @202954
71998 /* 202954 */ GIM_Reject,
71999 /* 202955 */ // Label 4644: @202955
72000 /* 202955 */ GIM_Reject,
72001 /* 202956 */ // Label 4641: @202956
72002 /* 202956 */ GIM_Try, /*On fail goto*//*Label 4647*/ GIMT_Encode4(203076),
72003 /* 202961 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
72004 /* 202964 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72005 /* 202968 */ GIM_Try, /*On fail goto*//*Label 4648*/ GIMT_Encode4(203037), // Rule ID 23044 //
72006 /* 202973 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72007 /* 202977 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72008 /* 202981 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72009 /* 202984 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72010 /* 202988 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
72011 /* 202992 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72012 /* 202994 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72013 /* 203001 */ // (cttz_zero_undef:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (BSF32rm:{ *:[i32] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), addr:{ *:[iPTR] }:$src)
72014 /* 203001 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
72015 /* 203004 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72016 /* 203008 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72017 /* 203013 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72018 /* 203015 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF32rm),
72019 /* 203018 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72020 /* 203020 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72021 /* 203023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72022 /* 203027 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72023 /* 203030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72024 /* 203035 */ GIR_RootConstrainSelectedInstOperands,
72025 /* 203036 */ // GIR_Coverage, 23044,
72026 /* 203036 */ GIR_EraseRootFromParent_Done,
72027 /* 203037 */ // Label 4648: @203037
72028 /* 203037 */ GIM_Try, /*On fail goto*//*Label 4649*/ GIMT_Encode4(203075), // Rule ID 23041 //
72029 /* 203042 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72030 /* 203046 */ // (cttz_zero_undef:{ *:[i32] } GR32:{ *:[i32] }:$src) => (BSF32rr:{ *:[i32] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), GR32:{ *:[i32] }:$src)
72031 /* 203046 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
72032 /* 203049 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72033 /* 203053 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72034 /* 203058 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72035 /* 203060 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF32rr),
72036 /* 203063 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72037 /* 203065 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72038 /* 203068 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72039 /* 203070 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72040 /* 203073 */ GIR_RootConstrainSelectedInstOperands,
72041 /* 203074 */ // GIR_Coverage, 23041,
72042 /* 203074 */ GIR_EraseRootFromParent_Done,
72043 /* 203075 */ // Label 4649: @203075
72044 /* 203075 */ GIM_Reject,
72045 /* 203076 */ // Label 4647: @203076
72046 /* 203076 */ GIM_Reject,
72047 /* 203077 */ // Label 4642: @203077
72048 /* 203077 */ GIM_Try, /*On fail goto*//*Label 4650*/ GIMT_Encode4(203197),
72049 /* 203082 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
72050 /* 203085 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72051 /* 203089 */ GIM_Try, /*On fail goto*//*Label 4651*/ GIMT_Encode4(203158), // Rule ID 23045 //
72052 /* 203094 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72053 /* 203098 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72054 /* 203102 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72055 /* 203105 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72056 /* 203109 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72057 /* 203113 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72058 /* 203115 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72059 /* 203122 */ // (cttz_zero_undef:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (BSF64rm:{ *:[i64] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i64] }), addr:{ *:[iPTR] }:$src)
72060 /* 203122 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
72061 /* 203125 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72062 /* 203129 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72063 /* 203134 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72064 /* 203136 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF64rm),
72065 /* 203139 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72066 /* 203141 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72067 /* 203144 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
72068 /* 203148 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72069 /* 203151 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72070 /* 203156 */ GIR_RootConstrainSelectedInstOperands,
72071 /* 203157 */ // GIR_Coverage, 23045,
72072 /* 203157 */ GIR_EraseRootFromParent_Done,
72073 /* 203158 */ // Label 4651: @203158
72074 /* 203158 */ GIM_Try, /*On fail goto*//*Label 4652*/ GIMT_Encode4(203196), // Rule ID 23042 //
72075 /* 203163 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72076 /* 203167 */ // (cttz_zero_undef:{ *:[i64] } GR64:{ *:[i64] }:$src) => (BSF64rr:{ *:[i64] }:{ *:[i32] } (IMPLICIT_DEF:{ *:[i64] }), GR64:{ *:[i64] }:$src)
72077 /* 203167 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
72078 /* 203170 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72079 /* 203174 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72080 /* 203179 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72081 /* 203181 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::BSF64rr),
72082 /* 203184 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72083 /* 203186 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
72084 /* 203189 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
72085 /* 203191 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72086 /* 203194 */ GIR_RootConstrainSelectedInstOperands,
72087 /* 203195 */ // GIR_Coverage, 23042,
72088 /* 203195 */ GIR_EraseRootFromParent_Done,
72089 /* 203196 */ // Label 4652: @203196
72090 /* 203196 */ GIM_Reject,
72091 /* 203197 */ // Label 4650: @203197
72092 /* 203197 */ GIM_Reject,
72093 /* 203198 */ // Label 4643: @203198
72094 /* 203198 */ GIM_Reject,
72095 /* 203199 */ // Label 65: @203199
72096 /* 203199 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4662*/ GIMT_Encode4(204522),
72097 /* 203210 */ /*GILLT_s16*//*Label 4653*/ GIMT_Encode4(203302),
72098 /* 203214 */ /*GILLT_s32*//*Label 4654*/ GIMT_Encode4(203396),
72099 /* 203218 */ /*GILLT_s64*//*Label 4655*/ GIMT_Encode4(203490), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
72100 /* 203278 */ /*GILLT_v4s32*//*Label 4656*/ GIMT_Encode4(203584),
72101 /* 203282 */ /*GILLT_v8s32*//*Label 4657*/ GIMT_Encode4(203780),
72102 /* 203286 */ /*GILLT_v16s32*//*Label 4658*/ GIMT_Encode4(203968),
72103 /* 203290 */ /*GILLT_v2s64*//*Label 4659*/ GIMT_Encode4(204053),
72104 /* 203294 */ /*GILLT_v4s64*//*Label 4660*/ GIMT_Encode4(204249),
72105 /* 203298 */ /*GILLT_v8s64*//*Label 4661*/ GIMT_Encode4(204437),
72106 /* 203302 */ // Label 4653: @203302
72107 /* 203302 */ GIM_Try, /*On fail goto*//*Label 4663*/ GIMT_Encode4(203395),
72108 /* 203307 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
72109 /* 203310 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72110 /* 203314 */ GIM_Try, /*On fail goto*//*Label 4664*/ GIMT_Encode4(203369), // Rule ID 71 //
72111 /* 203319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
72112 /* 203322 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72113 /* 203326 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72114 /* 203330 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72115 /* 203333 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72116 /* 203337 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
72117 /* 203341 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72118 /* 203343 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72119 /* 203350 */ // (ctlz:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (LZCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72120 /* 203350 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT16rm),
72121 /* 203353 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72122 /* 203355 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72123 /* 203359 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72124 /* 203362 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72125 /* 203367 */ GIR_RootConstrainSelectedInstOperands,
72126 /* 203368 */ // GIR_Coverage, 71,
72127 /* 203368 */ GIR_EraseRootFromParent_Done,
72128 /* 203369 */ // Label 4664: @203369
72129 /* 203369 */ GIM_Try, /*On fail goto*//*Label 4665*/ GIMT_Encode4(203394), // Rule ID 70 //
72130 /* 203374 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
72131 /* 203377 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72132 /* 203381 */ // (ctlz:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (LZCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
72133 /* 203381 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT16rr),
72134 /* 203386 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
72135 /* 203392 */ GIR_RootConstrainSelectedInstOperands,
72136 /* 203393 */ // GIR_Coverage, 70,
72137 /* 203393 */ GIR_Done,
72138 /* 203394 */ // Label 4665: @203394
72139 /* 203394 */ GIM_Reject,
72140 /* 203395 */ // Label 4663: @203395
72141 /* 203395 */ GIM_Reject,
72142 /* 203396 */ // Label 4654: @203396
72143 /* 203396 */ GIM_Try, /*On fail goto*//*Label 4666*/ GIMT_Encode4(203489),
72144 /* 203401 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
72145 /* 203404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72146 /* 203408 */ GIM_Try, /*On fail goto*//*Label 4667*/ GIMT_Encode4(203463), // Rule ID 73 //
72147 /* 203413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
72148 /* 203416 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72149 /* 203420 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72150 /* 203424 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72151 /* 203427 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72152 /* 203431 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
72153 /* 203435 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72154 /* 203437 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72155 /* 203444 */ // (ctlz:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (LZCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72156 /* 203444 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT32rm),
72157 /* 203447 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72158 /* 203449 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72159 /* 203453 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72160 /* 203456 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72161 /* 203461 */ GIR_RootConstrainSelectedInstOperands,
72162 /* 203462 */ // GIR_Coverage, 73,
72163 /* 203462 */ GIR_EraseRootFromParent_Done,
72164 /* 203463 */ // Label 4667: @203463
72165 /* 203463 */ GIM_Try, /*On fail goto*//*Label 4668*/ GIMT_Encode4(203488), // Rule ID 72 //
72166 /* 203468 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
72167 /* 203471 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72168 /* 203475 */ // (ctlz:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (LZCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
72169 /* 203475 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT32rr),
72170 /* 203480 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
72171 /* 203486 */ GIR_RootConstrainSelectedInstOperands,
72172 /* 203487 */ // GIR_Coverage, 72,
72173 /* 203487 */ GIR_Done,
72174 /* 203488 */ // Label 4668: @203488
72175 /* 203488 */ GIM_Reject,
72176 /* 203489 */ // Label 4666: @203489
72177 /* 203489 */ GIM_Reject,
72178 /* 203490 */ // Label 4655: @203490
72179 /* 203490 */ GIM_Try, /*On fail goto*//*Label 4669*/ GIMT_Encode4(203583),
72180 /* 203495 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
72181 /* 203498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72182 /* 203502 */ GIM_Try, /*On fail goto*//*Label 4670*/ GIMT_Encode4(203557), // Rule ID 75 //
72183 /* 203507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
72184 /* 203510 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72185 /* 203514 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72186 /* 203518 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72187 /* 203521 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72188 /* 203525 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72189 /* 203529 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72190 /* 203531 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72191 /* 203538 */ // (ctlz:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (LZCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72192 /* 203538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::LZCNT64rm),
72193 /* 203541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72194 /* 203543 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72195 /* 203547 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72196 /* 203550 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72197 /* 203555 */ GIR_RootConstrainSelectedInstOperands,
72198 /* 203556 */ // GIR_Coverage, 75,
72199 /* 203556 */ GIR_EraseRootFromParent_Done,
72200 /* 203557 */ // Label 4670: @203557
72201 /* 203557 */ GIM_Try, /*On fail goto*//*Label 4671*/ GIMT_Encode4(203582), // Rule ID 74 //
72202 /* 203562 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasLZCNT),
72203 /* 203565 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72204 /* 203569 */ // (ctlz:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (LZCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
72205 /* 203569 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::LZCNT64rr),
72206 /* 203574 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
72207 /* 203580 */ GIR_RootConstrainSelectedInstOperands,
72208 /* 203581 */ // GIR_Coverage, 74,
72209 /* 203581 */ GIR_Done,
72210 /* 203582 */ // Label 4671: @203582
72211 /* 203582 */ GIM_Reject,
72212 /* 203583 */ // Label 4669: @203583
72213 /* 203583 */ GIM_Reject,
72214 /* 203584 */ // Label 4656: @203584
72215 /* 203584 */ GIM_Try, /*On fail goto*//*Label 4672*/ GIMT_Encode4(203779),
72216 /* 203589 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
72217 /* 203592 */ GIM_Try, /*On fail goto*//*Label 4673*/ GIMT_Encode4(203648), // Rule ID 13364 //
72218 /* 203597 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72219 /* 203600 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72220 /* 203604 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72221 /* 203608 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72222 /* 203612 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72223 /* 203615 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72224 /* 203619 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72225 /* 203623 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72226 /* 203625 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72227 /* 203632 */ // (ctlz:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
72228 /* 203632 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ128rm),
72229 /* 203635 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72230 /* 203637 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72231 /* 203641 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72232 /* 203646 */ GIR_RootConstrainSelectedInstOperands,
72233 /* 203647 */ // GIR_Coverage, 13364,
72234 /* 203647 */ GIR_EraseRootFromParent_Done,
72235 /* 203648 */ // Label 4673: @203648
72236 /* 203648 */ GIM_Try, /*On fail goto*//*Label 4674*/ GIMT_Encode4(203671), // Rule ID 13361 //
72237 /* 203653 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72238 /* 203656 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72239 /* 203660 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72240 /* 203664 */ // (ctlz:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPLZCNTDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
72241 /* 203664 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ128rr),
72242 /* 203669 */ GIR_RootConstrainSelectedInstOperands,
72243 /* 203670 */ // GIR_Coverage, 13361,
72244 /* 203670 */ GIR_Done,
72245 /* 203671 */ // Label 4674: @203671
72246 /* 203671 */ GIM_Try, /*On fail goto*//*Label 4675*/ GIMT_Encode4(203778), // Rule ID 21815 //
72247 /* 203676 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_NoVLX),
72248 /* 203679 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72249 /* 203683 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72250 /* 203687 */ // (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] })
72251 /* 203687 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
72252 /* 203690 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72253 /* 203694 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72254 /* 203699 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72255 /* 203701 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
72256 /* 203704 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72257 /* 203708 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72258 /* 203713 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72259 /* 203716 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72260 /* 203720 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
72261 /* 203723 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72262 /* 203728 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72263 /* 203733 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
72264 /* 203738 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72265 /* 203741 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
72266 /* 203745 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72267 /* 203750 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72268 /* 203753 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72269 /* 203755 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72270 /* 203758 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72271 /* 203760 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
72272 /* 203767 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
72273 /* 203772 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72274 /* 203777 */ // GIR_Coverage, 21815,
72275 /* 203777 */ GIR_EraseRootFromParent_Done,
72276 /* 203778 */ // Label 4675: @203778
72277 /* 203778 */ GIM_Reject,
72278 /* 203779 */ // Label 4672: @203779
72279 /* 203779 */ GIM_Reject,
72280 /* 203780 */ // Label 4657: @203780
72281 /* 203780 */ GIM_Try, /*On fail goto*//*Label 4676*/ GIMT_Encode4(203967),
72282 /* 203785 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
72283 /* 203788 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72284 /* 203792 */ GIM_Try, /*On fail goto*//*Label 4677*/ GIMT_Encode4(203844), // Rule ID 13355 //
72285 /* 203797 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72286 /* 203800 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72287 /* 203804 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72288 /* 203808 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72289 /* 203811 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72290 /* 203815 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72291 /* 203819 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72292 /* 203821 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72293 /* 203828 */ // (ctlz:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
72294 /* 203828 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ256rm),
72295 /* 203831 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72296 /* 203833 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72297 /* 203837 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72298 /* 203842 */ GIR_RootConstrainSelectedInstOperands,
72299 /* 203843 */ // GIR_Coverage, 13355,
72300 /* 203843 */ GIR_EraseRootFromParent_Done,
72301 /* 203844 */ // Label 4677: @203844
72302 /* 203844 */ GIM_Try, /*On fail goto*//*Label 4678*/ GIMT_Encode4(203863), // Rule ID 13352 //
72303 /* 203849 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72304 /* 203852 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72305 /* 203856 */ // (ctlz:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPLZCNTDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
72306 /* 203856 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZ256rr),
72307 /* 203861 */ GIR_RootConstrainSelectedInstOperands,
72308 /* 203862 */ // GIR_Coverage, 13352,
72309 /* 203862 */ GIR_Done,
72310 /* 203863 */ // Label 4678: @203863
72311 /* 203863 */ GIM_Try, /*On fail goto*//*Label 4679*/ GIMT_Encode4(203966), // Rule ID 21814 //
72312 /* 203868 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_NoVLX),
72313 /* 203871 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72314 /* 203875 */ // (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] })
72315 /* 203875 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
72316 /* 203878 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72317 /* 203882 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72318 /* 203887 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72319 /* 203889 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
72320 /* 203892 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72321 /* 203896 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72322 /* 203901 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72323 /* 203904 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72324 /* 203908 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
72325 /* 203911 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72326 /* 203916 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72327 /* 203921 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
72328 /* 203926 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72329 /* 203929 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
72330 /* 203933 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72331 /* 203938 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72332 /* 203941 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72333 /* 203943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72334 /* 203946 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72335 /* 203948 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
72336 /* 203955 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
72337 /* 203960 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72338 /* 203965 */ // GIR_Coverage, 21814,
72339 /* 203965 */ GIR_EraseRootFromParent_Done,
72340 /* 203966 */ // Label 4679: @203966
72341 /* 203966 */ GIM_Reject,
72342 /* 203967 */ // Label 4676: @203967
72343 /* 203967 */ GIM_Reject,
72344 /* 203968 */ // Label 4658: @203968
72345 /* 203968 */ GIM_Try, /*On fail goto*//*Label 4680*/ GIMT_Encode4(204052),
72346 /* 203973 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
72347 /* 203976 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72348 /* 203980 */ GIM_Try, /*On fail goto*//*Label 4681*/ GIMT_Encode4(204032), // Rule ID 13346 //
72349 /* 203985 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI),
72350 /* 203988 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72351 /* 203992 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72352 /* 203996 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72353 /* 203999 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72354 /* 204003 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72355 /* 204007 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72356 /* 204009 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72357 /* 204016 */ // (ctlz:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
72358 /* 204016 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrm),
72359 /* 204019 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72360 /* 204021 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72361 /* 204025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72362 /* 204030 */ GIR_RootConstrainSelectedInstOperands,
72363 /* 204031 */ // GIR_Coverage, 13346,
72364 /* 204031 */ GIR_EraseRootFromParent_Done,
72365 /* 204032 */ // Label 4681: @204032
72366 /* 204032 */ GIM_Try, /*On fail goto*//*Label 4682*/ GIMT_Encode4(204051), // Rule ID 13343 //
72367 /* 204037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI),
72368 /* 204040 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72369 /* 204044 */ // (ctlz:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPLZCNTDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
72370 /* 204044 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTDZrr),
72371 /* 204049 */ GIR_RootConstrainSelectedInstOperands,
72372 /* 204050 */ // GIR_Coverage, 13343,
72373 /* 204050 */ GIR_Done,
72374 /* 204051 */ // Label 4682: @204051
72375 /* 204051 */ GIM_Reject,
72376 /* 204052 */ // Label 4680: @204052
72377 /* 204052 */ GIM_Reject,
72378 /* 204053 */ // Label 4659: @204053
72379 /* 204053 */ GIM_Try, /*On fail goto*//*Label 4683*/ GIMT_Encode4(204248),
72380 /* 204058 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
72381 /* 204061 */ GIM_Try, /*On fail goto*//*Label 4684*/ GIMT_Encode4(204117), // Rule ID 13337 //
72382 /* 204066 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72383 /* 204069 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72384 /* 204073 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72385 /* 204077 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72386 /* 204081 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72387 /* 204084 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72388 /* 204088 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72389 /* 204092 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72390 /* 204094 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72391 /* 204101 */ // (ctlz:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
72392 /* 204101 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ128rm),
72393 /* 204104 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72394 /* 204106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72395 /* 204110 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72396 /* 204115 */ GIR_RootConstrainSelectedInstOperands,
72397 /* 204116 */ // GIR_Coverage, 13337,
72398 /* 204116 */ GIR_EraseRootFromParent_Done,
72399 /* 204117 */ // Label 4684: @204117
72400 /* 204117 */ GIM_Try, /*On fail goto*//*Label 4685*/ GIMT_Encode4(204140), // Rule ID 13334 //
72401 /* 204122 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72402 /* 204125 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72403 /* 204129 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72404 /* 204133 */ // (ctlz:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPLZCNTQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
72405 /* 204133 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ128rr),
72406 /* 204138 */ GIR_RootConstrainSelectedInstOperands,
72407 /* 204139 */ // GIR_Coverage, 13334,
72408 /* 204139 */ GIR_Done,
72409 /* 204140 */ // Label 4685: @204140
72410 /* 204140 */ GIM_Try, /*On fail goto*//*Label 4686*/ GIMT_Encode4(204247), // Rule ID 21813 //
72411 /* 204145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_NoVLX),
72412 /* 204148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72413 /* 204152 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72414 /* 204156 */ // (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] })
72415 /* 204156 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
72416 /* 204159 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72417 /* 204163 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72418 /* 204168 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72419 /* 204170 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
72420 /* 204173 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72421 /* 204177 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72422 /* 204182 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72423 /* 204185 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72424 /* 204189 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
72425 /* 204192 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72426 /* 204197 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72427 /* 204202 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
72428 /* 204207 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72429 /* 204210 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
72430 /* 204214 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72431 /* 204219 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72432 /* 204222 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72433 /* 204224 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72434 /* 204227 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72435 /* 204229 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
72436 /* 204236 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
72437 /* 204241 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72438 /* 204246 */ // GIR_Coverage, 21813,
72439 /* 204246 */ GIR_EraseRootFromParent_Done,
72440 /* 204247 */ // Label 4686: @204247
72441 /* 204247 */ GIM_Reject,
72442 /* 204248 */ // Label 4683: @204248
72443 /* 204248 */ GIM_Reject,
72444 /* 204249 */ // Label 4660: @204249
72445 /* 204249 */ GIM_Try, /*On fail goto*//*Label 4687*/ GIMT_Encode4(204436),
72446 /* 204254 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
72447 /* 204257 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72448 /* 204261 */ GIM_Try, /*On fail goto*//*Label 4688*/ GIMT_Encode4(204313), // Rule ID 13328 //
72449 /* 204266 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72450 /* 204269 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72451 /* 204273 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72452 /* 204277 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72453 /* 204280 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72454 /* 204284 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72455 /* 204288 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72456 /* 204290 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72457 /* 204297 */ // (ctlz:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
72458 /* 204297 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ256rm),
72459 /* 204300 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72460 /* 204302 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72461 /* 204306 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72462 /* 204311 */ GIR_RootConstrainSelectedInstOperands,
72463 /* 204312 */ // GIR_Coverage, 13328,
72464 /* 204312 */ GIR_EraseRootFromParent_Done,
72465 /* 204313 */ // Label 4688: @204313
72466 /* 204313 */ GIM_Try, /*On fail goto*//*Label 4689*/ GIMT_Encode4(204332), // Rule ID 13325 //
72467 /* 204318 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_HasVLX),
72468 /* 204321 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72469 /* 204325 */ // (ctlz:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPLZCNTQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
72470 /* 204325 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZ256rr),
72471 /* 204330 */ GIR_RootConstrainSelectedInstOperands,
72472 /* 204331 */ // GIR_Coverage, 13325,
72473 /* 204331 */ GIR_Done,
72474 /* 204332 */ // Label 4689: @204332
72475 /* 204332 */ GIM_Try, /*On fail goto*//*Label 4690*/ GIMT_Encode4(204435), // Rule ID 21812 //
72476 /* 204337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI_NoVLX),
72477 /* 204340 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72478 /* 204344 */ // (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] })
72479 /* 204344 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
72480 /* 204347 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72481 /* 204351 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72482 /* 204356 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72483 /* 204358 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
72484 /* 204361 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72485 /* 204365 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72486 /* 204370 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72487 /* 204373 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72488 /* 204377 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
72489 /* 204380 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72490 /* 204385 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72491 /* 204390 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
72492 /* 204395 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72493 /* 204398 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
72494 /* 204402 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72495 /* 204407 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72496 /* 204410 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72497 /* 204412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72498 /* 204415 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72499 /* 204417 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
72500 /* 204424 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
72501 /* 204429 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72502 /* 204434 */ // GIR_Coverage, 21812,
72503 /* 204434 */ GIR_EraseRootFromParent_Done,
72504 /* 204435 */ // Label 4690: @204435
72505 /* 204435 */ GIM_Reject,
72506 /* 204436 */ // Label 4687: @204436
72507 /* 204436 */ GIM_Reject,
72508 /* 204437 */ // Label 4661: @204437
72509 /* 204437 */ GIM_Try, /*On fail goto*//*Label 4691*/ GIMT_Encode4(204521),
72510 /* 204442 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
72511 /* 204445 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72512 /* 204449 */ GIM_Try, /*On fail goto*//*Label 4692*/ GIMT_Encode4(204501), // Rule ID 13319 //
72513 /* 204454 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI),
72514 /* 204457 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72515 /* 204461 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72516 /* 204465 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72517 /* 204468 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72518 /* 204472 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72519 /* 204476 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72520 /* 204478 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72521 /* 204485 */ // (ctlz:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPLZCNTQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
72522 /* 204485 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrm),
72523 /* 204488 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72524 /* 204490 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72525 /* 204494 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72526 /* 204499 */ GIR_RootConstrainSelectedInstOperands,
72527 /* 204500 */ // GIR_Coverage, 13319,
72528 /* 204500 */ GIR_EraseRootFromParent_Done,
72529 /* 204501 */ // Label 4692: @204501
72530 /* 204501 */ GIM_Try, /*On fail goto*//*Label 4693*/ GIMT_Encode4(204520), // Rule ID 13316 //
72531 /* 204506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasCDI),
72532 /* 204509 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72533 /* 204513 */ // (ctlz:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPLZCNTQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
72534 /* 204513 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPLZCNTQZrr),
72535 /* 204518 */ GIR_RootConstrainSelectedInstOperands,
72536 /* 204519 */ // GIR_Coverage, 13316,
72537 /* 204519 */ GIR_Done,
72538 /* 204520 */ // Label 4693: @204520
72539 /* 204520 */ GIM_Reject,
72540 /* 204521 */ // Label 4691: @204521
72541 /* 204521 */ GIM_Reject,
72542 /* 204522 */ // Label 4662: @204522
72543 /* 204522 */ GIM_Reject,
72544 /* 204523 */ // Label 66: @204523
72545 /* 204523 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4709*/ GIMT_Encode4(206784),
72546 /* 204534 */ /*GILLT_s16*//*Label 4694*/ GIMT_Encode4(204626),
72547 /* 204538 */ /*GILLT_s32*//*Label 4695*/ GIMT_Encode4(204720),
72548 /* 204542 */ /*GILLT_s64*//*Label 4696*/ GIMT_Encode4(204814), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
72549 /* 204578 */ /*GILLT_v16s8*//*Label 4697*/ GIMT_Encode4(204908),
72550 /* 204582 */ /*GILLT_v32s8*//*Label 4698*/ GIMT_Encode4(205104),
72551 /* 204586 */ /*GILLT_v64s8*//*Label 4699*/ GIMT_Encode4(205292),
72552 /* 204590 */ /*GILLT_v8s16*//*Label 4700*/ GIMT_Encode4(205377),
72553 /* 204594 */ /*GILLT_v16s16*//*Label 4701*/ GIMT_Encode4(205573),
72554 /* 204598 */ /*GILLT_v32s16*//*Label 4702*/ GIMT_Encode4(205761),
72555 /* 204602 */ /*GILLT_v4s32*//*Label 4703*/ GIMT_Encode4(205846),
72556 /* 204606 */ /*GILLT_v8s32*//*Label 4704*/ GIMT_Encode4(206042),
72557 /* 204610 */ /*GILLT_v16s32*//*Label 4705*/ GIMT_Encode4(206230),
72558 /* 204614 */ /*GILLT_v2s64*//*Label 4706*/ GIMT_Encode4(206315),
72559 /* 204618 */ /*GILLT_v4s64*//*Label 4707*/ GIMT_Encode4(206511),
72560 /* 204622 */ /*GILLT_v8s64*//*Label 4708*/ GIMT_Encode4(206699),
72561 /* 204626 */ // Label 4694: @204626
72562 /* 204626 */ GIM_Try, /*On fail goto*//*Label 4710*/ GIMT_Encode4(204719),
72563 /* 204631 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
72564 /* 204634 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72565 /* 204638 */ GIM_Try, /*On fail goto*//*Label 4711*/ GIMT_Encode4(204693), // Rule ID 3152 //
72566 /* 204643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72567 /* 204646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72568 /* 204650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72569 /* 204654 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72570 /* 204657 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72571 /* 204661 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
72572 /* 204665 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72573 /* 204667 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72574 /* 204674 */ // (ctpop:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (POPCNT16rm:{ *:[i16] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72575 /* 204674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT16rm),
72576 /* 204677 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72577 /* 204679 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72578 /* 204683 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72579 /* 204686 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72580 /* 204691 */ GIR_RootConstrainSelectedInstOperands,
72581 /* 204692 */ // GIR_Coverage, 3152,
72582 /* 204692 */ GIR_EraseRootFromParent_Done,
72583 /* 204693 */ // Label 4711: @204693
72584 /* 204693 */ GIM_Try, /*On fail goto*//*Label 4712*/ GIMT_Encode4(204718), // Rule ID 3151 //
72585 /* 204698 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72586 /* 204701 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
72587 /* 204705 */ // (ctpop:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (POPCNT16rr:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src1)
72588 /* 204705 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT16rr),
72589 /* 204710 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
72590 /* 204716 */ GIR_RootConstrainSelectedInstOperands,
72591 /* 204717 */ // GIR_Coverage, 3151,
72592 /* 204717 */ GIR_Done,
72593 /* 204718 */ // Label 4712: @204718
72594 /* 204718 */ GIM_Reject,
72595 /* 204719 */ // Label 4710: @204719
72596 /* 204719 */ GIM_Reject,
72597 /* 204720 */ // Label 4695: @204720
72598 /* 204720 */ GIM_Try, /*On fail goto*//*Label 4713*/ GIMT_Encode4(204813),
72599 /* 204725 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
72600 /* 204728 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72601 /* 204732 */ GIM_Try, /*On fail goto*//*Label 4714*/ GIMT_Encode4(204787), // Rule ID 3154 //
72602 /* 204737 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72603 /* 204740 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72604 /* 204744 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72605 /* 204748 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72606 /* 204751 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72607 /* 204755 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
72608 /* 204759 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72609 /* 204761 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72610 /* 204768 */ // (ctpop:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (POPCNT32rm:{ *:[i32] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72611 /* 204768 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT32rm),
72612 /* 204771 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72613 /* 204773 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72614 /* 204777 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72615 /* 204780 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72616 /* 204785 */ GIR_RootConstrainSelectedInstOperands,
72617 /* 204786 */ // GIR_Coverage, 3154,
72618 /* 204786 */ GIR_EraseRootFromParent_Done,
72619 /* 204787 */ // Label 4714: @204787
72620 /* 204787 */ GIM_Try, /*On fail goto*//*Label 4715*/ GIMT_Encode4(204812), // Rule ID 3153 //
72621 /* 204792 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72622 /* 204795 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
72623 /* 204799 */ // (ctpop:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (POPCNT32rr:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src1)
72624 /* 204799 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT32rr),
72625 /* 204804 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
72626 /* 204810 */ GIR_RootConstrainSelectedInstOperands,
72627 /* 204811 */ // GIR_Coverage, 3153,
72628 /* 204811 */ GIR_Done,
72629 /* 204812 */ // Label 4715: @204812
72630 /* 204812 */ GIM_Reject,
72631 /* 204813 */ // Label 4713: @204813
72632 /* 204813 */ GIM_Reject,
72633 /* 204814 */ // Label 4696: @204814
72634 /* 204814 */ GIM_Try, /*On fail goto*//*Label 4716*/ GIMT_Encode4(204907),
72635 /* 204819 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
72636 /* 204822 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72637 /* 204826 */ GIM_Try, /*On fail goto*//*Label 4717*/ GIMT_Encode4(204881), // Rule ID 3156 //
72638 /* 204831 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72639 /* 204834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72640 /* 204838 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72641 /* 204842 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72642 /* 204845 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72643 /* 204849 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72644 /* 204853 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72645 /* 204855 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72646 /* 204862 */ // (ctpop:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (POPCNT64rm:{ *:[i64] }:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
72647 /* 204862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::POPCNT64rm),
72648 /* 204865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72649 /* 204867 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72650 /* 204871 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
72651 /* 204874 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72652 /* 204879 */ GIR_RootConstrainSelectedInstOperands,
72653 /* 204880 */ // GIR_Coverage, 3156,
72654 /* 204880 */ GIR_EraseRootFromParent_Done,
72655 /* 204881 */ // Label 4717: @204881
72656 /* 204881 */ GIM_Try, /*On fail goto*//*Label 4718*/ GIMT_Encode4(204906), // Rule ID 3155 //
72657 /* 204886 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasPOPCNT),
72658 /* 204889 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
72659 /* 204893 */ // (ctpop:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (POPCNT64rr:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src1)
72660 /* 204893 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::POPCNT64rr),
72661 /* 204898 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::EFLAGS), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
72662 /* 204904 */ GIR_RootConstrainSelectedInstOperands,
72663 /* 204905 */ // GIR_Coverage, 3155,
72664 /* 204905 */ GIR_Done,
72665 /* 204906 */ // Label 4718: @204906
72666 /* 204906 */ GIM_Reject,
72667 /* 204907 */ // Label 4716: @204907
72668 /* 204907 */ GIM_Reject,
72669 /* 204908 */ // Label 4697: @204908
72670 /* 204908 */ GIM_Try, /*On fail goto*//*Label 4719*/ GIMT_Encode4(205103),
72671 /* 204913 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s8,
72672 /* 204916 */ GIM_Try, /*On fail goto*//*Label 4720*/ GIMT_Encode4(204972), // Rule ID 14481 //
72673 /* 204921 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
72674 /* 204924 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72675 /* 204928 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72676 /* 204932 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72677 /* 204936 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72678 /* 204939 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72679 /* 204943 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72680 /* 204947 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72681 /* 204949 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72682 /* 204956 */ // (ctpop:{ *:[v16i8] } (ld:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZ128rm:{ *:[v16i8] } addr:{ *:[iPTR] }:$src1)
72683 /* 204956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ128rm),
72684 /* 204959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72685 /* 204961 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72686 /* 204965 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72687 /* 204970 */ GIR_RootConstrainSelectedInstOperands,
72688 /* 204971 */ // GIR_Coverage, 14481,
72689 /* 204971 */ GIR_EraseRootFromParent_Done,
72690 /* 204972 */ // Label 4720: @204972
72691 /* 204972 */ GIM_Try, /*On fail goto*//*Label 4721*/ GIMT_Encode4(204995), // Rule ID 14478 //
72692 /* 204977 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
72693 /* 204980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72694 /* 204984 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72695 /* 204988 */ // (ctpop:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1) => (VPOPCNTBZ128rr:{ *:[v16i8] } VR128X:{ *:[v16i8] }:$src1)
72696 /* 204988 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ128rr),
72697 /* 204993 */ GIR_RootConstrainSelectedInstOperands,
72698 /* 204994 */ // GIR_Coverage, 14478,
72699 /* 204994 */ GIR_Done,
72700 /* 204995 */ // Label 4721: @204995
72701 /* 204995 */ GIM_Try, /*On fail goto*//*Label 4722*/ GIMT_Encode4(205102), // Rule ID 22174 //
72702 /* 205000 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_NoVLX),
72703 /* 205003 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72704 /* 205007 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72705 /* 205011 */ // (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] })
72706 /* 205011 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
72707 /* 205014 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72708 /* 205018 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72709 /* 205023 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72710 /* 205025 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
72711 /* 205028 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72712 /* 205032 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72713 /* 205037 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72714 /* 205040 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72715 /* 205044 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
72716 /* 205047 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72717 /* 205052 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72718 /* 205057 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
72719 /* 205062 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72720 /* 205065 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
72721 /* 205069 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72722 /* 205074 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72723 /* 205077 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72724 /* 205079 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72725 /* 205082 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72726 /* 205084 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
72727 /* 205091 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
72728 /* 205096 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72729 /* 205101 */ // GIR_Coverage, 22174,
72730 /* 205101 */ GIR_EraseRootFromParent_Done,
72731 /* 205102 */ // Label 4722: @205102
72732 /* 205102 */ GIM_Reject,
72733 /* 205103 */ // Label 4719: @205103
72734 /* 205103 */ GIM_Reject,
72735 /* 205104 */ // Label 4698: @205104
72736 /* 205104 */ GIM_Try, /*On fail goto*//*Label 4723*/ GIMT_Encode4(205291),
72737 /* 205109 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s8,
72738 /* 205112 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72739 /* 205116 */ GIM_Try, /*On fail goto*//*Label 4724*/ GIMT_Encode4(205168), // Rule ID 14475 //
72740 /* 205121 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
72741 /* 205124 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72742 /* 205128 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72743 /* 205132 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72744 /* 205135 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72745 /* 205139 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72746 /* 205143 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72747 /* 205145 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72748 /* 205152 */ // (ctpop:{ *:[v32i8] } (ld:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZ256rm:{ *:[v32i8] } addr:{ *:[iPTR] }:$src1)
72749 /* 205152 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ256rm),
72750 /* 205155 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72751 /* 205157 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72752 /* 205161 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72753 /* 205166 */ GIR_RootConstrainSelectedInstOperands,
72754 /* 205167 */ // GIR_Coverage, 14475,
72755 /* 205167 */ GIR_EraseRootFromParent_Done,
72756 /* 205168 */ // Label 4724: @205168
72757 /* 205168 */ GIM_Try, /*On fail goto*//*Label 4725*/ GIMT_Encode4(205187), // Rule ID 14472 //
72758 /* 205173 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
72759 /* 205176 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72760 /* 205180 */ // (ctpop:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1) => (VPOPCNTBZ256rr:{ *:[v32i8] } VR256X:{ *:[v32i8] }:$src1)
72761 /* 205180 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZ256rr),
72762 /* 205185 */ GIR_RootConstrainSelectedInstOperands,
72763 /* 205186 */ // GIR_Coverage, 14472,
72764 /* 205186 */ GIR_Done,
72765 /* 205187 */ // Label 4725: @205187
72766 /* 205187 */ GIM_Try, /*On fail goto*//*Label 4726*/ GIMT_Encode4(205290), // Rule ID 22173 //
72767 /* 205192 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_NoVLX),
72768 /* 205195 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72769 /* 205199 */ // (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] })
72770 /* 205199 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v64s8,
72771 /* 205202 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72772 /* 205206 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72773 /* 205211 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72774 /* 205213 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v64s8,
72775 /* 205216 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72776 /* 205220 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72777 /* 205225 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72778 /* 205228 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72779 /* 205232 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
72780 /* 205235 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72781 /* 205240 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72782 /* 205245 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
72783 /* 205250 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72784 /* 205253 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
72785 /* 205257 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72786 /* 205262 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72787 /* 205265 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72788 /* 205267 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72789 /* 205270 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72790 /* 205272 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
72791 /* 205279 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
72792 /* 205284 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72793 /* 205289 */ // GIR_Coverage, 22173,
72794 /* 205289 */ GIR_EraseRootFromParent_Done,
72795 /* 205290 */ // Label 4726: @205290
72796 /* 205290 */ GIM_Reject,
72797 /* 205291 */ // Label 4723: @205291
72798 /* 205291 */ GIM_Reject,
72799 /* 205292 */ // Label 4699: @205292
72800 /* 205292 */ GIM_Try, /*On fail goto*//*Label 4727*/ GIMT_Encode4(205376),
72801 /* 205297 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v64s8,
72802 /* 205300 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72803 /* 205304 */ GIM_Try, /*On fail goto*//*Label 4728*/ GIMT_Encode4(205356), // Rule ID 14469 //
72804 /* 205309 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG),
72805 /* 205312 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72806 /* 205316 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72807 /* 205320 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72808 /* 205323 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72809 /* 205327 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72810 /* 205331 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72811 /* 205333 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72812 /* 205340 */ // (ctpop:{ *:[v64i8] } (ld:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTBZrm:{ *:[v64i8] } addr:{ *:[iPTR] }:$src1)
72813 /* 205340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrm),
72814 /* 205343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72815 /* 205345 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72816 /* 205349 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72817 /* 205354 */ GIR_RootConstrainSelectedInstOperands,
72818 /* 205355 */ // GIR_Coverage, 14469,
72819 /* 205355 */ GIR_EraseRootFromParent_Done,
72820 /* 205356 */ // Label 4728: @205356
72821 /* 205356 */ GIM_Try, /*On fail goto*//*Label 4729*/ GIMT_Encode4(205375), // Rule ID 14466 //
72822 /* 205361 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG),
72823 /* 205364 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72824 /* 205368 */ // (ctpop:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1) => (VPOPCNTBZrr:{ *:[v64i8] } VR512:{ *:[v64i8] }:$src1)
72825 /* 205368 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTBZrr),
72826 /* 205373 */ GIR_RootConstrainSelectedInstOperands,
72827 /* 205374 */ // GIR_Coverage, 14466,
72828 /* 205374 */ GIR_Done,
72829 /* 205375 */ // Label 4729: @205375
72830 /* 205375 */ GIM_Reject,
72831 /* 205376 */ // Label 4727: @205376
72832 /* 205376 */ GIM_Reject,
72833 /* 205377 */ // Label 4700: @205377
72834 /* 205377 */ GIM_Try, /*On fail goto*//*Label 4730*/ GIMT_Encode4(205572),
72835 /* 205382 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
72836 /* 205385 */ GIM_Try, /*On fail goto*//*Label 4731*/ GIMT_Encode4(205441), // Rule ID 14499 //
72837 /* 205390 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
72838 /* 205393 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72839 /* 205397 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72840 /* 205401 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72841 /* 205405 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72842 /* 205408 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72843 /* 205412 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72844 /* 205416 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72845 /* 205418 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72846 /* 205425 */ // (ctpop:{ *:[v8i16] } (ld:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZ128rm:{ *:[v8i16] } addr:{ *:[iPTR] }:$src1)
72847 /* 205425 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ128rm),
72848 /* 205428 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72849 /* 205430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72850 /* 205434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72851 /* 205439 */ GIR_RootConstrainSelectedInstOperands,
72852 /* 205440 */ // GIR_Coverage, 14499,
72853 /* 205440 */ GIR_EraseRootFromParent_Done,
72854 /* 205441 */ // Label 4731: @205441
72855 /* 205441 */ GIM_Try, /*On fail goto*//*Label 4732*/ GIMT_Encode4(205464), // Rule ID 14496 //
72856 /* 205446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
72857 /* 205449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72858 /* 205453 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72859 /* 205457 */ // (ctpop:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1) => (VPOPCNTWZ128rr:{ *:[v8i16] } VR128X:{ *:[v8i16] }:$src1)
72860 /* 205457 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ128rr),
72861 /* 205462 */ GIR_RootConstrainSelectedInstOperands,
72862 /* 205463 */ // GIR_Coverage, 14496,
72863 /* 205463 */ GIR_Done,
72864 /* 205464 */ // Label 4732: @205464
72865 /* 205464 */ GIM_Try, /*On fail goto*//*Label 4733*/ GIMT_Encode4(205571), // Rule ID 22176 //
72866 /* 205469 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_NoVLX),
72867 /* 205472 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
72868 /* 205476 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
72869 /* 205480 */ // (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] })
72870 /* 205480 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
72871 /* 205483 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72872 /* 205487 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72873 /* 205492 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72874 /* 205494 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
72875 /* 205497 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72876 /* 205501 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72877 /* 205506 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72878 /* 205509 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72879 /* 205513 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
72880 /* 205516 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72881 /* 205521 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72882 /* 205526 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
72883 /* 205531 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72884 /* 205534 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
72885 /* 205538 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72886 /* 205543 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72887 /* 205546 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72888 /* 205548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72889 /* 205551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72890 /* 205553 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
72891 /* 205560 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
72892 /* 205565 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72893 /* 205570 */ // GIR_Coverage, 22176,
72894 /* 205570 */ GIR_EraseRootFromParent_Done,
72895 /* 205571 */ // Label 4733: @205571
72896 /* 205571 */ GIM_Reject,
72897 /* 205572 */ // Label 4730: @205572
72898 /* 205572 */ GIM_Reject,
72899 /* 205573 */ // Label 4701: @205573
72900 /* 205573 */ GIM_Try, /*On fail goto*//*Label 4734*/ GIMT_Encode4(205760),
72901 /* 205578 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
72902 /* 205581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72903 /* 205585 */ GIM_Try, /*On fail goto*//*Label 4735*/ GIMT_Encode4(205637), // Rule ID 14493 //
72904 /* 205590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
72905 /* 205593 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72906 /* 205597 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72907 /* 205601 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72908 /* 205604 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72909 /* 205608 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72910 /* 205612 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72911 /* 205614 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72912 /* 205621 */ // (ctpop:{ *:[v16i16] } (ld:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZ256rm:{ *:[v16i16] } addr:{ *:[iPTR] }:$src1)
72913 /* 205621 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ256rm),
72914 /* 205624 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72915 /* 205626 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72916 /* 205630 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72917 /* 205635 */ GIR_RootConstrainSelectedInstOperands,
72918 /* 205636 */ // GIR_Coverage, 14493,
72919 /* 205636 */ GIR_EraseRootFromParent_Done,
72920 /* 205637 */ // Label 4735: @205637
72921 /* 205637 */ GIM_Try, /*On fail goto*//*Label 4736*/ GIMT_Encode4(205656), // Rule ID 14490 //
72922 /* 205642 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_HasVLX),
72923 /* 205645 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72924 /* 205649 */ // (ctpop:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1) => (VPOPCNTWZ256rr:{ *:[v16i16] } VR256X:{ *:[v16i16] }:$src1)
72925 /* 205649 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZ256rr),
72926 /* 205654 */ GIR_RootConstrainSelectedInstOperands,
72927 /* 205655 */ // GIR_Coverage, 14490,
72928 /* 205655 */ GIR_Done,
72929 /* 205656 */ // Label 4736: @205656
72930 /* 205656 */ GIM_Try, /*On fail goto*//*Label 4737*/ GIMT_Encode4(205759), // Rule ID 22175 //
72931 /* 205661 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG_NoVLX),
72932 /* 205664 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
72933 /* 205668 */ // (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] })
72934 /* 205668 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v32s16,
72935 /* 205671 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
72936 /* 205675 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72937 /* 205680 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
72938 /* 205682 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v32s16,
72939 /* 205685 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
72940 /* 205689 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72941 /* 205694 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
72942 /* 205697 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
72943 /* 205701 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
72944 /* 205704 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
72945 /* 205709 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72946 /* 205714 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
72947 /* 205719 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
72948 /* 205722 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
72949 /* 205726 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
72950 /* 205731 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
72951 /* 205734 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
72952 /* 205736 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
72953 /* 205739 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72954 /* 205741 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
72955 /* 205748 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
72956 /* 205753 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
72957 /* 205758 */ // GIR_Coverage, 22175,
72958 /* 205758 */ GIR_EraseRootFromParent_Done,
72959 /* 205759 */ // Label 4737: @205759
72960 /* 205759 */ GIM_Reject,
72961 /* 205760 */ // Label 4734: @205760
72962 /* 205760 */ GIM_Reject,
72963 /* 205761 */ // Label 4702: @205761
72964 /* 205761 */ GIM_Try, /*On fail goto*//*Label 4738*/ GIMT_Encode4(205845),
72965 /* 205766 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
72966 /* 205769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72967 /* 205773 */ GIM_Try, /*On fail goto*//*Label 4739*/ GIMT_Encode4(205825), // Rule ID 14487 //
72968 /* 205778 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG),
72969 /* 205781 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
72970 /* 205785 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
72971 /* 205789 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
72972 /* 205792 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
72973 /* 205796 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
72974 /* 205800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
72975 /* 205802 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
72976 /* 205809 */ // (ctpop:{ *:[v32i16] } (ld:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTWZrm:{ *:[v32i16] } addr:{ *:[iPTR] }:$src1)
72977 /* 205809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrm),
72978 /* 205812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
72979 /* 205814 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
72980 /* 205818 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
72981 /* 205823 */ GIR_RootConstrainSelectedInstOperands,
72982 /* 205824 */ // GIR_Coverage, 14487,
72983 /* 205824 */ GIR_EraseRootFromParent_Done,
72984 /* 205825 */ // Label 4739: @205825
72985 /* 205825 */ GIM_Try, /*On fail goto*//*Label 4740*/ GIMT_Encode4(205844), // Rule ID 14484 //
72986 /* 205830 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasBITALG),
72987 /* 205833 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
72988 /* 205837 */ // (ctpop:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1) => (VPOPCNTWZrr:{ *:[v32i16] } VR512:{ *:[v32i16] }:$src1)
72989 /* 205837 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTWZrr),
72990 /* 205842 */ GIR_RootConstrainSelectedInstOperands,
72991 /* 205843 */ // GIR_Coverage, 14484,
72992 /* 205843 */ GIR_Done,
72993 /* 205844 */ // Label 4740: @205844
72994 /* 205844 */ GIM_Reject,
72995 /* 205845 */ // Label 4738: @205845
72996 /* 205845 */ GIM_Reject,
72997 /* 205846 */ // Label 4703: @205846
72998 /* 205846 */ GIM_Try, /*On fail goto*//*Label 4741*/ GIMT_Encode4(206041),
72999 /* 205851 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
73000 /* 205854 */ GIM_Try, /*On fail goto*//*Label 4742*/ GIMT_Encode4(205910), // Rule ID 13472 //
73001 /* 205859 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73002 /* 205862 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73003 /* 205866 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73004 /* 205870 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73005 /* 205874 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73006 /* 205877 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73007 /* 205881 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73008 /* 205885 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73009 /* 205887 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73010 /* 205894 */ // (ctpop:{ *:[v4i32] } (ld:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZ128rm:{ *:[v4i32] } addr:{ *:[iPTR] }:$src1)
73011 /* 205894 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ128rm),
73012 /* 205897 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73013 /* 205899 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73014 /* 205903 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73015 /* 205908 */ GIR_RootConstrainSelectedInstOperands,
73016 /* 205909 */ // GIR_Coverage, 13472,
73017 /* 205909 */ GIR_EraseRootFromParent_Done,
73018 /* 205910 */ // Label 4742: @205910
73019 /* 205910 */ GIM_Try, /*On fail goto*//*Label 4743*/ GIMT_Encode4(205933), // Rule ID 13469 //
73020 /* 205915 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73021 /* 205918 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73022 /* 205922 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73023 /* 205926 */ // (ctpop:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1) => (VPOPCNTDZ128rr:{ *:[v4i32] } VR128X:{ *:[v4i32] }:$src1)
73024 /* 205926 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ128rr),
73025 /* 205931 */ GIR_RootConstrainSelectedInstOperands,
73026 /* 205932 */ // GIR_Coverage, 13469,
73027 /* 205932 */ GIR_Done,
73028 /* 205933 */ // Label 4743: @205933
73029 /* 205933 */ GIM_Try, /*On fail goto*//*Label 4744*/ GIMT_Encode4(206040), // Rule ID 21819 //
73030 /* 205938 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX),
73031 /* 205941 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73032 /* 205945 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73033 /* 205949 */ // (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] })
73034 /* 205949 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
73035 /* 205952 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73036 /* 205956 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73037 /* 205961 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73038 /* 205963 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
73039 /* 205966 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73040 /* 205970 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73041 /* 205975 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73042 /* 205978 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73043 /* 205982 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
73044 /* 205985 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73045 /* 205990 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73046 /* 205995 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
73047 /* 206000 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73048 /* 206003 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
73049 /* 206007 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73050 /* 206012 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73051 /* 206015 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73052 /* 206017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73053 /* 206020 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73054 /* 206022 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
73055 /* 206029 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
73056 /* 206034 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73057 /* 206039 */ // GIR_Coverage, 21819,
73058 /* 206039 */ GIR_EraseRootFromParent_Done,
73059 /* 206040 */ // Label 4744: @206040
73060 /* 206040 */ GIM_Reject,
73061 /* 206041 */ // Label 4741: @206041
73062 /* 206041 */ GIM_Reject,
73063 /* 206042 */ // Label 4704: @206042
73064 /* 206042 */ GIM_Try, /*On fail goto*//*Label 4745*/ GIMT_Encode4(206229),
73065 /* 206047 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
73066 /* 206050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73067 /* 206054 */ GIM_Try, /*On fail goto*//*Label 4746*/ GIMT_Encode4(206106), // Rule ID 13463 //
73068 /* 206059 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73069 /* 206062 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73070 /* 206066 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73071 /* 206070 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73072 /* 206073 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73073 /* 206077 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73074 /* 206081 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73075 /* 206083 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73076 /* 206090 */ // (ctpop:{ *:[v8i32] } (ld:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZ256rm:{ *:[v8i32] } addr:{ *:[iPTR] }:$src1)
73077 /* 206090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ256rm),
73078 /* 206093 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73079 /* 206095 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73080 /* 206099 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73081 /* 206104 */ GIR_RootConstrainSelectedInstOperands,
73082 /* 206105 */ // GIR_Coverage, 13463,
73083 /* 206105 */ GIR_EraseRootFromParent_Done,
73084 /* 206106 */ // Label 4746: @206106
73085 /* 206106 */ GIM_Try, /*On fail goto*//*Label 4747*/ GIMT_Encode4(206125), // Rule ID 13460 //
73086 /* 206111 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73087 /* 206114 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73088 /* 206118 */ // (ctpop:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1) => (VPOPCNTDZ256rr:{ *:[v8i32] } VR256X:{ *:[v8i32] }:$src1)
73089 /* 206118 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZ256rr),
73090 /* 206123 */ GIR_RootConstrainSelectedInstOperands,
73091 /* 206124 */ // GIR_Coverage, 13460,
73092 /* 206124 */ GIR_Done,
73093 /* 206125 */ // Label 4747: @206125
73094 /* 206125 */ GIM_Try, /*On fail goto*//*Label 4748*/ GIMT_Encode4(206228), // Rule ID 21818 //
73095 /* 206130 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX),
73096 /* 206133 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73097 /* 206137 */ // (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] })
73098 /* 206137 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v16s32,
73099 /* 206140 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73100 /* 206144 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73101 /* 206149 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73102 /* 206151 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v16s32,
73103 /* 206154 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73104 /* 206158 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73105 /* 206163 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73106 /* 206166 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73107 /* 206170 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
73108 /* 206173 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73109 /* 206178 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73110 /* 206183 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
73111 /* 206188 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73112 /* 206191 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
73113 /* 206195 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73114 /* 206200 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73115 /* 206203 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73116 /* 206205 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73117 /* 206208 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73118 /* 206210 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
73119 /* 206217 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
73120 /* 206222 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73121 /* 206227 */ // GIR_Coverage, 21818,
73122 /* 206227 */ GIR_EraseRootFromParent_Done,
73123 /* 206228 */ // Label 4748: @206228
73124 /* 206228 */ GIM_Reject,
73125 /* 206229 */ // Label 4745: @206229
73126 /* 206229 */ GIM_Reject,
73127 /* 206230 */ // Label 4705: @206230
73128 /* 206230 */ GIM_Try, /*On fail goto*//*Label 4749*/ GIMT_Encode4(206314),
73129 /* 206235 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
73130 /* 206238 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73131 /* 206242 */ GIM_Try, /*On fail goto*//*Label 4750*/ GIMT_Encode4(206294), // Rule ID 13454 //
73132 /* 206247 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ),
73133 /* 206250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73134 /* 206254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73135 /* 206258 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73136 /* 206261 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73137 /* 206265 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73138 /* 206269 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73139 /* 206271 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73140 /* 206278 */ // (ctpop:{ *:[v16i32] } (ld:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTDZrm:{ *:[v16i32] } addr:{ *:[iPTR] }:$src1)
73141 /* 206278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrm),
73142 /* 206281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73143 /* 206283 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73144 /* 206287 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73145 /* 206292 */ GIR_RootConstrainSelectedInstOperands,
73146 /* 206293 */ // GIR_Coverage, 13454,
73147 /* 206293 */ GIR_EraseRootFromParent_Done,
73148 /* 206294 */ // Label 4750: @206294
73149 /* 206294 */ GIM_Try, /*On fail goto*//*Label 4751*/ GIMT_Encode4(206313), // Rule ID 13451 //
73150 /* 206299 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ),
73151 /* 206302 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73152 /* 206306 */ // (ctpop:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1) => (VPOPCNTDZrr:{ *:[v16i32] } VR512:{ *:[v16i32] }:$src1)
73153 /* 206306 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTDZrr),
73154 /* 206311 */ GIR_RootConstrainSelectedInstOperands,
73155 /* 206312 */ // GIR_Coverage, 13451,
73156 /* 206312 */ GIR_Done,
73157 /* 206313 */ // Label 4751: @206313
73158 /* 206313 */ GIM_Reject,
73159 /* 206314 */ // Label 4749: @206314
73160 /* 206314 */ GIM_Reject,
73161 /* 206315 */ // Label 4706: @206315
73162 /* 206315 */ GIM_Try, /*On fail goto*//*Label 4752*/ GIMT_Encode4(206510),
73163 /* 206320 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
73164 /* 206323 */ GIM_Try, /*On fail goto*//*Label 4753*/ GIMT_Encode4(206379), // Rule ID 13445 //
73165 /* 206328 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73166 /* 206331 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73167 /* 206335 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73168 /* 206339 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73169 /* 206343 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73170 /* 206346 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73171 /* 206350 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73172 /* 206354 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73173 /* 206356 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73174 /* 206363 */ // (ctpop:{ *:[v2i64] } (ld:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZ128rm:{ *:[v2i64] } addr:{ *:[iPTR] }:$src1)
73175 /* 206363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ128rm),
73176 /* 206366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73177 /* 206368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73178 /* 206372 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73179 /* 206377 */ GIR_RootConstrainSelectedInstOperands,
73180 /* 206378 */ // GIR_Coverage, 13445,
73181 /* 206378 */ GIR_EraseRootFromParent_Done,
73182 /* 206379 */ // Label 4753: @206379
73183 /* 206379 */ GIM_Try, /*On fail goto*//*Label 4754*/ GIMT_Encode4(206402), // Rule ID 13442 //
73184 /* 206384 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73185 /* 206387 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73186 /* 206391 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73187 /* 206395 */ // (ctpop:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1) => (VPOPCNTQZ128rr:{ *:[v2i64] } VR128X:{ *:[v2i64] }:$src1)
73188 /* 206395 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ128rr),
73189 /* 206400 */ GIR_RootConstrainSelectedInstOperands,
73190 /* 206401 */ // GIR_Coverage, 13442,
73191 /* 206401 */ GIR_Done,
73192 /* 206402 */ // Label 4754: @206402
73193 /* 206402 */ GIM_Try, /*On fail goto*//*Label 4755*/ GIMT_Encode4(206509), // Rule ID 21817 //
73194 /* 206407 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX),
73195 /* 206410 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73196 /* 206414 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73197 /* 206418 */ // (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] })
73198 /* 206418 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
73199 /* 206421 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73200 /* 206425 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73201 /* 206430 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73202 /* 206432 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
73203 /* 206435 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73204 /* 206439 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73205 /* 206444 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73206 /* 206447 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73207 /* 206451 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/9,
73208 /* 206454 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73209 /* 206459 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73210 /* 206464 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR128XRegClassID),
73211 /* 206469 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73212 /* 206472 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
73213 /* 206476 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73214 /* 206481 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73215 /* 206484 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73216 /* 206486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73217 /* 206489 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73218 /* 206491 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_xmm),
73219 /* 206498 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::FR16XRegClassID),
73220 /* 206503 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73221 /* 206508 */ // GIR_Coverage, 21817,
73222 /* 206508 */ GIR_EraseRootFromParent_Done,
73223 /* 206509 */ // Label 4755: @206509
73224 /* 206509 */ GIM_Reject,
73225 /* 206510 */ // Label 4752: @206510
73226 /* 206510 */ GIM_Reject,
73227 /* 206511 */ // Label 4707: @206511
73228 /* 206511 */ GIM_Try, /*On fail goto*//*Label 4756*/ GIMT_Encode4(206698),
73229 /* 206516 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
73230 /* 206519 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73231 /* 206523 */ GIM_Try, /*On fail goto*//*Label 4757*/ GIMT_Encode4(206575), // Rule ID 13436 //
73232 /* 206528 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73233 /* 206531 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73234 /* 206535 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73235 /* 206539 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73236 /* 206542 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73237 /* 206546 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73238 /* 206550 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73239 /* 206552 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73240 /* 206559 */ // (ctpop:{ *:[v4i64] } (ld:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZ256rm:{ *:[v4i64] } addr:{ *:[iPTR] }:$src1)
73241 /* 206559 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ256rm),
73242 /* 206562 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73243 /* 206564 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73244 /* 206568 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73245 /* 206573 */ GIR_RootConstrainSelectedInstOperands,
73246 /* 206574 */ // GIR_Coverage, 13436,
73247 /* 206574 */ GIR_EraseRootFromParent_Done,
73248 /* 206575 */ // Label 4757: @206575
73249 /* 206575 */ GIM_Try, /*On fail goto*//*Label 4758*/ GIMT_Encode4(206594), // Rule ID 13433 //
73250 /* 206580 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX_HasVPOPCNTDQ),
73251 /* 206583 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73252 /* 206587 */ // (ctpop:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1) => (VPOPCNTQZ256rr:{ *:[v4i64] } VR256X:{ *:[v4i64] }:$src1)
73253 /* 206587 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZ256rr),
73254 /* 206592 */ GIR_RootConstrainSelectedInstOperands,
73255 /* 206593 */ // GIR_Coverage, 13433,
73256 /* 206593 */ GIR_Done,
73257 /* 206594 */ // Label 4758: @206594
73258 /* 206594 */ GIM_Try, /*On fail goto*//*Label 4759*/ GIMT_Encode4(206697), // Rule ID 21816 //
73259 /* 206599 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ_NoVLX),
73260 /* 206602 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73261 /* 206606 */ // (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] })
73262 /* 206606 */ GIR_MakeTempReg, /*TempRegID*/2, /*TypeID*/GILLT_v8s64,
73263 /* 206609 */ GIR_BuildMI, /*InsnID*/3, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73264 /* 206613 */ GIR_AddTempRegister, /*InsnID*/3, /*TempRegID*/2, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73265 /* 206618 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/3,
73266 /* 206620 */ GIR_MakeTempReg, /*TempRegID*/1, /*TypeID*/GILLT_v8s64,
73267 /* 206623 */ GIR_BuildMI, /*InsnID*/2, /*Opcode*/GIMT_Encode2(TargetOpcode::INSERT_SUBREG),
73268 /* 206627 */ GIR_AddTempRegister, /*InsnID*/2, /*TempRegID*/1, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73269 /* 206632 */ GIR_AddSimpleTempRegister, /*InsnID*/2, /*TempRegID*/2,
73270 /* 206635 */ GIR_Copy, /*NewInsnID*/2, /*OldInsnID*/0, /*OpIdx*/1, // src1
73271 /* 206639 */ GIR_AddImm8, /*InsnID*/2, /*Imm*/10,
73272 /* 206642 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/0, GIMT_Encode2(X86::VR512RegClassID),
73273 /* 206647 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73274 /* 206652 */ GIR_ConstrainOperandRC, /*InsnID*/2, /*Op*/2, GIMT_Encode2(X86::VR256XRegClassID),
73275 /* 206657 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_v64s8,
73276 /* 206660 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
73277 /* 206664 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73278 /* 206669 */ GIR_AddSimpleTempRegister, /*InsnID*/1, /*TempRegID*/1,
73279 /* 206672 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73280 /* 206674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
73281 /* 206677 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73282 /* 206679 */ GIR_AddTempSubRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(0), GIMT_Encode2(X86::sub_ymm),
73283 /* 206686 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/0, GIMT_Encode2(X86::VR256XRegClassID),
73284 /* 206691 */ GIR_ConstrainOperandRC, /*InsnID*/0, /*Op*/1, GIMT_Encode2(X86::VR512RegClassID),
73285 /* 206696 */ // GIR_Coverage, 21816,
73286 /* 206696 */ GIR_EraseRootFromParent_Done,
73287 /* 206697 */ // Label 4759: @206697
73288 /* 206697 */ GIM_Reject,
73289 /* 206698 */ // Label 4756: @206698
73290 /* 206698 */ GIM_Reject,
73291 /* 206699 */ // Label 4708: @206699
73292 /* 206699 */ GIM_Try, /*On fail goto*//*Label 4760*/ GIMT_Encode4(206783),
73293 /* 206704 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
73294 /* 206707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73295 /* 206711 */ GIM_Try, /*On fail goto*//*Label 4761*/ GIMT_Encode4(206763), // Rule ID 13427 //
73296 /* 206716 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ),
73297 /* 206719 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73298 /* 206723 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73299 /* 206727 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73300 /* 206730 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73301 /* 206734 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73302 /* 206738 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73303 /* 206740 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73304 /* 206747 */ // (ctpop:{ *:[v8i64] } (ld:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VPOPCNTQZrm:{ *:[v8i64] } addr:{ *:[iPTR] }:$src1)
73305 /* 206747 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrm),
73306 /* 206750 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73307 /* 206752 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73308 /* 206756 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73309 /* 206761 */ GIR_RootConstrainSelectedInstOperands,
73310 /* 206762 */ // GIR_Coverage, 13427,
73311 /* 206762 */ GIR_EraseRootFromParent_Done,
73312 /* 206763 */ // Label 4761: @206763
73313 /* 206763 */ GIM_Try, /*On fail goto*//*Label 4762*/ GIMT_Encode4(206782), // Rule ID 13424 //
73314 /* 206768 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVPOPCNTDQ),
73315 /* 206771 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73316 /* 206775 */ // (ctpop:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1) => (VPOPCNTQZrr:{ *:[v8i64] } VR512:{ *:[v8i64] }:$src1)
73317 /* 206775 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VPOPCNTQZrr),
73318 /* 206780 */ GIR_RootConstrainSelectedInstOperands,
73319 /* 206781 */ // GIR_Coverage, 13424,
73320 /* 206781 */ GIR_Done,
73321 /* 206782 */ // Label 4762: @206782
73322 /* 206782 */ GIM_Reject,
73323 /* 206783 */ // Label 4760: @206783
73324 /* 206783 */ GIM_Reject,
73325 /* 206784 */ // Label 4709: @206784
73326 /* 206784 */ GIM_Reject,
73327 /* 206785 */ // Label 67: @206785
73328 /* 206785 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(5), /*)*//*default:*//*Label 4766*/ GIMT_Encode4(207284),
73329 /* 206796 */ /*GILLT_s16*//*Label 4763*/ GIMT_Encode4(206808),
73330 /* 206800 */ /*GILLT_s32*//*Label 4764*/ GIMT_Encode4(206972),
73331 /* 206804 */ /*GILLT_s64*//*Label 4765*/ GIMT_Encode4(207128),
73332 /* 206808 */ // Label 4763: @206808
73333 /* 206808 */ GIM_Try, /*On fail goto*//*Label 4767*/ GIMT_Encode4(206971),
73334 /* 206813 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
73335 /* 206816 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
73336 /* 206820 */ GIM_Try, /*On fail goto*//*Label 4768*/ GIMT_Encode4(206872), // Rule ID 49 //
73337 /* 206825 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
73338 /* 206828 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73339 /* 206832 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73340 /* 206836 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73341 /* 206839 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73342 /* 206843 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
73343 /* 206847 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73344 /* 206849 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73345 /* 206856 */ // (bswap:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (MOVBE16rm:{ *:[i16] } addr:{ *:[iPTR] }:$src1)
73346 /* 206856 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16rm),
73347 /* 206859 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73348 /* 206861 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73349 /* 206865 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73350 /* 206870 */ GIR_RootConstrainSelectedInstOperands,
73351 /* 206871 */ // GIR_Coverage, 49,
73352 /* 206871 */ GIR_EraseRootFromParent_Done,
73353 /* 206872 */ // Label 4768: @206872
73354 /* 206872 */ GIM_Try, /*On fail goto*//*Label 4769*/ GIMT_Encode4(206924), // Rule ID 55 //
73355 /* 206877 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
73356 /* 206880 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73357 /* 206884 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73358 /* 206888 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73359 /* 206891 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73360 /* 206895 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi16),
73361 /* 206899 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73362 /* 206901 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73363 /* 206908 */ // (bswap:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>) => (MOVBE16rm_EVEX:{ *:[i16] } addr:{ *:[iPTR] }:$src1)
73364 /* 206908 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE16rm_EVEX),
73365 /* 206911 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73366 /* 206913 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73367 /* 206917 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73368 /* 206922 */ GIR_RootConstrainSelectedInstOperands,
73369 /* 206923 */ // GIR_Coverage, 55,
73370 /* 206923 */ GIR_EraseRootFromParent_Done,
73371 /* 206924 */ // Label 4769: @206924
73372 /* 206924 */ GIM_Try, /*On fail goto*//*Label 4770*/ GIMT_Encode4(206943), // Rule ID 61 //
73373 /* 206929 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode),
73374 /* 206932 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
73375 /* 206936 */ // (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src1) => (MOVBE16rr:{ *:[i16] } GR16:{ *:[i16] }:$src1)
73376 /* 206936 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE16rr),
73377 /* 206941 */ GIR_RootConstrainSelectedInstOperands,
73378 /* 206942 */ // GIR_Coverage, 61,
73379 /* 206942 */ GIR_Done,
73380 /* 206943 */ // Label 4770: @206943
73381 /* 206943 */ GIM_Try, /*On fail goto*//*Label 4771*/ GIMT_Encode4(206970), // Rule ID 23046 //
73382 /* 206948 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE),
73383 /* 206951 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR16RegClassID),
73384 /* 206955 */ // (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src) => (ROL16ri:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src, 8:{ *:[i8] })
73385 /* 206955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ROL16ri),
73386 /* 206958 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73387 /* 206960 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73388 /* 206962 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/8,
73389 /* 206965 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
73390 /* 206968 */ GIR_RootConstrainSelectedInstOperands,
73391 /* 206969 */ // GIR_Coverage, 23046,
73392 /* 206969 */ GIR_EraseRootFromParent_Done,
73393 /* 206970 */ // Label 4771: @206970
73394 /* 206970 */ GIM_Reject,
73395 /* 206971 */ // Label 4767: @206971
73396 /* 206971 */ GIM_Reject,
73397 /* 206972 */ // Label 4764: @206972
73398 /* 206972 */ GIM_Try, /*On fail goto*//*Label 4772*/ GIMT_Encode4(207127),
73399 /* 206977 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
73400 /* 206980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
73401 /* 206984 */ GIM_Try, /*On fail goto*//*Label 4773*/ GIMT_Encode4(207036), // Rule ID 51 //
73402 /* 206989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
73403 /* 206992 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73404 /* 206996 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73405 /* 207000 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73406 /* 207003 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73407 /* 207007 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
73408 /* 207011 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73409 /* 207013 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73410 /* 207020 */ // (bswap:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (MOVBE32rm:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
73411 /* 207020 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32rm),
73412 /* 207023 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73413 /* 207025 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73414 /* 207029 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73415 /* 207034 */ GIR_RootConstrainSelectedInstOperands,
73416 /* 207035 */ // GIR_Coverage, 51,
73417 /* 207035 */ GIR_EraseRootFromParent_Done,
73418 /* 207036 */ // Label 4773: @207036
73419 /* 207036 */ GIM_Try, /*On fail goto*//*Label 4774*/ GIMT_Encode4(207088), // Rule ID 57 //
73420 /* 207041 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
73421 /* 207044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73422 /* 207048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73423 /* 207052 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73424 /* 207055 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73425 /* 207059 */ GIM_CheckCxxInsnPredicate, /*MI*/1, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_loadi32),
73426 /* 207063 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73427 /* 207065 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73428 /* 207072 */ // (bswap:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>) => (MOVBE32rm_EVEX:{ *:[i32] } addr:{ *:[iPTR] }:$src1)
73429 /* 207072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE32rm_EVEX),
73430 /* 207075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73431 /* 207077 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73432 /* 207081 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73433 /* 207086 */ GIR_RootConstrainSelectedInstOperands,
73434 /* 207087 */ // GIR_Coverage, 57,
73435 /* 207087 */ GIR_EraseRootFromParent_Done,
73436 /* 207088 */ // Label 4774: @207088
73437 /* 207088 */ GIM_Try, /*On fail goto*//*Label 4775*/ GIMT_Encode4(207107), // Rule ID 5 //
73438 /* 207093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_Or_NoMOVBE),
73439 /* 207096 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
73440 /* 207100 */ // (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src) => (BSWAP32r:{ *:[i32] } GR32:{ *:[i32] }:$src)
73441 /* 207100 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::BSWAP32r),
73442 /* 207105 */ GIR_RootConstrainSelectedInstOperands,
73443 /* 207106 */ // GIR_Coverage, 5,
73444 /* 207106 */ GIR_Done,
73445 /* 207107 */ // Label 4775: @207107
73446 /* 207107 */ GIM_Try, /*On fail goto*//*Label 4776*/ GIMT_Encode4(207126), // Rule ID 62 //
73447 /* 207112 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode),
73448 /* 207115 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR32RegClassID),
73449 /* 207119 */ // (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src1) => (MOVBE32rr:{ *:[i32] } GR32:{ *:[i32] }:$src1)
73450 /* 207119 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE32rr),
73451 /* 207124 */ GIR_RootConstrainSelectedInstOperands,
73452 /* 207125 */ // GIR_Coverage, 62,
73453 /* 207125 */ GIR_Done,
73454 /* 207126 */ // Label 4776: @207126
73455 /* 207126 */ GIM_Reject,
73456 /* 207127 */ // Label 4772: @207127
73457 /* 207127 */ GIM_Reject,
73458 /* 207128 */ // Label 4765: @207128
73459 /* 207128 */ GIM_Try, /*On fail goto*//*Label 4777*/ GIMT_Encode4(207283),
73460 /* 207133 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
73461 /* 207136 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
73462 /* 207140 */ GIM_Try, /*On fail goto*//*Label 4778*/ GIMT_Encode4(207192), // Rule ID 53 //
73463 /* 207145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_NoEGPR),
73464 /* 207148 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73465 /* 207152 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73466 /* 207156 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73467 /* 207159 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73468 /* 207163 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73469 /* 207167 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73470 /* 207169 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73471 /* 207176 */ // (bswap:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MOVBE64rm:{ *:[i64] } addr:{ *:[iPTR] }:$src1)
73472 /* 207176 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64rm),
73473 /* 207179 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73474 /* 207181 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73475 /* 207185 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73476 /* 207190 */ GIR_RootConstrainSelectedInstOperands,
73477 /* 207191 */ // GIR_Coverage, 53,
73478 /* 207191 */ GIR_EraseRootFromParent_Done,
73479 /* 207192 */ // Label 4778: @207192
73480 /* 207192 */ GIM_Try, /*On fail goto*//*Label 4779*/ GIMT_Encode4(207244), // Rule ID 59 //
73481 /* 207197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasEGPR_HasMOVBE_In64BitMode),
73482 /* 207200 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73483 /* 207204 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73484 /* 207208 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73485 /* 207211 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73486 /* 207215 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73487 /* 207219 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73488 /* 207221 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73489 /* 207228 */ // (bswap:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (MOVBE64rm_EVEX:{ *:[i64] } addr:{ *:[iPTR] }:$src1)
73490 /* 207228 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MOVBE64rm_EVEX),
73491 /* 207231 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73492 /* 207233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73493 /* 207237 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73494 /* 207242 */ GIR_RootConstrainSelectedInstOperands,
73495 /* 207243 */ // GIR_Coverage, 59,
73496 /* 207243 */ GIR_EraseRootFromParent_Done,
73497 /* 207244 */ // Label 4779: @207244
73498 /* 207244 */ GIM_Try, /*On fail goto*//*Label 4780*/ GIMT_Encode4(207263), // Rule ID 6 //
73499 /* 207249 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NoNDD_Or_NoMOVBE),
73500 /* 207252 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
73501 /* 207256 */ // (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src) => (BSWAP64r:{ *:[i64] } GR64:{ *:[i64] }:$src)
73502 /* 207256 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::BSWAP64r),
73503 /* 207261 */ GIR_RootConstrainSelectedInstOperands,
73504 /* 207262 */ // GIR_Coverage, 6,
73505 /* 207262 */ GIR_Done,
73506 /* 207263 */ // Label 4780: @207263
73507 /* 207263 */ GIM_Try, /*On fail goto*//*Label 4781*/ GIMT_Encode4(207282), // Rule ID 63 //
73508 /* 207268 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasMOVBE_HasNDD_In64BitMode),
73509 /* 207271 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::GR64RegClassID),
73510 /* 207275 */ // (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src1) => (MOVBE64rr:{ *:[i64] } GR64:{ *:[i64] }:$src1)
73511 /* 207275 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MOVBE64rr),
73512 /* 207280 */ GIR_RootConstrainSelectedInstOperands,
73513 /* 207281 */ // GIR_Coverage, 63,
73514 /* 207281 */ GIR_Done,
73515 /* 207282 */ // Label 4781: @207282
73516 /* 207282 */ GIM_Reject,
73517 /* 207283 */ // Label 4777: @207283
73518 /* 207283 */ GIM_Reject,
73519 /* 207284 */ // Label 4766: @207284
73520 /* 207284 */ GIM_Reject,
73521 /* 207285 */ // Label 68: @207285
73522 /* 207285 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4795*/ GIMT_Encode4(209461),
73523 /* 207296 */ /*GILLT_s16*//*Label 4782*/ GIMT_Encode4(207388),
73524 /* 207300 */ /*GILLT_s32*//*Label 4783*/ GIMT_Encode4(207509),
73525 /* 207304 */ /*GILLT_s64*//*Label 4784*/ GIMT_Encode4(207865),
73526 /* 207308 */ /*GILLT_s80*//*Label 4785*/ GIMT_Encode4(208221), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
73527 /* 207352 */ /*GILLT_v8s16*//*Label 4786*/ GIMT_Encode4(208258),
73528 /* 207356 */ /*GILLT_v16s16*//*Label 4787*/ GIMT_Encode4(208347),
73529 /* 207360 */ /*GILLT_v32s16*//*Label 4788*/ GIMT_Encode4(208436),
73530 /* 207364 */ /*GILLT_v4s32*//*Label 4789*/ GIMT_Encode4(208525),
73531 /* 207368 */ /*GILLT_v8s32*//*Label 4790*/ GIMT_Encode4(208728),
73532 /* 207372 */ /*GILLT_v16s32*//*Label 4791*/ GIMT_Encode4(208904),
73533 /* 207376 */ /*GILLT_v2s64*//*Label 4792*/ GIMT_Encode4(208993),
73534 /* 207380 */ /*GILLT_v4s64*//*Label 4793*/ GIMT_Encode4(209196),
73535 /* 207384 */ /*GILLT_v8s64*//*Label 4794*/ GIMT_Encode4(209372),
73536 /* 207388 */ // Label 4782: @207388
73537 /* 207388 */ GIM_Try, /*On fail goto*//*Label 4796*/ GIMT_Encode4(207508),
73538 /* 207393 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
73539 /* 207396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73540 /* 207400 */ GIM_Try, /*On fail goto*//*Label 4797*/ GIMT_Encode4(207469), // Rule ID 21408 //
73541 /* 207405 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_OptForSize),
73542 /* 207408 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73543 /* 207412 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73544 /* 207416 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73545 /* 207419 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73546 /* 207423 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73547 /* 207427 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73548 /* 207429 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73549 /* 207436 */ // (fsqrt:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSHZm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
73550 /* 207436 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
73551 /* 207439 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73552 /* 207443 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73553 /* 207448 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73554 /* 207450 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZm),
73555 /* 207453 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73556 /* 207455 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73557 /* 207458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73558 /* 207462 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73559 /* 207467 */ GIR_RootConstrainSelectedInstOperands,
73560 /* 207468 */ // GIR_Coverage, 21408,
73561 /* 207468 */ GIR_EraseRootFromParent_Done,
73562 /* 207469 */ // Label 4797: @207469
73563 /* 207469 */ GIM_Try, /*On fail goto*//*Label 4798*/ GIMT_Encode4(207507), // Rule ID 21406 //
73564 /* 207474 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
73565 /* 207477 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
73566 /* 207481 */ // (fsqrt:{ *:[f16] } FR16X:{ *:[f16] }:$src) => (VSQRTSHZr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR16X:{ *:[f16] }:$src)
73567 /* 207481 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
73568 /* 207484 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73569 /* 207488 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73570 /* 207493 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73571 /* 207495 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZr),
73572 /* 207498 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73573 /* 207500 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73574 /* 207503 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73575 /* 207505 */ GIR_RootConstrainSelectedInstOperands,
73576 /* 207506 */ // GIR_Coverage, 21406,
73577 /* 207506 */ GIR_EraseRootFromParent_Done,
73578 /* 207507 */ // Label 4798: @207507
73579 /* 207507 */ GIM_Reject,
73580 /* 207508 */ // Label 4796: @207508
73581 /* 207508 */ GIM_Reject,
73582 /* 207509 */ // Label 4783: @207509
73583 /* 207509 */ GIM_Try, /*On fail goto*//*Label 4799*/ GIMT_Encode4(207864),
73584 /* 207514 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
73585 /* 207517 */ GIM_Try, /*On fail goto*//*Label 4800*/ GIMT_Encode4(207573), // Rule ID 2425 //
73586 /* 207522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE1),
73587 /* 207525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73588 /* 207529 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73589 /* 207533 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73590 /* 207537 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73591 /* 207540 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73592 /* 207544 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73593 /* 207548 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73594 /* 207550 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73595 /* 207557 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSSm:{ *:[f32] } addr:{ *:[iPTR] }:$src1)
73596 /* 207557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSSm),
73597 /* 207560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73598 /* 207562 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73599 /* 207566 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73600 /* 207571 */ GIR_RootConstrainSelectedInstOperands,
73601 /* 207572 */ // GIR_Coverage, 2425,
73602 /* 207572 */ GIR_EraseRootFromParent_Done,
73603 /* 207573 */ // Label 4800: @207573
73604 /* 207573 */ GIM_Try, /*On fail goto*//*Label 4801*/ GIMT_Encode4(207646), // Rule ID 18243 //
73605 /* 207578 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
73606 /* 207581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73607 /* 207585 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73608 /* 207589 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73609 /* 207593 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73610 /* 207596 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73611 /* 207600 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73612 /* 207604 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73613 /* 207606 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73614 /* 207613 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
73615 /* 207613 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
73616 /* 207616 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73617 /* 207620 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73618 /* 207625 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73619 /* 207627 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSm),
73620 /* 207630 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73621 /* 207632 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73622 /* 207635 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73623 /* 207639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73624 /* 207644 */ GIR_RootConstrainSelectedInstOperands,
73625 /* 207645 */ // GIR_Coverage, 18243,
73626 /* 207645 */ GIR_EraseRootFromParent_Done,
73627 /* 207646 */ // Label 4801: @207646
73628 /* 207646 */ GIM_Try, /*On fail goto*//*Label 4802*/ GIMT_Encode4(207719), // Rule ID 21412 //
73629 /* 207651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
73630 /* 207654 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73631 /* 207658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73632 /* 207662 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73633 /* 207666 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73634 /* 207669 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73635 /* 207673 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73636 /* 207677 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73637 /* 207679 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73638 /* 207686 */ // (fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSZm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
73639 /* 207686 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
73640 /* 207689 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73641 /* 207693 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73642 /* 207698 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73643 /* 207700 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZm),
73644 /* 207703 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73645 /* 207705 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73646 /* 207708 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73647 /* 207712 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73648 /* 207717 */ GIR_RootConstrainSelectedInstOperands,
73649 /* 207718 */ // GIR_Coverage, 21412,
73650 /* 207718 */ GIR_EraseRootFromParent_Done,
73651 /* 207719 */ // Label 4802: @207719
73652 /* 207719 */ GIM_Try, /*On fail goto*//*Label 4803*/ GIMT_Encode4(207752), // Rule ID 1025 //
73653 /* 207724 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
73654 /* 207727 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73655 /* 207731 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
73656 /* 207735 */ // (fsqrt:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (SQRT_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
73657 /* 207735 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp32),
73658 /* 207740 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73659 /* 207746 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
73660 /* 207750 */ GIR_RootConstrainSelectedInstOperands,
73661 /* 207751 */ // GIR_Coverage, 1025,
73662 /* 207751 */ GIR_Done,
73663 /* 207752 */ // Label 4803: @207752
73664 /* 207752 */ GIM_Try, /*On fail goto*//*Label 4804*/ GIMT_Encode4(207779), // Rule ID 2423 //
73665 /* 207757 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
73666 /* 207760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73667 /* 207764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73668 /* 207768 */ // (fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src1) => (SQRTSSr:{ *:[f32] } FR32:{ *:[f32] }:$src1)
73669 /* 207768 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSSr),
73670 /* 207773 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73671 /* 207777 */ GIR_RootConstrainSelectedInstOperands,
73672 /* 207778 */ // GIR_Coverage, 2423,
73673 /* 207778 */ GIR_Done,
73674 /* 207779 */ // Label 4804: @207779
73675 /* 207779 */ GIM_Try, /*On fail goto*//*Label 4805*/ GIMT_Encode4(207821), // Rule ID 18241 //
73676 /* 207784 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
73677 /* 207787 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73678 /* 207791 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
73679 /* 207795 */ // (fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src) => (VSQRTSSr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32:{ *:[f32] }:$src)
73680 /* 207795 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
73681 /* 207798 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73682 /* 207802 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73683 /* 207807 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73684 /* 207809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSr),
73685 /* 207812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73686 /* 207814 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73687 /* 207817 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73688 /* 207819 */ GIR_RootConstrainSelectedInstOperands,
73689 /* 207820 */ // GIR_Coverage, 18241,
73690 /* 207820 */ GIR_EraseRootFromParent_Done,
73691 /* 207821 */ // Label 4805: @207821
73692 /* 207821 */ GIM_Try, /*On fail goto*//*Label 4806*/ GIMT_Encode4(207863), // Rule ID 21410 //
73693 /* 207826 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
73694 /* 207829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73695 /* 207833 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
73696 /* 207837 */ // (fsqrt:{ *:[f32] } FR32X:{ *:[f32] }:$src) => (VSQRTSSZr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32X:{ *:[f32] }:$src)
73697 /* 207837 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
73698 /* 207840 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73699 /* 207844 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73700 /* 207849 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73701 /* 207851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZr),
73702 /* 207854 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73703 /* 207856 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73704 /* 207859 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73705 /* 207861 */ GIR_RootConstrainSelectedInstOperands,
73706 /* 207862 */ // GIR_Coverage, 21410,
73707 /* 207862 */ GIR_EraseRootFromParent_Done,
73708 /* 207863 */ // Label 4806: @207863
73709 /* 207863 */ GIM_Reject,
73710 /* 207864 */ // Label 4799: @207864
73711 /* 207864 */ GIM_Reject,
73712 /* 207865 */ // Label 4784: @207865
73713 /* 207865 */ GIM_Try, /*On fail goto*//*Label 4807*/ GIMT_Encode4(208220),
73714 /* 207870 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
73715 /* 207873 */ GIM_Try, /*On fail goto*//*Label 4808*/ GIMT_Encode4(207929), // Rule ID 2441 //
73716 /* 207878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE2),
73717 /* 207881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73718 /* 207885 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73719 /* 207889 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73720 /* 207893 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73721 /* 207896 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73722 /* 207900 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73723 /* 207904 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73724 /* 207906 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73725 /* 207913 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSDm:{ *:[f64] } addr:{ *:[iPTR] }:$src1)
73726 /* 207913 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSDm),
73727 /* 207916 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73728 /* 207918 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
73729 /* 207922 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73730 /* 207927 */ GIR_RootConstrainSelectedInstOperands,
73731 /* 207928 */ // GIR_Coverage, 2441,
73732 /* 207928 */ GIR_EraseRootFromParent_Done,
73733 /* 207929 */ // Label 4808: @207929
73734 /* 207929 */ GIM_Try, /*On fail goto*//*Label 4809*/ GIMT_Encode4(208002), // Rule ID 18247 //
73735 /* 207934 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
73736 /* 207937 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73737 /* 207941 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73738 /* 207945 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73739 /* 207949 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73740 /* 207952 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73741 /* 207956 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73742 /* 207960 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73743 /* 207962 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73744 /* 207969 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
73745 /* 207969 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
73746 /* 207972 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73747 /* 207976 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73748 /* 207981 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73749 /* 207983 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDm),
73750 /* 207986 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73751 /* 207988 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73752 /* 207991 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73753 /* 207995 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73754 /* 208000 */ GIR_RootConstrainSelectedInstOperands,
73755 /* 208001 */ // GIR_Coverage, 18247,
73756 /* 208001 */ GIR_EraseRootFromParent_Done,
73757 /* 208002 */ // Label 4809: @208002
73758 /* 208002 */ GIM_Try, /*On fail goto*//*Label 4810*/ GIMT_Encode4(208075), // Rule ID 21416 //
73759 /* 208007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
73760 /* 208010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73761 /* 208014 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73762 /* 208018 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73763 /* 208022 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73764 /* 208025 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73765 /* 208029 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73766 /* 208033 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73767 /* 208035 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73768 /* 208042 */ // (fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDZm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
73769 /* 208042 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
73770 /* 208045 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73771 /* 208049 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73772 /* 208054 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73773 /* 208056 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZm),
73774 /* 208059 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73775 /* 208061 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73776 /* 208064 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73777 /* 208068 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73778 /* 208073 */ GIR_RootConstrainSelectedInstOperands,
73779 /* 208074 */ // GIR_Coverage, 21416,
73780 /* 208074 */ GIR_EraseRootFromParent_Done,
73781 /* 208075 */ // Label 4810: @208075
73782 /* 208075 */ GIM_Try, /*On fail goto*//*Label 4811*/ GIMT_Encode4(208108), // Rule ID 1027 //
73783 /* 208080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
73784 /* 208083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73785 /* 208087 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
73786 /* 208091 */ // (fsqrt:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (SQRT_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
73787 /* 208091 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp64),
73788 /* 208096 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73789 /* 208102 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
73790 /* 208106 */ GIR_RootConstrainSelectedInstOperands,
73791 /* 208107 */ // GIR_Coverage, 1027,
73792 /* 208107 */ GIR_Done,
73793 /* 208108 */ // Label 4811: @208108
73794 /* 208108 */ GIM_Try, /*On fail goto*//*Label 4812*/ GIMT_Encode4(208135), // Rule ID 2439 //
73795 /* 208113 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
73796 /* 208116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73797 /* 208120 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73798 /* 208124 */ // (fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src1) => (SQRTSDr:{ *:[f64] } FR64:{ *:[f64] }:$src1)
73799 /* 208124 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSDr),
73800 /* 208129 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73801 /* 208133 */ GIR_RootConstrainSelectedInstOperands,
73802 /* 208134 */ // GIR_Coverage, 2439,
73803 /* 208134 */ GIR_Done,
73804 /* 208135 */ // Label 4812: @208135
73805 /* 208135 */ GIM_Try, /*On fail goto*//*Label 4813*/ GIMT_Encode4(208177), // Rule ID 18245 //
73806 /* 208140 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
73807 /* 208143 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73808 /* 208147 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
73809 /* 208151 */ // (fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src) => (VSQRTSDr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64:{ *:[f64] }:$src)
73810 /* 208151 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
73811 /* 208154 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73812 /* 208158 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73813 /* 208163 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73814 /* 208165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDr),
73815 /* 208168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73816 /* 208170 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73817 /* 208173 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73818 /* 208175 */ GIR_RootConstrainSelectedInstOperands,
73819 /* 208176 */ // GIR_Coverage, 18245,
73820 /* 208176 */ GIR_EraseRootFromParent_Done,
73821 /* 208177 */ // Label 4813: @208177
73822 /* 208177 */ GIM_Try, /*On fail goto*//*Label 4814*/ GIMT_Encode4(208219), // Rule ID 21414 //
73823 /* 208182 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
73824 /* 208185 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73825 /* 208189 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
73826 /* 208193 */ // (fsqrt:{ *:[f64] } FR64X:{ *:[f64] }:$src) => (VSQRTSDZr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64X:{ *:[f64] }:$src)
73827 /* 208193 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
73828 /* 208196 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
73829 /* 208200 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
73830 /* 208205 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
73831 /* 208207 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZr),
73832 /* 208210 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73833 /* 208212 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
73834 /* 208215 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
73835 /* 208217 */ GIR_RootConstrainSelectedInstOperands,
73836 /* 208218 */ // GIR_Coverage, 21414,
73837 /* 208218 */ GIR_EraseRootFromParent_Done,
73838 /* 208219 */ // Label 4814: @208219
73839 /* 208219 */ GIM_Reject,
73840 /* 208220 */ // Label 4807: @208220
73841 /* 208220 */ GIM_Reject,
73842 /* 208221 */ // Label 4785: @208221
73843 /* 208221 */ GIM_Try, /*On fail goto*//*Label 4815*/ GIMT_Encode4(208257), // Rule ID 1029 //
73844 /* 208226 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
73845 /* 208229 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
73846 /* 208232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
73847 /* 208236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
73848 /* 208240 */ // (fsqrt:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (SQRT_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
73849 /* 208240 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp80),
73850 /* 208245 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
73851 /* 208251 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
73852 /* 208255 */ GIR_RootConstrainSelectedInstOperands,
73853 /* 208256 */ // GIR_Coverage, 1029,
73854 /* 208256 */ GIR_Done,
73855 /* 208257 */ // Label 4815: @208257
73856 /* 208257 */ GIM_Reject,
73857 /* 208258 */ // Label 4786: @208258
73858 /* 208258 */ GIM_Try, /*On fail goto*//*Label 4816*/ GIMT_Encode4(208346),
73859 /* 208263 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
73860 /* 208266 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73861 /* 208270 */ GIM_Try, /*On fail goto*//*Label 4817*/ GIMT_Encode4(208322), // Rule ID 11995 //
73862 /* 208275 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
73863 /* 208278 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73864 /* 208282 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73865 /* 208286 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73866 /* 208289 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73867 /* 208293 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73868 /* 208297 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73869 /* 208299 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73870 /* 208306 */ // (fsqrt:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ128m:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
73871 /* 208306 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128m),
73872 /* 208309 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73873 /* 208311 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73874 /* 208315 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73875 /* 208320 */ GIR_RootConstrainSelectedInstOperands,
73876 /* 208321 */ // GIR_Coverage, 11995,
73877 /* 208321 */ GIR_EraseRootFromParent_Done,
73878 /* 208322 */ // Label 4817: @208322
73879 /* 208322 */ GIM_Try, /*On fail goto*//*Label 4818*/ GIMT_Encode4(208345), // Rule ID 11991 //
73880 /* 208327 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
73881 /* 208330 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73882 /* 208334 */ // (fsqrt:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src) => (VSQRTPHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src)
73883 /* 208334 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128r),
73884 /* 208339 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73885 /* 208343 */ GIR_RootConstrainSelectedInstOperands,
73886 /* 208344 */ // GIR_Coverage, 11991,
73887 /* 208344 */ GIR_Done,
73888 /* 208345 */ // Label 4818: @208345
73889 /* 208345 */ GIM_Reject,
73890 /* 208346 */ // Label 4816: @208346
73891 /* 208346 */ GIM_Reject,
73892 /* 208347 */ // Label 4787: @208347
73893 /* 208347 */ GIM_Try, /*On fail goto*//*Label 4819*/ GIMT_Encode4(208435),
73894 /* 208352 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
73895 /* 208355 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73896 /* 208359 */ GIM_Try, /*On fail goto*//*Label 4820*/ GIMT_Encode4(208411), // Rule ID 12007 //
73897 /* 208364 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
73898 /* 208367 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73899 /* 208371 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73900 /* 208375 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73901 /* 208378 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73902 /* 208382 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73903 /* 208386 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73904 /* 208388 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73905 /* 208395 */ // (fsqrt:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ256m:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
73906 /* 208395 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256m),
73907 /* 208398 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73908 /* 208400 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73909 /* 208404 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73910 /* 208409 */ GIR_RootConstrainSelectedInstOperands,
73911 /* 208410 */ // GIR_Coverage, 12007,
73912 /* 208410 */ GIR_EraseRootFromParent_Done,
73913 /* 208411 */ // Label 4820: @208411
73914 /* 208411 */ GIM_Try, /*On fail goto*//*Label 4821*/ GIMT_Encode4(208434), // Rule ID 12003 //
73915 /* 208416 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
73916 /* 208419 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
73917 /* 208423 */ // (fsqrt:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src) => (VSQRTPHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src)
73918 /* 208423 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256r),
73919 /* 208428 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73920 /* 208432 */ GIR_RootConstrainSelectedInstOperands,
73921 /* 208433 */ // GIR_Coverage, 12003,
73922 /* 208433 */ GIR_Done,
73923 /* 208434 */ // Label 4821: @208434
73924 /* 208434 */ GIM_Reject,
73925 /* 208435 */ // Label 4819: @208435
73926 /* 208435 */ GIM_Reject,
73927 /* 208436 */ // Label 4788: @208436
73928 /* 208436 */ GIM_Try, /*On fail goto*//*Label 4822*/ GIMT_Encode4(208524),
73929 /* 208441 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
73930 /* 208444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73931 /* 208448 */ GIM_Try, /*On fail goto*//*Label 4823*/ GIMT_Encode4(208500), // Rule ID 11983 //
73932 /* 208453 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
73933 /* 208456 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73934 /* 208460 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73935 /* 208464 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73936 /* 208467 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73937 /* 208471 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73938 /* 208475 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73939 /* 208477 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73940 /* 208484 */ // (fsqrt:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
73941 /* 208484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZm),
73942 /* 208487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73943 /* 208489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73944 /* 208493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73945 /* 208498 */ GIR_RootConstrainSelectedInstOperands,
73946 /* 208499 */ // GIR_Coverage, 11983,
73947 /* 208499 */ GIR_EraseRootFromParent_Done,
73948 /* 208500 */ // Label 4823: @208500
73949 /* 208500 */ GIM_Try, /*On fail goto*//*Label 4824*/ GIMT_Encode4(208523), // Rule ID 11979 //
73950 /* 208505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
73951 /* 208508 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
73952 /* 208512 */ // (fsqrt:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src) => (VSQRTPHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src)
73953 /* 208512 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZr),
73954 /* 208517 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
73955 /* 208521 */ GIR_RootConstrainSelectedInstOperands,
73956 /* 208522 */ // GIR_Coverage, 11979,
73957 /* 208522 */ GIR_Done,
73958 /* 208523 */ // Label 4824: @208523
73959 /* 208523 */ GIM_Reject,
73960 /* 208524 */ // Label 4822: @208524
73961 /* 208524 */ GIM_Reject,
73962 /* 208525 */ // Label 4789: @208525
73963 /* 208525 */ GIM_Try, /*On fail goto*//*Label 4825*/ GIMT_Encode4(208727),
73964 /* 208530 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
73965 /* 208533 */ GIM_Try, /*On fail goto*//*Label 4826*/ GIMT_Encode4(208589), // Rule ID 2429 //
73966 /* 208538 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
73967 /* 208541 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
73968 /* 208545 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73969 /* 208549 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73970 /* 208553 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73971 /* 208556 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73972 /* 208560 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73973 /* 208564 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73974 /* 208566 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73975 /* 208573 */ // (fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
73976 /* 208573 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSm),
73977 /* 208576 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73978 /* 208578 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73979 /* 208582 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73980 /* 208587 */ GIR_RootConstrainSelectedInstOperands,
73981 /* 208588 */ // GIR_Coverage, 2429,
73982 /* 208588 */ GIR_EraseRootFromParent_Done,
73983 /* 208589 */ // Label 4826: @208589
73984 /* 208589 */ GIM_Try, /*On fail goto*//*Label 4827*/ GIMT_Encode4(208645), // Rule ID 12043 //
73985 /* 208594 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
73986 /* 208597 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
73987 /* 208601 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
73988 /* 208605 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
73989 /* 208609 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
73990 /* 208612 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
73991 /* 208616 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
73992 /* 208620 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
73993 /* 208622 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
73994 /* 208629 */ // (fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ128m:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
73995 /* 208629 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128m),
73996 /* 208632 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
73997 /* 208634 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
73998 /* 208638 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
73999 /* 208643 */ GIR_RootConstrainSelectedInstOperands,
74000 /* 208644 */ // GIR_Coverage, 12043,
74001 /* 208644 */ GIR_EraseRootFromParent_Done,
74002 /* 208645 */ // Label 4827: @208645
74003 /* 208645 */ GIM_Try, /*On fail goto*//*Label 4828*/ GIMT_Encode4(208672), // Rule ID 2427 //
74004 /* 208650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74005 /* 208653 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74006 /* 208657 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74007 /* 208661 */ // (fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (VSQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
74008 /* 208661 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSr),
74009 /* 208666 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74010 /* 208670 */ GIR_RootConstrainSelectedInstOperands,
74011 /* 208671 */ // GIR_Coverage, 2427,
74012 /* 208671 */ GIR_Done,
74013 /* 208672 */ // Label 4828: @208672
74014 /* 208672 */ GIM_Try, /*On fail goto*//*Label 4829*/ GIMT_Encode4(208699), // Rule ID 2435 //
74015 /* 208677 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
74016 /* 208680 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74017 /* 208684 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74018 /* 208688 */ // (fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (SQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
74019 /* 208688 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPSr),
74020 /* 208693 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74021 /* 208697 */ GIR_RootConstrainSelectedInstOperands,
74022 /* 208698 */ // GIR_Coverage, 2435,
74023 /* 208698 */ GIR_Done,
74024 /* 208699 */ // Label 4829: @208699
74025 /* 208699 */ GIM_Try, /*On fail goto*//*Label 4830*/ GIMT_Encode4(208726), // Rule ID 12039 //
74026 /* 208704 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
74027 /* 208707 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74028 /* 208711 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74029 /* 208715 */ // (fsqrt:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src) => (VSQRTPSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src)
74030 /* 208715 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128r),
74031 /* 208720 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74032 /* 208724 */ GIR_RootConstrainSelectedInstOperands,
74033 /* 208725 */ // GIR_Coverage, 12039,
74034 /* 208725 */ GIR_Done,
74035 /* 208726 */ // Label 4830: @208726
74036 /* 208726 */ GIM_Reject,
74037 /* 208727 */ // Label 4825: @208727
74038 /* 208727 */ GIM_Reject,
74039 /* 208728 */ // Label 4790: @208728
74040 /* 208728 */ GIM_Try, /*On fail goto*//*Label 4831*/ GIMT_Encode4(208903),
74041 /* 208733 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
74042 /* 208736 */ GIM_Try, /*On fail goto*//*Label 4832*/ GIMT_Encode4(208792), // Rule ID 2433 //
74043 /* 208741 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74044 /* 208744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74045 /* 208748 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74046 /* 208752 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74047 /* 208756 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74048 /* 208759 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74049 /* 208763 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74050 /* 208767 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74051 /* 208769 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74052 /* 208776 */ // (fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSYm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
74053 /* 208776 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYm),
74054 /* 208779 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74055 /* 208781 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74056 /* 208785 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74057 /* 208790 */ GIR_RootConstrainSelectedInstOperands,
74058 /* 208791 */ // GIR_Coverage, 2433,
74059 /* 208791 */ GIR_EraseRootFromParent_Done,
74060 /* 208792 */ // Label 4832: @208792
74061 /* 208792 */ GIM_Try, /*On fail goto*//*Label 4833*/ GIMT_Encode4(208848), // Rule ID 12055 //
74062 /* 208797 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
74063 /* 208800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74064 /* 208804 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74065 /* 208808 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74066 /* 208812 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74067 /* 208815 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74068 /* 208819 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74069 /* 208823 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74070 /* 208825 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74071 /* 208832 */ // (fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ256m:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
74072 /* 208832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256m),
74073 /* 208835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74074 /* 208837 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74075 /* 208841 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74076 /* 208846 */ GIR_RootConstrainSelectedInstOperands,
74077 /* 208847 */ // GIR_Coverage, 12055,
74078 /* 208847 */ GIR_EraseRootFromParent_Done,
74079 /* 208848 */ // Label 4833: @208848
74080 /* 208848 */ GIM_Try, /*On fail goto*//*Label 4834*/ GIMT_Encode4(208875), // Rule ID 2431 //
74081 /* 208853 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74082 /* 208856 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74083 /* 208860 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74084 /* 208864 */ // (fsqrt:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src) => (VSQRTPSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
74085 /* 208864 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYr),
74086 /* 208869 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74087 /* 208873 */ GIR_RootConstrainSelectedInstOperands,
74088 /* 208874 */ // GIR_Coverage, 2431,
74089 /* 208874 */ GIR_Done,
74090 /* 208875 */ // Label 4834: @208875
74091 /* 208875 */ GIM_Try, /*On fail goto*//*Label 4835*/ GIMT_Encode4(208902), // Rule ID 12051 //
74092 /* 208880 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
74093 /* 208883 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74094 /* 208887 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74095 /* 208891 */ // (fsqrt:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src) => (VSQRTPSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src)
74096 /* 208891 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256r),
74097 /* 208896 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74098 /* 208900 */ GIR_RootConstrainSelectedInstOperands,
74099 /* 208901 */ // GIR_Coverage, 12051,
74100 /* 208901 */ GIR_Done,
74101 /* 208902 */ // Label 4835: @208902
74102 /* 208902 */ GIM_Reject,
74103 /* 208903 */ // Label 4831: @208903
74104 /* 208903 */ GIM_Reject,
74105 /* 208904 */ // Label 4791: @208904
74106 /* 208904 */ GIM_Try, /*On fail goto*//*Label 4836*/ GIMT_Encode4(208992),
74107 /* 208909 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
74108 /* 208912 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74109 /* 208916 */ GIM_Try, /*On fail goto*//*Label 4837*/ GIMT_Encode4(208968), // Rule ID 12019 //
74110 /* 208921 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74111 /* 208924 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74112 /* 208928 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74113 /* 208932 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74114 /* 208935 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74115 /* 208939 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74116 /* 208943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74117 /* 208945 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74118 /* 208952 */ // (fsqrt:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
74119 /* 208952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZm),
74120 /* 208955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74121 /* 208957 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74122 /* 208961 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74123 /* 208966 */ GIR_RootConstrainSelectedInstOperands,
74124 /* 208967 */ // GIR_Coverage, 12019,
74125 /* 208967 */ GIR_EraseRootFromParent_Done,
74126 /* 208968 */ // Label 4837: @208968
74127 /* 208968 */ GIM_Try, /*On fail goto*//*Label 4838*/ GIMT_Encode4(208991), // Rule ID 12015 //
74128 /* 208973 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74129 /* 208976 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74130 /* 208980 */ // (fsqrt:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src) => (VSQRTPSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src)
74131 /* 208980 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZr),
74132 /* 208985 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74133 /* 208989 */ GIR_RootConstrainSelectedInstOperands,
74134 /* 208990 */ // GIR_Coverage, 12015,
74135 /* 208990 */ GIR_Done,
74136 /* 208991 */ // Label 4838: @208991
74137 /* 208991 */ GIM_Reject,
74138 /* 208992 */ // Label 4836: @208992
74139 /* 208992 */ GIM_Reject,
74140 /* 208993 */ // Label 4792: @208993
74141 /* 208993 */ GIM_Try, /*On fail goto*//*Label 4839*/ GIMT_Encode4(209195),
74142 /* 208998 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
74143 /* 209001 */ GIM_Try, /*On fail goto*//*Label 4840*/ GIMT_Encode4(209057), // Rule ID 2445 //
74144 /* 209006 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74145 /* 209009 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74146 /* 209013 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74147 /* 209017 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74148 /* 209021 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74149 /* 209024 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74150 /* 209028 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74151 /* 209032 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74152 /* 209034 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74153 /* 209041 */ // (fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
74154 /* 209041 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDm),
74155 /* 209044 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74156 /* 209046 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74157 /* 209050 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74158 /* 209055 */ GIR_RootConstrainSelectedInstOperands,
74159 /* 209056 */ // GIR_Coverage, 2445,
74160 /* 209056 */ GIR_EraseRootFromParent_Done,
74161 /* 209057 */ // Label 4840: @209057
74162 /* 209057 */ GIM_Try, /*On fail goto*//*Label 4841*/ GIMT_Encode4(209113), // Rule ID 12067 //
74163 /* 209062 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
74164 /* 209065 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74165 /* 209069 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74166 /* 209073 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74167 /* 209077 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74168 /* 209080 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74169 /* 209084 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74170 /* 209088 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74171 /* 209090 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74172 /* 209097 */ // (fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ128m:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
74173 /* 209097 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128m),
74174 /* 209100 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74175 /* 209102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74176 /* 209106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74177 /* 209111 */ GIR_RootConstrainSelectedInstOperands,
74178 /* 209112 */ // GIR_Coverage, 12067,
74179 /* 209112 */ GIR_EraseRootFromParent_Done,
74180 /* 209113 */ // Label 4841: @209113
74181 /* 209113 */ GIM_Try, /*On fail goto*//*Label 4842*/ GIMT_Encode4(209140), // Rule ID 2443 //
74182 /* 209118 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74183 /* 209121 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74184 /* 209125 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74185 /* 209129 */ // (fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (VSQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
74186 /* 209129 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDr),
74187 /* 209134 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74188 /* 209138 */ GIR_RootConstrainSelectedInstOperands,
74189 /* 209139 */ // GIR_Coverage, 2443,
74190 /* 209139 */ GIR_Done,
74191 /* 209140 */ // Label 4842: @209140
74192 /* 209140 */ GIM_Try, /*On fail goto*//*Label 4843*/ GIMT_Encode4(209167), // Rule ID 2451 //
74193 /* 209145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
74194 /* 209148 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74195 /* 209152 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
74196 /* 209156 */ // (fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (SQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
74197 /* 209156 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPDr),
74198 /* 209161 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74199 /* 209165 */ GIR_RootConstrainSelectedInstOperands,
74200 /* 209166 */ // GIR_Coverage, 2451,
74201 /* 209166 */ GIR_Done,
74202 /* 209167 */ // Label 4843: @209167
74203 /* 209167 */ GIM_Try, /*On fail goto*//*Label 4844*/ GIMT_Encode4(209194), // Rule ID 12063 //
74204 /* 209172 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
74205 /* 209175 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74206 /* 209179 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
74207 /* 209183 */ // (fsqrt:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src) => (VSQRTPDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src)
74208 /* 209183 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128r),
74209 /* 209188 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74210 /* 209192 */ GIR_RootConstrainSelectedInstOperands,
74211 /* 209193 */ // GIR_Coverage, 12063,
74212 /* 209193 */ GIR_Done,
74213 /* 209194 */ // Label 4844: @209194
74214 /* 209194 */ GIM_Reject,
74215 /* 209195 */ // Label 4839: @209195
74216 /* 209195 */ GIM_Reject,
74217 /* 209196 */ // Label 4793: @209196
74218 /* 209196 */ GIM_Try, /*On fail goto*//*Label 4845*/ GIMT_Encode4(209371),
74219 /* 209201 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
74220 /* 209204 */ GIM_Try, /*On fail goto*//*Label 4846*/ GIMT_Encode4(209260), // Rule ID 2449 //
74221 /* 209209 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74222 /* 209212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74223 /* 209216 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74224 /* 209220 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74225 /* 209224 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74226 /* 209227 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74227 /* 209231 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74228 /* 209235 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74229 /* 209237 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74230 /* 209244 */ // (fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDYm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
74231 /* 209244 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYm),
74232 /* 209247 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74233 /* 209249 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74234 /* 209253 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74235 /* 209258 */ GIR_RootConstrainSelectedInstOperands,
74236 /* 209259 */ // GIR_Coverage, 2449,
74237 /* 209259 */ GIR_EraseRootFromParent_Done,
74238 /* 209260 */ // Label 4846: @209260
74239 /* 209260 */ GIM_Try, /*On fail goto*//*Label 4847*/ GIMT_Encode4(209316), // Rule ID 12079 //
74240 /* 209265 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
74241 /* 209268 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74242 /* 209272 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74243 /* 209276 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74244 /* 209280 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74245 /* 209283 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74246 /* 209287 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74247 /* 209291 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74248 /* 209293 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74249 /* 209300 */ // (fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ256m:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
74250 /* 209300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256m),
74251 /* 209303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74252 /* 209305 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74253 /* 209309 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74254 /* 209314 */ GIR_RootConstrainSelectedInstOperands,
74255 /* 209315 */ // GIR_Coverage, 12079,
74256 /* 209315 */ GIR_EraseRootFromParent_Done,
74257 /* 209316 */ // Label 4847: @209316
74258 /* 209316 */ GIM_Try, /*On fail goto*//*Label 4848*/ GIMT_Encode4(209343), // Rule ID 2447 //
74259 /* 209321 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
74260 /* 209324 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74261 /* 209328 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
74262 /* 209332 */ // (fsqrt:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src) => (VSQRTPDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
74263 /* 209332 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYr),
74264 /* 209337 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74265 /* 209341 */ GIR_RootConstrainSelectedInstOperands,
74266 /* 209342 */ // GIR_Coverage, 2447,
74267 /* 209342 */ GIR_Done,
74268 /* 209343 */ // Label 4848: @209343
74269 /* 209343 */ GIM_Try, /*On fail goto*//*Label 4849*/ GIMT_Encode4(209370), // Rule ID 12075 //
74270 /* 209348 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
74271 /* 209351 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74272 /* 209355 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
74273 /* 209359 */ // (fsqrt:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src) => (VSQRTPDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src)
74274 /* 209359 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256r),
74275 /* 209364 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74276 /* 209368 */ GIR_RootConstrainSelectedInstOperands,
74277 /* 209369 */ // GIR_Coverage, 12075,
74278 /* 209369 */ GIR_Done,
74279 /* 209370 */ // Label 4849: @209370
74280 /* 209370 */ GIM_Reject,
74281 /* 209371 */ // Label 4845: @209371
74282 /* 209371 */ GIM_Reject,
74283 /* 209372 */ // Label 4794: @209372
74284 /* 209372 */ GIM_Try, /*On fail goto*//*Label 4850*/ GIMT_Encode4(209460),
74285 /* 209377 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
74286 /* 209380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74287 /* 209384 */ GIM_Try, /*On fail goto*//*Label 4851*/ GIMT_Encode4(209436), // Rule ID 12031 //
74288 /* 209389 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74289 /* 209392 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74290 /* 209396 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74291 /* 209400 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74292 /* 209403 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74293 /* 209407 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74294 /* 209411 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74295 /* 209413 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74296 /* 209420 */ // (fsqrt:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
74297 /* 209420 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZm),
74298 /* 209423 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74299 /* 209425 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
74300 /* 209429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74301 /* 209434 */ GIR_RootConstrainSelectedInstOperands,
74302 /* 209435 */ // GIR_Coverage, 12031,
74303 /* 209435 */ GIR_EraseRootFromParent_Done,
74304 /* 209436 */ // Label 4851: @209436
74305 /* 209436 */ GIM_Try, /*On fail goto*//*Label 4852*/ GIMT_Encode4(209459), // Rule ID 12027 //
74306 /* 209441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74307 /* 209444 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
74308 /* 209448 */ // (fsqrt:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src) => (VSQRTPDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src)
74309 /* 209448 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZr),
74310 /* 209453 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74311 /* 209457 */ GIR_RootConstrainSelectedInstOperands,
74312 /* 209458 */ // GIR_Coverage, 12027,
74313 /* 209458 */ GIR_Done,
74314 /* 209459 */ // Label 4852: @209459
74315 /* 209459 */ GIM_Reject,
74316 /* 209460 */ // Label 4850: @209460
74317 /* 209460 */ GIM_Reject,
74318 /* 209461 */ // Label 4795: @209461
74319 /* 209461 */ GIM_Reject,
74320 /* 209462 */ // Label 69: @209462
74321 /* 209462 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4866*/ GIMT_Encode4(214399),
74322 /* 209473 */ /*GILLT_s16*//*Label 4853*/ GIMT_Encode4(209565),
74323 /* 209477 */ /*GILLT_s32*//*Label 4854*/ GIMT_Encode4(209725),
74324 /* 209481 */ /*GILLT_s64*//*Label 4855*/ GIMT_Encode4(210630),
74325 /* 209485 */ /*GILLT_s80*//*Label 4856*/ GIMT_Encode4(211679), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
74326 /* 209529 */ /*GILLT_v8s16*//*Label 4857*/ GIMT_Encode4(212245),
74327 /* 209533 */ /*GILLT_v16s16*//*Label 4858*/ GIMT_Encode4(212405),
74328 /* 209537 */ /*GILLT_v32s16*//*Label 4859*/ GIMT_Encode4(212565),
74329 /* 209541 */ /*GILLT_v4s32*//*Label 4860*/ GIMT_Encode4(212725),
74330 /* 209545 */ /*GILLT_v8s32*//*Label 4861*/ GIMT_Encode4(213079),
74331 /* 209549 */ /*GILLT_v16s32*//*Label 4862*/ GIMT_Encode4(213402),
74332 /* 209553 */ /*GILLT_v2s64*//*Label 4863*/ GIMT_Encode4(213562),
74333 /* 209557 */ /*GILLT_v4s64*//*Label 4864*/ GIMT_Encode4(213916),
74334 /* 209561 */ /*GILLT_v8s64*//*Label 4865*/ GIMT_Encode4(214239),
74335 /* 209565 */ // Label 4853: @209565
74336 /* 209565 */ GIM_Try, /*On fail goto*//*Label 4867*/ GIMT_Encode4(209724),
74337 /* 209570 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
74338 /* 209573 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
74339 /* 209576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74340 /* 209580 */ GIM_Try, /*On fail goto*//*Label 4868*/ GIMT_Encode4(209638), // Rule ID 24307 //
74341 /* 209585 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
74342 /* 209588 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74343 /* 209592 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74344 /* 209596 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74345 /* 209599 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74346 /* 209603 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74347 /* 209607 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74348 /* 209611 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74349 /* 209613 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74350 /* 209620 */ // (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)
74351 /* 209620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
74352 /* 209623 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74353 /* 209625 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74354 /* 209627 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74355 /* 209631 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74356 /* 209636 */ GIR_RootConstrainSelectedInstOperands,
74357 /* 209637 */ // GIR_Coverage, 24307,
74358 /* 209637 */ GIR_EraseRootFromParent_Done,
74359 /* 209638 */ // Label 4868: @209638
74360 /* 209638 */ GIM_Try, /*On fail goto*//*Label 4869*/ GIMT_Encode4(209696), // Rule ID 5934 //
74361 /* 209643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
74362 /* 209646 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74363 /* 209650 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74364 /* 209654 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74365 /* 209658 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74366 /* 209661 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74367 /* 209665 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74368 /* 209669 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74369 /* 209671 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74370 /* 209678 */ // (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)
74371 /* 209678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSHZrm),
74372 /* 209681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74373 /* 209683 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74374 /* 209685 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74375 /* 209689 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74376 /* 209694 */ GIR_RootConstrainSelectedInstOperands,
74377 /* 209695 */ // GIR_Coverage, 5934,
74378 /* 209695 */ GIR_EraseRootFromParent_Done,
74379 /* 209696 */ // Label 4869: @209696
74380 /* 209696 */ GIM_Try, /*On fail goto*//*Label 4870*/ GIMT_Encode4(209723), // Rule ID 5932 //
74381 /* 209701 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
74382 /* 209704 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74383 /* 209708 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
74384 /* 209712 */ // (strict_fadd:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VADDSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
74385 /* 209712 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSHZrr),
74386 /* 209717 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74387 /* 209721 */ GIR_RootConstrainSelectedInstOperands,
74388 /* 209722 */ // GIR_Coverage, 5932,
74389 /* 209722 */ GIR_Done,
74390 /* 209723 */ // Label 4870: @209723
74391 /* 209723 */ GIM_Reject,
74392 /* 209724 */ // Label 4867: @209724
74393 /* 209724 */ GIM_Reject,
74394 /* 209725 */ // Label 4854: @209725
74395 /* 209725 */ GIM_Try, /*On fail goto*//*Label 4871*/ GIMT_Encode4(210629),
74396 /* 209730 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
74397 /* 209733 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
74398 /* 209736 */ GIM_Try, /*On fail goto*//*Label 4872*/ GIMT_Encode4(209801), // Rule ID 23304 //
74399 /* 209741 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74400 /* 209744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74401 /* 209748 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74402 /* 209752 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74403 /* 209756 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
74404 /* 209763 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74405 /* 209767 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74406 /* 209771 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74407 /* 209773 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74408 /* 209780 */ // (strict_fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74409 /* 209780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
74410 /* 209783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74411 /* 209785 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74412 /* 209787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74413 /* 209791 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74414 /* 209794 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74415 /* 209799 */ GIR_RootConstrainSelectedInstOperands,
74416 /* 209800 */ // GIR_Coverage, 23304,
74417 /* 209800 */ GIR_EraseRootFromParent_Done,
74418 /* 209801 */ // Label 4872: @209801
74419 /* 209801 */ GIM_Try, /*On fail goto*//*Label 4873*/ GIMT_Encode4(209866), // Rule ID 23306 //
74420 /* 209806 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74421 /* 209809 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74422 /* 209813 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74423 /* 209817 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74424 /* 209821 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74425 /* 209828 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74426 /* 209832 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74427 /* 209836 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74428 /* 209838 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74429 /* 209845 */ // (strict_fadd:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74430 /* 209845 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
74431 /* 209848 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74432 /* 209850 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74433 /* 209852 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74434 /* 209856 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74435 /* 209859 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74436 /* 209864 */ GIR_RootConstrainSelectedInstOperands,
74437 /* 209865 */ // GIR_Coverage, 23306,
74438 /* 209865 */ GIR_EraseRootFromParent_Done,
74439 /* 209866 */ // Label 4873: @209866
74440 /* 209866 */ GIM_Try, /*On fail goto*//*Label 4874*/ GIMT_Encode4(209931), // Rule ID 23294 //
74441 /* 209871 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74442 /* 209874 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74443 /* 209878 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74444 /* 209882 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74445 /* 209886 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74446 /* 209889 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74447 /* 209893 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74448 /* 209897 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74449 /* 209901 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74450 /* 209903 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74451 /* 209910 */ // (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)
74452 /* 209910 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
74453 /* 209913 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74454 /* 209915 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74455 /* 209917 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74456 /* 209921 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74457 /* 209924 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74458 /* 209929 */ GIR_RootConstrainSelectedInstOperands,
74459 /* 209930 */ // GIR_Coverage, 23294,
74460 /* 209930 */ GIR_EraseRootFromParent_Done,
74461 /* 209931 */ // Label 4874: @209931
74462 /* 209931 */ GIM_Try, /*On fail goto*//*Label 4875*/ GIMT_Encode4(209993), // Rule ID 23439 //
74463 /* 209936 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
74464 /* 209939 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74465 /* 209943 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74466 /* 209947 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74467 /* 209951 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74468 /* 209954 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74469 /* 209958 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74470 /* 209962 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74471 /* 209966 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74472 /* 209968 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74473 /* 209975 */ // (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)
74474 /* 209975 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
74475 /* 209978 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74476 /* 209980 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74477 /* 209982 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74478 /* 209986 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74479 /* 209991 */ GIR_RootConstrainSelectedInstOperands,
74480 /* 209992 */ // GIR_Coverage, 23439,
74481 /* 209992 */ GIR_EraseRootFromParent_Done,
74482 /* 209993 */ // Label 4875: @209993
74483 /* 209993 */ GIM_Try, /*On fail goto*//*Label 4876*/ GIMT_Encode4(210055), // Rule ID 23443 //
74484 /* 209998 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
74485 /* 210001 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74486 /* 210005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74487 /* 210009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74488 /* 210013 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74489 /* 210016 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74490 /* 210020 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74491 /* 210024 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74492 /* 210028 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74493 /* 210030 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74494 /* 210037 */ // (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)
74495 /* 210037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
74496 /* 210040 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74497 /* 210042 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74498 /* 210044 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74499 /* 210048 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74500 /* 210053 */ GIR_RootConstrainSelectedInstOperands,
74501 /* 210054 */ // GIR_Coverage, 23443,
74502 /* 210054 */ GIR_EraseRootFromParent_Done,
74503 /* 210055 */ // Label 4876: @210055
74504 /* 210055 */ GIM_Try, /*On fail goto*//*Label 4877*/ GIMT_Encode4(210117), // Rule ID 24303 //
74505 /* 210060 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74506 /* 210063 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74507 /* 210067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74508 /* 210071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74509 /* 210075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74510 /* 210078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74511 /* 210082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74512 /* 210086 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74513 /* 210090 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74514 /* 210092 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74515 /* 210099 */ // (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)
74516 /* 210099 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
74517 /* 210102 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74518 /* 210104 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74519 /* 210106 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74520 /* 210110 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74521 /* 210115 */ GIR_RootConstrainSelectedInstOperands,
74522 /* 210116 */ // GIR_Coverage, 24303,
74523 /* 210116 */ GIR_EraseRootFromParent_Done,
74524 /* 210117 */ // Label 4877: @210117
74525 /* 210117 */ GIM_Try, /*On fail goto*//*Label 4878*/ GIMT_Encode4(210182), // Rule ID 896 //
74526 /* 210122 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74527 /* 210125 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74528 /* 210129 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74529 /* 210133 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74530 /* 210137 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74531 /* 210141 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
74532 /* 210148 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74533 /* 210152 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74534 /* 210154 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74535 /* 210161 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74536 /* 210161 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m32),
74537 /* 210164 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74538 /* 210166 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74539 /* 210168 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74540 /* 210172 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74541 /* 210175 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74542 /* 210180 */ GIR_RootConstrainSelectedInstOperands,
74543 /* 210181 */ // GIR_Coverage, 896,
74544 /* 210181 */ GIR_EraseRootFromParent_Done,
74545 /* 210182 */ // Label 4878: @210182
74546 /* 210182 */ GIM_Try, /*On fail goto*//*Label 4879*/ GIMT_Encode4(210247), // Rule ID 898 //
74547 /* 210187 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74548 /* 210190 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74549 /* 210194 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74550 /* 210198 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74551 /* 210202 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74552 /* 210206 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74553 /* 210213 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74554 /* 210217 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74555 /* 210219 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74556 /* 210226 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
74557 /* 210226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m32),
74558 /* 210229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74559 /* 210231 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74560 /* 210233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74561 /* 210237 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74562 /* 210240 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74563 /* 210245 */ GIR_RootConstrainSelectedInstOperands,
74564 /* 210246 */ // GIR_Coverage, 898,
74565 /* 210246 */ GIR_EraseRootFromParent_Done,
74566 /* 210247 */ // Label 4879: @210247
74567 /* 210247 */ GIM_Try, /*On fail goto*//*Label 4880*/ GIMT_Encode4(210312), // Rule ID 886 //
74568 /* 210252 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74569 /* 210255 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74570 /* 210259 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74571 /* 210263 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74572 /* 210267 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74573 /* 210271 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74574 /* 210274 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74575 /* 210278 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74576 /* 210282 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74577 /* 210284 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74578 /* 210291 */ // (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)
74579 /* 210291 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32m),
74580 /* 210294 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74581 /* 210296 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74582 /* 210298 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74583 /* 210302 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74584 /* 210305 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74585 /* 210310 */ GIR_RootConstrainSelectedInstOperands,
74586 /* 210311 */ // GIR_Coverage, 886,
74587 /* 210311 */ GIR_EraseRootFromParent_Done,
74588 /* 210312 */ // Label 4880: @210312
74589 /* 210312 */ GIM_Try, /*On fail goto*//*Label 4881*/ GIMT_Encode4(210374), // Rule ID 2136 //
74590 /* 210317 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
74591 /* 210320 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74592 /* 210324 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74593 /* 210328 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74594 /* 210332 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74595 /* 210336 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74596 /* 210339 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74597 /* 210343 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74598 /* 210347 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74599 /* 210349 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74600 /* 210356 */ // (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)
74601 /* 210356 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSrm),
74602 /* 210359 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74603 /* 210361 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74604 /* 210363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74605 /* 210367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74606 /* 210372 */ GIR_RootConstrainSelectedInstOperands,
74607 /* 210373 */ // GIR_Coverage, 2136,
74608 /* 210373 */ GIR_EraseRootFromParent_Done,
74609 /* 210374 */ // Label 4881: @210374
74610 /* 210374 */ GIM_Try, /*On fail goto*//*Label 4882*/ GIMT_Encode4(210436), // Rule ID 2144 //
74611 /* 210379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
74612 /* 210382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74613 /* 210386 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74614 /* 210390 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74615 /* 210394 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74616 /* 210398 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74617 /* 210401 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74618 /* 210405 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74619 /* 210409 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74620 /* 210411 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74621 /* 210418 */ // (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)
74622 /* 210418 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSSrm),
74623 /* 210421 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74624 /* 210423 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74625 /* 210425 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74626 /* 210429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74627 /* 210434 */ GIR_RootConstrainSelectedInstOperands,
74628 /* 210435 */ // GIR_Coverage, 2144,
74629 /* 210435 */ GIR_EraseRootFromParent_Done,
74630 /* 210436 */ // Label 4882: @210436
74631 /* 210436 */ GIM_Try, /*On fail goto*//*Label 4883*/ GIMT_Encode4(210498), // Rule ID 5896 //
74632 /* 210441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74633 /* 210444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74634 /* 210448 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74635 /* 210452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74636 /* 210456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74637 /* 210460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74638 /* 210463 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74639 /* 210467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74640 /* 210471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74641 /* 210473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74642 /* 210480 */ // (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)
74643 /* 210480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSSZrm),
74644 /* 210483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74645 /* 210485 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74646 /* 210487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74647 /* 210491 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74648 /* 210496 */ GIR_RootConstrainSelectedInstOperands,
74649 /* 210497 */ // GIR_Coverage, 5896,
74650 /* 210497 */ GIR_EraseRootFromParent_Done,
74651 /* 210498 */ // Label 4883: @210498
74652 /* 210498 */ GIM_Try, /*On fail goto*//*Label 4884*/ GIMT_Encode4(210535), // Rule ID 862 //
74653 /* 210503 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
74654 /* 210506 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74655 /* 210510 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74656 /* 210514 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
74657 /* 210518 */ // (strict_fadd:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (ADD_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
74658 /* 210518 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp32),
74659 /* 210523 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
74660 /* 210529 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
74661 /* 210533 */ GIR_RootConstrainSelectedInstOperands,
74662 /* 210534 */ // GIR_Coverage, 862,
74663 /* 210534 */ GIR_Done,
74664 /* 210535 */ // Label 4884: @210535
74665 /* 210535 */ GIM_Try, /*On fail goto*//*Label 4885*/ GIMT_Encode4(210566), // Rule ID 2134 //
74666 /* 210540 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
74667 /* 210543 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74668 /* 210547 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74669 /* 210551 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74670 /* 210555 */ // (strict_fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
74671 /* 210555 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSrr),
74672 /* 210560 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74673 /* 210564 */ GIR_RootConstrainSelectedInstOperands,
74674 /* 210565 */ // GIR_Coverage, 2134,
74675 /* 210565 */ GIR_Done,
74676 /* 210566 */ // Label 4885: @210566
74677 /* 210566 */ GIM_Try, /*On fail goto*//*Label 4886*/ GIMT_Encode4(210597), // Rule ID 2142 //
74678 /* 210571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
74679 /* 210574 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74680 /* 210578 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74681 /* 210582 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
74682 /* 210586 */ // (strict_fadd:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (ADDSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
74683 /* 210586 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSSrr),
74684 /* 210591 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74685 /* 210595 */ GIR_RootConstrainSelectedInstOperands,
74686 /* 210596 */ // GIR_Coverage, 2142,
74687 /* 210596 */ GIR_Done,
74688 /* 210597 */ // Label 4886: @210597
74689 /* 210597 */ GIM_Try, /*On fail goto*//*Label 4887*/ GIMT_Encode4(210628), // Rule ID 5894 //
74690 /* 210602 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74691 /* 210605 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74692 /* 210609 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74693 /* 210613 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
74694 /* 210617 */ // (strict_fadd:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VADDSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
74695 /* 210617 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSSZrr),
74696 /* 210622 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
74697 /* 210626 */ GIR_RootConstrainSelectedInstOperands,
74698 /* 210627 */ // GIR_Coverage, 5894,
74699 /* 210627 */ GIR_Done,
74700 /* 210628 */ // Label 4887: @210628
74701 /* 210628 */ GIM_Reject,
74702 /* 210629 */ // Label 4871: @210629
74703 /* 210629 */ GIM_Reject,
74704 /* 210630 */ // Label 4855: @210630
74705 /* 210630 */ GIM_Try, /*On fail goto*//*Label 4888*/ GIMT_Encode4(211678),
74706 /* 210635 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
74707 /* 210638 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
74708 /* 210641 */ GIM_Try, /*On fail goto*//*Label 4889*/ GIMT_Encode4(210706), // Rule ID 23308 //
74709 /* 210646 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74710 /* 210649 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74711 /* 210653 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74712 /* 210657 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74713 /* 210661 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
74714 /* 210668 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74715 /* 210672 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74716 /* 210676 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74717 /* 210678 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74718 /* 210685 */ // (strict_fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
74719 /* 210685 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
74720 /* 210688 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74721 /* 210690 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74722 /* 210692 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74723 /* 210696 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74724 /* 210699 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74725 /* 210704 */ GIR_RootConstrainSelectedInstOperands,
74726 /* 210705 */ // GIR_Coverage, 23308,
74727 /* 210705 */ GIR_EraseRootFromParent_Done,
74728 /* 210706 */ // Label 4889: @210706
74729 /* 210706 */ GIM_Try, /*On fail goto*//*Label 4890*/ GIMT_Encode4(210771), // Rule ID 23310 //
74730 /* 210711 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74731 /* 210714 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74732 /* 210718 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74733 /* 210722 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74734 /* 210726 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74735 /* 210733 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74736 /* 210737 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74737 /* 210741 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74738 /* 210743 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74739 /* 210750 */ // (strict_fadd:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
74740 /* 210750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
74741 /* 210753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74742 /* 210755 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74743 /* 210757 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74744 /* 210761 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74745 /* 210764 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74746 /* 210769 */ GIR_RootConstrainSelectedInstOperands,
74747 /* 210770 */ // GIR_Coverage, 23310,
74748 /* 210770 */ GIR_EraseRootFromParent_Done,
74749 /* 210771 */ // Label 4890: @210771
74750 /* 210771 */ GIM_Try, /*On fail goto*//*Label 4891*/ GIMT_Encode4(210836), // Rule ID 23296 //
74751 /* 210776 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74752 /* 210779 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74753 /* 210783 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74754 /* 210787 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74755 /* 210791 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74756 /* 210794 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74757 /* 210798 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74758 /* 210802 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74759 /* 210806 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74760 /* 210808 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74761 /* 210815 */ // (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)
74762 /* 210815 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
74763 /* 210818 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74764 /* 210820 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74765 /* 210822 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74766 /* 210826 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74767 /* 210829 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74768 /* 210834 */ GIR_RootConstrainSelectedInstOperands,
74769 /* 210835 */ // GIR_Coverage, 23296,
74770 /* 210835 */ GIR_EraseRootFromParent_Done,
74771 /* 210836 */ // Label 4891: @210836
74772 /* 210836 */ GIM_Try, /*On fail goto*//*Label 4892*/ GIMT_Encode4(210908), // Rule ID 23298 //
74773 /* 210841 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74774 /* 210844 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74775 /* 210848 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74776 /* 210852 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74777 /* 210856 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74778 /* 210859 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74779 /* 210863 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74780 /* 210870 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74781 /* 210874 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74782 /* 210878 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74783 /* 210880 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74784 /* 210887 */ // (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)
74785 /* 210887 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
74786 /* 210890 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74787 /* 210892 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74788 /* 210894 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74789 /* 210898 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74790 /* 210901 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74791 /* 210906 */ GIR_RootConstrainSelectedInstOperands,
74792 /* 210907 */ // GIR_Coverage, 23298,
74793 /* 210907 */ GIR_EraseRootFromParent_Done,
74794 /* 210908 */ // Label 4892: @210908
74795 /* 210908 */ GIM_Try, /*On fail goto*//*Label 4893*/ GIMT_Encode4(210970), // Rule ID 23441 //
74796 /* 210913 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
74797 /* 210916 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74798 /* 210920 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74799 /* 210924 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74800 /* 210928 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74801 /* 210931 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74802 /* 210935 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74803 /* 210939 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74804 /* 210943 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74805 /* 210945 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74806 /* 210952 */ // (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)
74807 /* 210952 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
74808 /* 210955 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74809 /* 210957 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74810 /* 210959 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74811 /* 210963 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74812 /* 210968 */ GIR_RootConstrainSelectedInstOperands,
74813 /* 210969 */ // GIR_Coverage, 23441,
74814 /* 210969 */ GIR_EraseRootFromParent_Done,
74815 /* 210970 */ // Label 4893: @210970
74816 /* 210970 */ GIM_Try, /*On fail goto*//*Label 4894*/ GIMT_Encode4(211032), // Rule ID 23445 //
74817 /* 210975 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
74818 /* 210978 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74819 /* 210982 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74820 /* 210986 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74821 /* 210990 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74822 /* 210993 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74823 /* 210997 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74824 /* 211001 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74825 /* 211005 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74826 /* 211007 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74827 /* 211014 */ // (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)
74828 /* 211014 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
74829 /* 211017 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74830 /* 211019 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74831 /* 211021 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74832 /* 211025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74833 /* 211030 */ GIR_RootConstrainSelectedInstOperands,
74834 /* 211031 */ // GIR_Coverage, 23445,
74835 /* 211031 */ GIR_EraseRootFromParent_Done,
74836 /* 211032 */ // Label 4894: @211032
74837 /* 211032 */ GIM_Try, /*On fail goto*//*Label 4895*/ GIMT_Encode4(211094), // Rule ID 24305 //
74838 /* 211037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74839 /* 211040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
74840 /* 211044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
74841 /* 211048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74842 /* 211052 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74843 /* 211055 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74844 /* 211059 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74845 /* 211063 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
74846 /* 211067 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74847 /* 211069 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74848 /* 211076 */ // (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)
74849 /* 211076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
74850 /* 211079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74851 /* 211081 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
74852 /* 211083 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74853 /* 211087 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74854 /* 211092 */ GIR_RootConstrainSelectedInstOperands,
74855 /* 211093 */ // GIR_Coverage, 24305,
74856 /* 211093 */ GIR_EraseRootFromParent_Done,
74857 /* 211094 */ // Label 4895: @211094
74858 /* 211094 */ GIM_Try, /*On fail goto*//*Label 4896*/ GIMT_Encode4(211159), // Rule ID 900 //
74859 /* 211099 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74860 /* 211102 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74861 /* 211106 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74862 /* 211110 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74863 /* 211114 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74864 /* 211118 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
74865 /* 211125 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74866 /* 211129 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74867 /* 211131 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74868 /* 211138 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
74869 /* 211138 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m64),
74870 /* 211141 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74871 /* 211143 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74872 /* 211145 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74873 /* 211149 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74874 /* 211152 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74875 /* 211157 */ GIR_RootConstrainSelectedInstOperands,
74876 /* 211158 */ // GIR_Coverage, 900,
74877 /* 211158 */ GIR_EraseRootFromParent_Done,
74878 /* 211159 */ // Label 4896: @211159
74879 /* 211159 */ GIM_Try, /*On fail goto*//*Label 4897*/ GIMT_Encode4(211224), // Rule ID 902 //
74880 /* 211164 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74881 /* 211167 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74882 /* 211171 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74883 /* 211175 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74884 /* 211179 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
74885 /* 211183 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74886 /* 211190 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74887 /* 211194 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74888 /* 211196 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74889 /* 211203 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
74890 /* 211203 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m64),
74891 /* 211206 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74892 /* 211208 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74893 /* 211210 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74894 /* 211214 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74895 /* 211217 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74896 /* 211222 */ GIR_RootConstrainSelectedInstOperands,
74897 /* 211223 */ // GIR_Coverage, 902,
74898 /* 211223 */ GIR_EraseRootFromParent_Done,
74899 /* 211224 */ // Label 4897: @211224
74900 /* 211224 */ GIM_Try, /*On fail goto*//*Label 4898*/ GIMT_Encode4(211289), // Rule ID 888 //
74901 /* 211229 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74902 /* 211232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74903 /* 211236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74904 /* 211240 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74905 /* 211244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74906 /* 211248 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74907 /* 211251 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74908 /* 211255 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74909 /* 211259 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74910 /* 211261 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74911 /* 211268 */ // (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)
74912 /* 211268 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m),
74913 /* 211271 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74914 /* 211273 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74915 /* 211275 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74916 /* 211279 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74917 /* 211282 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74918 /* 211287 */ GIR_RootConstrainSelectedInstOperands,
74919 /* 211288 */ // GIR_Coverage, 888,
74920 /* 211288 */ GIR_EraseRootFromParent_Done,
74921 /* 211289 */ // Label 4898: @211289
74922 /* 211289 */ GIM_Try, /*On fail goto*//*Label 4899*/ GIMT_Encode4(211361), // Rule ID 890 //
74923 /* 211294 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
74924 /* 211297 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74925 /* 211301 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
74926 /* 211305 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74927 /* 211309 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74928 /* 211313 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74929 /* 211316 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74930 /* 211320 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
74931 /* 211327 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74932 /* 211331 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74933 /* 211333 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74934 /* 211340 */ // (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)
74935 /* 211340 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64m32),
74936 /* 211343 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74937 /* 211345 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74938 /* 211347 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74939 /* 211351 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
74940 /* 211354 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74941 /* 211359 */ GIR_RootConstrainSelectedInstOperands,
74942 /* 211360 */ // GIR_Coverage, 890,
74943 /* 211360 */ GIR_EraseRootFromParent_Done,
74944 /* 211361 */ // Label 4899: @211361
74945 /* 211361 */ GIM_Try, /*On fail goto*//*Label 4900*/ GIMT_Encode4(211423), // Rule ID 2140 //
74946 /* 211366 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
74947 /* 211369 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74948 /* 211373 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74949 /* 211377 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74950 /* 211381 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74951 /* 211385 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74952 /* 211388 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74953 /* 211392 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74954 /* 211396 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74955 /* 211398 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74956 /* 211405 */ // (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)
74957 /* 211405 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDrm),
74958 /* 211408 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74959 /* 211410 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74960 /* 211412 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74961 /* 211416 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74962 /* 211421 */ GIR_RootConstrainSelectedInstOperands,
74963 /* 211422 */ // GIR_Coverage, 2140,
74964 /* 211422 */ GIR_EraseRootFromParent_Done,
74965 /* 211423 */ // Label 4900: @211423
74966 /* 211423 */ GIM_Try, /*On fail goto*//*Label 4901*/ GIMT_Encode4(211485), // Rule ID 2148 //
74967 /* 211428 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
74968 /* 211431 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74969 /* 211435 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
74970 /* 211439 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74971 /* 211443 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74972 /* 211447 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74973 /* 211450 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74974 /* 211454 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74975 /* 211458 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74976 /* 211460 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74977 /* 211467 */ // (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)
74978 /* 211467 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADDSDrm),
74979 /* 211470 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
74980 /* 211472 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
74981 /* 211474 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
74982 /* 211478 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
74983 /* 211483 */ GIR_RootConstrainSelectedInstOperands,
74984 /* 211484 */ // GIR_Coverage, 2148,
74985 /* 211484 */ GIR_EraseRootFromParent_Done,
74986 /* 211485 */ // Label 4901: @211485
74987 /* 211485 */ GIM_Try, /*On fail goto*//*Label 4902*/ GIMT_Encode4(211547), // Rule ID 5915 //
74988 /* 211490 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
74989 /* 211493 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
74990 /* 211497 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
74991 /* 211501 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
74992 /* 211505 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
74993 /* 211509 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
74994 /* 211512 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
74995 /* 211516 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
74996 /* 211520 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
74997 /* 211522 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
74998 /* 211529 */ // (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)
74999 /* 211529 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDSDZrm),
75000 /* 211532 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75001 /* 211534 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75002 /* 211536 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75003 /* 211540 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75004 /* 211545 */ GIR_RootConstrainSelectedInstOperands,
75005 /* 211546 */ // GIR_Coverage, 5915,
75006 /* 211546 */ GIR_EraseRootFromParent_Done,
75007 /* 211547 */ // Label 4902: @211547
75008 /* 211547 */ GIM_Try, /*On fail goto*//*Label 4903*/ GIMT_Encode4(211584), // Rule ID 864 //
75009 /* 211552 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
75010 /* 211555 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75011 /* 211559 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75012 /* 211563 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
75013 /* 211567 */ // (strict_fadd:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (ADD_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
75014 /* 211567 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp64),
75015 /* 211572 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
75016 /* 211578 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
75017 /* 211582 */ GIR_RootConstrainSelectedInstOperands,
75018 /* 211583 */ // GIR_Coverage, 864,
75019 /* 211583 */ GIR_Done,
75020 /* 211584 */ // Label 4903: @211584
75021 /* 211584 */ GIM_Try, /*On fail goto*//*Label 4904*/ GIMT_Encode4(211615), // Rule ID 2138 //
75022 /* 211589 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
75023 /* 211592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75024 /* 211596 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75025 /* 211600 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75026 /* 211604 */ // (strict_fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
75027 /* 211604 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDrr),
75028 /* 211609 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75029 /* 211613 */ GIR_RootConstrainSelectedInstOperands,
75030 /* 211614 */ // GIR_Coverage, 2138,
75031 /* 211614 */ GIR_Done,
75032 /* 211615 */ // Label 4904: @211615
75033 /* 211615 */ GIM_Try, /*On fail goto*//*Label 4905*/ GIMT_Encode4(211646), // Rule ID 2146 //
75034 /* 211620 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
75035 /* 211623 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75036 /* 211627 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75037 /* 211631 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
75038 /* 211635 */ // (strict_fadd:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (ADDSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
75039 /* 211635 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDSDrr),
75040 /* 211640 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75041 /* 211644 */ GIR_RootConstrainSelectedInstOperands,
75042 /* 211645 */ // GIR_Coverage, 2146,
75043 /* 211645 */ GIR_Done,
75044 /* 211646 */ // Label 4905: @211646
75045 /* 211646 */ GIM_Try, /*On fail goto*//*Label 4906*/ GIMT_Encode4(211677), // Rule ID 5913 //
75046 /* 211651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75047 /* 211654 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75048 /* 211658 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75049 /* 211662 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
75050 /* 211666 */ // (strict_fadd:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VADDSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
75051 /* 211666 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDSDZrr),
75052 /* 211671 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75053 /* 211675 */ GIR_RootConstrainSelectedInstOperands,
75054 /* 211676 */ // GIR_Coverage, 5913,
75055 /* 211676 */ GIR_Done,
75056 /* 211677 */ // Label 4906: @211677
75057 /* 211677 */ GIM_Reject,
75058 /* 211678 */ // Label 4888: @211678
75059 /* 211678 */ GIM_Reject,
75060 /* 211679 */ // Label 4856: @211679
75061 /* 211679 */ GIM_Try, /*On fail goto*//*Label 4907*/ GIMT_Encode4(212244),
75062 /* 211684 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
75063 /* 211687 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
75064 /* 211690 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75065 /* 211694 */ GIM_Try, /*On fail goto*//*Label 4908*/ GIMT_Encode4(211755), // Rule ID 23312 //
75066 /* 211699 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75067 /* 211702 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75068 /* 211706 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75069 /* 211710 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75070 /* 211717 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75071 /* 211721 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75072 /* 211725 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75073 /* 211727 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75074 /* 211734 */ // (strict_fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
75075 /* 211734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
75076 /* 211737 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75077 /* 211739 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75078 /* 211741 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75079 /* 211745 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75080 /* 211748 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75081 /* 211753 */ GIR_RootConstrainSelectedInstOperands,
75082 /* 211754 */ // GIR_Coverage, 23312,
75083 /* 211754 */ GIR_EraseRootFromParent_Done,
75084 /* 211755 */ // Label 4908: @211755
75085 /* 211755 */ GIM_Try, /*On fail goto*//*Label 4909*/ GIMT_Encode4(211816), // Rule ID 23314 //
75086 /* 211760 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75087 /* 211763 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75088 /* 211767 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75089 /* 211771 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75090 /* 211778 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75091 /* 211782 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75092 /* 211786 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75093 /* 211788 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75094 /* 211795 */ // (strict_fadd:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
75095 /* 211795 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
75096 /* 211798 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75097 /* 211800 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75098 /* 211802 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75099 /* 211806 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75100 /* 211809 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75101 /* 211814 */ GIR_RootConstrainSelectedInstOperands,
75102 /* 211815 */ // GIR_Coverage, 23314,
75103 /* 211815 */ GIR_EraseRootFromParent_Done,
75104 /* 211816 */ // Label 4909: @211816
75105 /* 211816 */ GIM_Try, /*On fail goto*//*Label 4910*/ GIMT_Encode4(211884), // Rule ID 23300 //
75106 /* 211821 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75107 /* 211824 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75108 /* 211828 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75109 /* 211832 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75110 /* 211835 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75111 /* 211839 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75112 /* 211846 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75113 /* 211850 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75114 /* 211854 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75115 /* 211856 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75116 /* 211863 */ // (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)
75117 /* 211863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
75118 /* 211866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75119 /* 211868 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75120 /* 211870 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75121 /* 211874 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75122 /* 211877 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75123 /* 211882 */ GIR_RootConstrainSelectedInstOperands,
75124 /* 211883 */ // GIR_Coverage, 23300,
75125 /* 211883 */ GIR_EraseRootFromParent_Done,
75126 /* 211884 */ // Label 4910: @211884
75127 /* 211884 */ GIM_Try, /*On fail goto*//*Label 4911*/ GIMT_Encode4(211952), // Rule ID 23302 //
75128 /* 211889 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75129 /* 211892 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75130 /* 211896 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75131 /* 211900 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75132 /* 211903 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75133 /* 211907 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
75134 /* 211914 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75135 /* 211918 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75136 /* 211922 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75137 /* 211924 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75138 /* 211931 */ // (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)
75139 /* 211931 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
75140 /* 211934 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75141 /* 211936 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75142 /* 211938 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75143 /* 211942 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75144 /* 211945 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75145 /* 211950 */ GIR_RootConstrainSelectedInstOperands,
75146 /* 211951 */ // GIR_Coverage, 23302,
75147 /* 211951 */ GIR_EraseRootFromParent_Done,
75148 /* 211952 */ // Label 4911: @211952
75149 /* 211952 */ GIM_Try, /*On fail goto*//*Label 4912*/ GIMT_Encode4(212013), // Rule ID 904 //
75150 /* 211957 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75151 /* 211960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75152 /* 211964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75153 /* 211968 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75154 /* 211972 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
75155 /* 211979 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75156 /* 211983 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75157 /* 211985 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75158 /* 211992 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (ADD_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
75159 /* 211992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI16m80),
75160 /* 211995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75161 /* 211997 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75162 /* 211999 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75163 /* 212003 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75164 /* 212006 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75165 /* 212011 */ GIR_RootConstrainSelectedInstOperands,
75166 /* 212012 */ // GIR_Coverage, 904,
75167 /* 212012 */ GIR_EraseRootFromParent_Done,
75168 /* 212013 */ // Label 4912: @212013
75169 /* 212013 */ GIM_Try, /*On fail goto*//*Label 4913*/ GIMT_Encode4(212074), // Rule ID 906 //
75170 /* 212018 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75171 /* 212021 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75172 /* 212025 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75173 /* 212029 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
75174 /* 212033 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75175 /* 212040 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75176 /* 212044 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75177 /* 212046 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75178 /* 212053 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (ADD_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
75179 /* 212053 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_FpI32m80),
75180 /* 212056 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75181 /* 212058 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75182 /* 212060 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75183 /* 212064 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75184 /* 212067 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75185 /* 212072 */ GIR_RootConstrainSelectedInstOperands,
75186 /* 212073 */ // GIR_Coverage, 906,
75187 /* 212073 */ GIR_EraseRootFromParent_Done,
75188 /* 212074 */ // Label 4913: @212074
75189 /* 212074 */ GIM_Try, /*On fail goto*//*Label 4914*/ GIMT_Encode4(212142), // Rule ID 892 //
75190 /* 212079 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75191 /* 212082 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75192 /* 212086 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75193 /* 212090 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75194 /* 212094 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75195 /* 212097 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75196 /* 212101 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
75197 /* 212108 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75198 /* 212112 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75199 /* 212114 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75200 /* 212121 */ // (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)
75201 /* 212121 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m32),
75202 /* 212124 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75203 /* 212126 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75204 /* 212128 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75205 /* 212132 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75206 /* 212135 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75207 /* 212140 */ GIR_RootConstrainSelectedInstOperands,
75208 /* 212141 */ // GIR_Coverage, 892,
75209 /* 212141 */ GIR_EraseRootFromParent_Done,
75210 /* 212142 */ // Label 4914: @212142
75211 /* 212142 */ GIM_Try, /*On fail goto*//*Label 4915*/ GIMT_Encode4(212210), // Rule ID 894 //
75212 /* 212147 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75213 /* 212150 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75214 /* 212154 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75215 /* 212158 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75216 /* 212162 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75217 /* 212165 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75218 /* 212169 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
75219 /* 212176 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75220 /* 212180 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75221 /* 212182 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75222 /* 212189 */ // (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)
75223 /* 212189 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80m64),
75224 /* 212192 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75225 /* 212194 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75226 /* 212196 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75227 /* 212200 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
75228 /* 212203 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75229 /* 212208 */ GIR_RootConstrainSelectedInstOperands,
75230 /* 212209 */ // GIR_Coverage, 894,
75231 /* 212209 */ GIR_EraseRootFromParent_Done,
75232 /* 212210 */ // Label 4915: @212210
75233 /* 212210 */ GIM_Try, /*On fail goto*//*Label 4916*/ GIMT_Encode4(212243), // Rule ID 866 //
75234 /* 212215 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
75235 /* 212218 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75236 /* 212222 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
75237 /* 212226 */ // (strict_fadd:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (ADD_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
75238 /* 212226 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADD_Fp80),
75239 /* 212231 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
75240 /* 212237 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
75241 /* 212241 */ GIR_RootConstrainSelectedInstOperands,
75242 /* 212242 */ // GIR_Coverage, 866,
75243 /* 212242 */ GIR_Done,
75244 /* 212243 */ // Label 4916: @212243
75245 /* 212243 */ GIM_Reject,
75246 /* 212244 */ // Label 4907: @212244
75247 /* 212244 */ GIM_Reject,
75248 /* 212245 */ // Label 4857: @212245
75249 /* 212245 */ GIM_Try, /*On fail goto*//*Label 4917*/ GIMT_Encode4(212404),
75250 /* 212250 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
75251 /* 212253 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
75252 /* 212256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75253 /* 212260 */ GIM_Try, /*On fail goto*//*Label 4918*/ GIMT_Encode4(212318), // Rule ID 24377 //
75254 /* 212265 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75255 /* 212268 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75256 /* 212272 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75257 /* 212276 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75258 /* 212279 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75259 /* 212283 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75260 /* 212287 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75261 /* 212291 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75262 /* 212293 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75263 /* 212300 */ // (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)
75264 /* 212300 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
75265 /* 212303 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75266 /* 212305 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75267 /* 212307 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75268 /* 212311 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75269 /* 212316 */ GIR_RootConstrainSelectedInstOperands,
75270 /* 212317 */ // GIR_Coverage, 24377,
75271 /* 212317 */ GIR_EraseRootFromParent_Done,
75272 /* 212318 */ // Label 4918: @212318
75273 /* 212318 */ GIM_Try, /*On fail goto*//*Label 4919*/ GIMT_Encode4(212376), // Rule ID 6324 //
75274 /* 212323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75275 /* 212326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75276 /* 212330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75277 /* 212334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75278 /* 212338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75279 /* 212341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75280 /* 212345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75281 /* 212349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75282 /* 212351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75283 /* 212358 */ // (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)
75284 /* 212358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rm),
75285 /* 212361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75286 /* 212363 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75287 /* 212365 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75288 /* 212369 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75289 /* 212374 */ GIR_RootConstrainSelectedInstOperands,
75290 /* 212375 */ // GIR_Coverage, 6324,
75291 /* 212375 */ GIR_EraseRootFromParent_Done,
75292 /* 212376 */ // Label 4919: @212376
75293 /* 212376 */ GIM_Try, /*On fail goto*//*Label 4920*/ GIMT_Encode4(212403), // Rule ID 6320 //
75294 /* 212381 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75295 /* 212384 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75296 /* 212388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75297 /* 212392 */ // (strict_fadd:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VADDPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
75298 /* 212392 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ128rr),
75299 /* 212397 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75300 /* 212401 */ GIR_RootConstrainSelectedInstOperands,
75301 /* 212402 */ // GIR_Coverage, 6320,
75302 /* 212402 */ GIR_Done,
75303 /* 212403 */ // Label 4920: @212403
75304 /* 212403 */ GIM_Reject,
75305 /* 212404 */ // Label 4917: @212404
75306 /* 212404 */ GIM_Reject,
75307 /* 212405 */ // Label 4858: @212405
75308 /* 212405 */ GIM_Try, /*On fail goto*//*Label 4921*/ GIMT_Encode4(212564),
75309 /* 212410 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
75310 /* 212413 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
75311 /* 212416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75312 /* 212420 */ GIM_Try, /*On fail goto*//*Label 4922*/ GIMT_Encode4(212478), // Rule ID 24385 //
75313 /* 212425 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75314 /* 212428 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75315 /* 212432 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75316 /* 212436 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75317 /* 212439 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75318 /* 212443 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75319 /* 212447 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75320 /* 212451 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75321 /* 212453 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75322 /* 212460 */ // (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)
75323 /* 212460 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
75324 /* 212463 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75325 /* 212465 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75326 /* 212467 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75327 /* 212471 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75328 /* 212476 */ GIR_RootConstrainSelectedInstOperands,
75329 /* 212477 */ // GIR_Coverage, 24385,
75330 /* 212477 */ GIR_EraseRootFromParent_Done,
75331 /* 212478 */ // Label 4922: @212478
75332 /* 212478 */ GIM_Try, /*On fail goto*//*Label 4923*/ GIMT_Encode4(212536), // Rule ID 6336 //
75333 /* 212483 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75334 /* 212486 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75335 /* 212490 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75336 /* 212494 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75337 /* 212498 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75338 /* 212501 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75339 /* 212505 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75340 /* 212509 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75341 /* 212511 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75342 /* 212518 */ // (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)
75343 /* 212518 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rm),
75344 /* 212521 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75345 /* 212523 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75346 /* 212525 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75347 /* 212529 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75348 /* 212534 */ GIR_RootConstrainSelectedInstOperands,
75349 /* 212535 */ // GIR_Coverage, 6336,
75350 /* 212535 */ GIR_EraseRootFromParent_Done,
75351 /* 212536 */ // Label 4923: @212536
75352 /* 212536 */ GIM_Try, /*On fail goto*//*Label 4924*/ GIMT_Encode4(212563), // Rule ID 6332 //
75353 /* 212541 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
75354 /* 212544 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75355 /* 212548 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75356 /* 212552 */ // (strict_fadd:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VADDPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
75357 /* 212552 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZ256rr),
75358 /* 212557 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75359 /* 212561 */ GIR_RootConstrainSelectedInstOperands,
75360 /* 212562 */ // GIR_Coverage, 6332,
75361 /* 212562 */ GIR_Done,
75362 /* 212563 */ // Label 4924: @212563
75363 /* 212563 */ GIM_Reject,
75364 /* 212564 */ // Label 4921: @212564
75365 /* 212564 */ GIM_Reject,
75366 /* 212565 */ // Label 4859: @212565
75367 /* 212565 */ GIM_Try, /*On fail goto*//*Label 4925*/ GIMT_Encode4(212724),
75368 /* 212570 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
75369 /* 212573 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
75370 /* 212576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75371 /* 212580 */ GIM_Try, /*On fail goto*//*Label 4926*/ GIMT_Encode4(212638), // Rule ID 24369 //
75372 /* 212585 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
75373 /* 212588 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75374 /* 212592 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75375 /* 212596 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75376 /* 212599 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75377 /* 212603 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75378 /* 212607 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75379 /* 212611 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75380 /* 212613 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75381 /* 212620 */ // (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)
75382 /* 212620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
75383 /* 212623 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75384 /* 212625 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75385 /* 212627 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75386 /* 212631 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75387 /* 212636 */ GIR_RootConstrainSelectedInstOperands,
75388 /* 212637 */ // GIR_Coverage, 24369,
75389 /* 212637 */ GIR_EraseRootFromParent_Done,
75390 /* 212638 */ // Label 4926: @212638
75391 /* 212638 */ GIM_Try, /*On fail goto*//*Label 4927*/ GIMT_Encode4(212696), // Rule ID 6312 //
75392 /* 212643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
75393 /* 212646 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75394 /* 212650 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75395 /* 212654 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75396 /* 212658 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75397 /* 212661 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75398 /* 212665 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75399 /* 212669 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75400 /* 212671 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75401 /* 212678 */ // (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)
75402 /* 212678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPHZrm),
75403 /* 212681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75404 /* 212683 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75405 /* 212685 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75406 /* 212689 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75407 /* 212694 */ GIR_RootConstrainSelectedInstOperands,
75408 /* 212695 */ // GIR_Coverage, 6312,
75409 /* 212695 */ GIR_EraseRootFromParent_Done,
75410 /* 212696 */ // Label 4927: @212696
75411 /* 212696 */ GIM_Try, /*On fail goto*//*Label 4928*/ GIMT_Encode4(212723), // Rule ID 6308 //
75412 /* 212701 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
75413 /* 212704 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75414 /* 212708 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75415 /* 212712 */ // (strict_fadd:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VADDPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
75416 /* 212712 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPHZrr),
75417 /* 212717 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75418 /* 212721 */ GIR_RootConstrainSelectedInstOperands,
75419 /* 212722 */ // GIR_Coverage, 6308,
75420 /* 212722 */ GIR_Done,
75421 /* 212723 */ // Label 4928: @212723
75422 /* 212723 */ GIM_Reject,
75423 /* 212724 */ // Label 4925: @212724
75424 /* 212724 */ GIM_Reject,
75425 /* 212725 */ // Label 4860: @212725
75426 /* 212725 */ GIM_Try, /*On fail goto*//*Label 4929*/ GIMT_Encode4(213078),
75427 /* 212730 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
75428 /* 212733 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
75429 /* 212736 */ GIM_Try, /*On fail goto*//*Label 4930*/ GIMT_Encode4(212798), // Rule ID 23427 //
75430 /* 212741 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75431 /* 212744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75432 /* 212748 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75433 /* 212752 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75434 /* 212756 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75435 /* 212759 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75436 /* 212763 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75437 /* 212767 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75438 /* 212771 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75439 /* 212773 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75440 /* 212780 */ // (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)
75441 /* 212780 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
75442 /* 212783 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75443 /* 212785 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75444 /* 212787 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75445 /* 212791 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75446 /* 212796 */ GIR_RootConstrainSelectedInstOperands,
75447 /* 212797 */ // GIR_Coverage, 23427,
75448 /* 212797 */ GIR_EraseRootFromParent_Done,
75449 /* 212798 */ // Label 4930: @212798
75450 /* 212798 */ GIM_Try, /*On fail goto*//*Label 4931*/ GIMT_Encode4(212860), // Rule ID 24337 //
75451 /* 212803 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75452 /* 212806 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75453 /* 212810 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75454 /* 212814 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75455 /* 212818 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75456 /* 212821 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75457 /* 212825 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75458 /* 212829 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75459 /* 212833 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75460 /* 212835 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75461 /* 212842 */ // (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)
75462 /* 212842 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
75463 /* 212845 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75464 /* 212847 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75465 /* 212849 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75466 /* 212853 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75467 /* 212858 */ GIR_RootConstrainSelectedInstOperands,
75468 /* 212859 */ // GIR_Coverage, 24337,
75469 /* 212859 */ GIR_EraseRootFromParent_Done,
75470 /* 212860 */ // Label 4931: @212860
75471 /* 212860 */ GIM_Try, /*On fail goto*//*Label 4932*/ GIMT_Encode4(212922), // Rule ID 2112 //
75472 /* 212865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75473 /* 212868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75474 /* 212872 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75475 /* 212876 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75476 /* 212880 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75477 /* 212884 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75478 /* 212887 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75479 /* 212891 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75480 /* 212895 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75481 /* 212897 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75482 /* 212904 */ // (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)
75483 /* 212904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSrm),
75484 /* 212907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75485 /* 212909 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75486 /* 212911 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75487 /* 212915 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75488 /* 212920 */ GIR_RootConstrainSelectedInstOperands,
75489 /* 212921 */ // GIR_Coverage, 2112,
75490 /* 212921 */ GIR_EraseRootFromParent_Done,
75491 /* 212922 */ // Label 4932: @212922
75492 /* 212922 */ GIM_Try, /*On fail goto*//*Label 4933*/ GIMT_Encode4(212984), // Rule ID 6264 //
75493 /* 212927 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75494 /* 212930 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75495 /* 212934 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75496 /* 212938 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75497 /* 212942 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75498 /* 212946 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75499 /* 212949 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75500 /* 212953 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75501 /* 212957 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75502 /* 212959 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75503 /* 212966 */ // (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)
75504 /* 212966 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rm),
75505 /* 212969 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75506 /* 212971 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75507 /* 212973 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75508 /* 212977 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75509 /* 212982 */ GIR_RootConstrainSelectedInstOperands,
75510 /* 212983 */ // GIR_Coverage, 6264,
75511 /* 212983 */ GIR_EraseRootFromParent_Done,
75512 /* 212984 */ // Label 4933: @212984
75513 /* 212984 */ GIM_Try, /*On fail goto*//*Label 4934*/ GIMT_Encode4(213015), // Rule ID 2110 //
75514 /* 212989 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75515 /* 212992 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75516 /* 212996 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75517 /* 213000 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75518 /* 213004 */ // (strict_fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
75519 /* 213004 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSrr),
75520 /* 213009 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75521 /* 213013 */ GIR_RootConstrainSelectedInstOperands,
75522 /* 213014 */ // GIR_Coverage, 2110,
75523 /* 213014 */ GIR_Done,
75524 /* 213015 */ // Label 4934: @213015
75525 /* 213015 */ GIM_Try, /*On fail goto*//*Label 4935*/ GIMT_Encode4(213046), // Rule ID 2126 //
75526 /* 213020 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
75527 /* 213023 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75528 /* 213027 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75529 /* 213031 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75530 /* 213035 */ // (strict_fadd:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (ADDPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
75531 /* 213035 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPSrr),
75532 /* 213040 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75533 /* 213044 */ GIR_RootConstrainSelectedInstOperands,
75534 /* 213045 */ // GIR_Coverage, 2126,
75535 /* 213045 */ GIR_Done,
75536 /* 213046 */ // Label 4935: @213046
75537 /* 213046 */ GIM_Try, /*On fail goto*//*Label 4936*/ GIMT_Encode4(213077), // Rule ID 6260 //
75538 /* 213051 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75539 /* 213054 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75540 /* 213058 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75541 /* 213062 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75542 /* 213066 */ // (strict_fadd:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VADDPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
75543 /* 213066 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ128rr),
75544 /* 213071 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75545 /* 213075 */ GIR_RootConstrainSelectedInstOperands,
75546 /* 213076 */ // GIR_Coverage, 6260,
75547 /* 213076 */ GIR_Done,
75548 /* 213077 */ // Label 4936: @213077
75549 /* 213077 */ GIM_Reject,
75550 /* 213078 */ // Label 4929: @213078
75551 /* 213078 */ GIM_Reject,
75552 /* 213079 */ // Label 4861: @213079
75553 /* 213079 */ GIM_Try, /*On fail goto*//*Label 4937*/ GIMT_Encode4(213401),
75554 /* 213084 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
75555 /* 213087 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
75556 /* 213090 */ GIM_Try, /*On fail goto*//*Label 4938*/ GIMT_Encode4(213152), // Rule ID 23431 //
75557 /* 213095 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75558 /* 213098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75559 /* 213102 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75560 /* 213106 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75561 /* 213110 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75562 /* 213113 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75563 /* 213117 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75564 /* 213121 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75565 /* 213125 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75566 /* 213127 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75567 /* 213134 */ // (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)
75568 /* 213134 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
75569 /* 213137 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75570 /* 213139 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75571 /* 213141 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75572 /* 213145 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75573 /* 213150 */ GIR_RootConstrainSelectedInstOperands,
75574 /* 213151 */ // GIR_Coverage, 23431,
75575 /* 213151 */ GIR_EraseRootFromParent_Done,
75576 /* 213152 */ // Label 4938: @213152
75577 /* 213152 */ GIM_Try, /*On fail goto*//*Label 4939*/ GIMT_Encode4(213214), // Rule ID 24345 //
75578 /* 213157 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75579 /* 213160 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75580 /* 213164 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75581 /* 213168 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75582 /* 213172 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75583 /* 213175 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75584 /* 213179 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75585 /* 213183 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75586 /* 213187 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75587 /* 213189 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75588 /* 213196 */ // (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)
75589 /* 213196 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
75590 /* 213199 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75591 /* 213201 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75592 /* 213203 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75593 /* 213207 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75594 /* 213212 */ GIR_RootConstrainSelectedInstOperands,
75595 /* 213213 */ // GIR_Coverage, 24345,
75596 /* 213213 */ GIR_EraseRootFromParent_Done,
75597 /* 213214 */ // Label 4939: @213214
75598 /* 213214 */ GIM_Try, /*On fail goto*//*Label 4940*/ GIMT_Encode4(213276), // Rule ID 2120 //
75599 /* 213219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75600 /* 213222 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75601 /* 213226 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75602 /* 213230 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75603 /* 213234 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75604 /* 213238 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75605 /* 213241 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75606 /* 213245 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75607 /* 213249 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75608 /* 213251 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75609 /* 213258 */ // (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)
75610 /* 213258 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSYrm),
75611 /* 213261 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75612 /* 213263 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75613 /* 213265 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75614 /* 213269 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75615 /* 213274 */ GIR_RootConstrainSelectedInstOperands,
75616 /* 213275 */ // GIR_Coverage, 2120,
75617 /* 213275 */ GIR_EraseRootFromParent_Done,
75618 /* 213276 */ // Label 4940: @213276
75619 /* 213276 */ GIM_Try, /*On fail goto*//*Label 4941*/ GIMT_Encode4(213338), // Rule ID 6276 //
75620 /* 213281 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75621 /* 213284 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75622 /* 213288 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75623 /* 213292 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75624 /* 213296 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75625 /* 213300 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75626 /* 213303 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75627 /* 213307 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75628 /* 213311 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75629 /* 213313 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75630 /* 213320 */ // (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)
75631 /* 213320 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rm),
75632 /* 213323 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75633 /* 213325 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75634 /* 213327 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75635 /* 213331 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75636 /* 213336 */ GIR_RootConstrainSelectedInstOperands,
75637 /* 213337 */ // GIR_Coverage, 6276,
75638 /* 213337 */ GIR_EraseRootFromParent_Done,
75639 /* 213338 */ // Label 4941: @213338
75640 /* 213338 */ GIM_Try, /*On fail goto*//*Label 4942*/ GIMT_Encode4(213369), // Rule ID 2118 //
75641 /* 213343 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75642 /* 213346 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75643 /* 213350 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75644 /* 213354 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75645 /* 213358 */ // (strict_fadd:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VADDPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
75646 /* 213358 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSYrr),
75647 /* 213363 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75648 /* 213367 */ GIR_RootConstrainSelectedInstOperands,
75649 /* 213368 */ // GIR_Coverage, 2118,
75650 /* 213368 */ GIR_Done,
75651 /* 213369 */ // Label 4942: @213369
75652 /* 213369 */ GIM_Try, /*On fail goto*//*Label 4943*/ GIMT_Encode4(213400), // Rule ID 6272 //
75653 /* 213374 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75654 /* 213377 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75655 /* 213381 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75656 /* 213385 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75657 /* 213389 */ // (strict_fadd:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VADDPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
75658 /* 213389 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZ256rr),
75659 /* 213394 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75660 /* 213398 */ GIR_RootConstrainSelectedInstOperands,
75661 /* 213399 */ // GIR_Coverage, 6272,
75662 /* 213399 */ GIR_Done,
75663 /* 213400 */ // Label 4943: @213400
75664 /* 213400 */ GIM_Reject,
75665 /* 213401 */ // Label 4937: @213401
75666 /* 213401 */ GIM_Reject,
75667 /* 213402 */ // Label 4862: @213402
75668 /* 213402 */ GIM_Try, /*On fail goto*//*Label 4944*/ GIMT_Encode4(213561),
75669 /* 213407 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
75670 /* 213410 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
75671 /* 213413 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75672 /* 213417 */ GIM_Try, /*On fail goto*//*Label 4945*/ GIMT_Encode4(213475), // Rule ID 24321 //
75673 /* 213422 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75674 /* 213425 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75675 /* 213429 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75676 /* 213433 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75677 /* 213436 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75678 /* 213440 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75679 /* 213444 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75680 /* 213448 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75681 /* 213450 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75682 /* 213457 */ // (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)
75683 /* 213457 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
75684 /* 213460 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75685 /* 213462 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75686 /* 213464 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75687 /* 213468 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75688 /* 213473 */ GIR_RootConstrainSelectedInstOperands,
75689 /* 213474 */ // GIR_Coverage, 24321,
75690 /* 213474 */ GIR_EraseRootFromParent_Done,
75691 /* 213475 */ // Label 4945: @213475
75692 /* 213475 */ GIM_Try, /*On fail goto*//*Label 4946*/ GIMT_Encode4(213533), // Rule ID 6240 //
75693 /* 213480 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75694 /* 213483 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75695 /* 213487 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75696 /* 213491 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75697 /* 213495 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75698 /* 213498 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75699 /* 213502 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75700 /* 213506 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75701 /* 213508 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75702 /* 213515 */ // (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)
75703 /* 213515 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPSZrm),
75704 /* 213518 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75705 /* 213520 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75706 /* 213522 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75707 /* 213526 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75708 /* 213531 */ GIR_RootConstrainSelectedInstOperands,
75709 /* 213532 */ // GIR_Coverage, 6240,
75710 /* 213532 */ GIR_EraseRootFromParent_Done,
75711 /* 213533 */ // Label 4946: @213533
75712 /* 213533 */ GIM_Try, /*On fail goto*//*Label 4947*/ GIMT_Encode4(213560), // Rule ID 6236 //
75713 /* 213538 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75714 /* 213541 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75715 /* 213545 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75716 /* 213549 */ // (strict_fadd:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VADDPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
75717 /* 213549 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPSZrr),
75718 /* 213554 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75719 /* 213558 */ GIR_RootConstrainSelectedInstOperands,
75720 /* 213559 */ // GIR_Coverage, 6236,
75721 /* 213559 */ GIR_Done,
75722 /* 213560 */ // Label 4947: @213560
75723 /* 213560 */ GIM_Reject,
75724 /* 213561 */ // Label 4944: @213561
75725 /* 213561 */ GIM_Reject,
75726 /* 213562 */ // Label 4863: @213562
75727 /* 213562 */ GIM_Try, /*On fail goto*//*Label 4948*/ GIMT_Encode4(213915),
75728 /* 213567 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
75729 /* 213570 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
75730 /* 213573 */ GIM_Try, /*On fail goto*//*Label 4949*/ GIMT_Encode4(213635), // Rule ID 23429 //
75731 /* 213578 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75732 /* 213581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75733 /* 213585 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75734 /* 213589 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75735 /* 213593 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75736 /* 213596 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75737 /* 213600 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75738 /* 213604 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75739 /* 213608 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75740 /* 213610 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75741 /* 213617 */ // (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)
75742 /* 213617 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
75743 /* 213620 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75744 /* 213622 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75745 /* 213624 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75746 /* 213628 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75747 /* 213633 */ GIR_RootConstrainSelectedInstOperands,
75748 /* 213634 */ // GIR_Coverage, 23429,
75749 /* 213634 */ GIR_EraseRootFromParent_Done,
75750 /* 213635 */ // Label 4949: @213635
75751 /* 213635 */ GIM_Try, /*On fail goto*//*Label 4950*/ GIMT_Encode4(213697), // Rule ID 24353 //
75752 /* 213640 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75753 /* 213643 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75754 /* 213647 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75755 /* 213651 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75756 /* 213655 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75757 /* 213658 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75758 /* 213662 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75759 /* 213666 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75760 /* 213670 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75761 /* 213672 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75762 /* 213679 */ // (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)
75763 /* 213679 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
75764 /* 213682 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75765 /* 213684 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75766 /* 213686 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75767 /* 213690 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75768 /* 213695 */ GIR_RootConstrainSelectedInstOperands,
75769 /* 213696 */ // GIR_Coverage, 24353,
75770 /* 213696 */ GIR_EraseRootFromParent_Done,
75771 /* 213697 */ // Label 4950: @213697
75772 /* 213697 */ GIM_Try, /*On fail goto*//*Label 4951*/ GIMT_Encode4(213759), // Rule ID 2116 //
75773 /* 213702 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75774 /* 213705 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75775 /* 213709 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75776 /* 213713 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75777 /* 213717 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75778 /* 213721 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75779 /* 213724 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75780 /* 213728 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75781 /* 213732 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75782 /* 213734 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75783 /* 213741 */ // (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)
75784 /* 213741 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDrm),
75785 /* 213744 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75786 /* 213746 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75787 /* 213748 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75788 /* 213752 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75789 /* 213757 */ GIR_RootConstrainSelectedInstOperands,
75790 /* 213758 */ // GIR_Coverage, 2116,
75791 /* 213758 */ GIR_EraseRootFromParent_Done,
75792 /* 213759 */ // Label 4951: @213759
75793 /* 213759 */ GIM_Try, /*On fail goto*//*Label 4952*/ GIMT_Encode4(213821), // Rule ID 6288 //
75794 /* 213764 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75795 /* 213767 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75796 /* 213771 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75797 /* 213775 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75798 /* 213779 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75799 /* 213783 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75800 /* 213786 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75801 /* 213790 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75802 /* 213794 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75803 /* 213796 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75804 /* 213803 */ // (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)
75805 /* 213803 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rm),
75806 /* 213806 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75807 /* 213808 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75808 /* 213810 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75809 /* 213814 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75810 /* 213819 */ GIR_RootConstrainSelectedInstOperands,
75811 /* 213820 */ // GIR_Coverage, 6288,
75812 /* 213820 */ GIR_EraseRootFromParent_Done,
75813 /* 213821 */ // Label 4952: @213821
75814 /* 213821 */ GIM_Try, /*On fail goto*//*Label 4953*/ GIMT_Encode4(213852), // Rule ID 2114 //
75815 /* 213826 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75816 /* 213829 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75817 /* 213833 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75818 /* 213837 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75819 /* 213841 */ // (strict_fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
75820 /* 213841 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDrr),
75821 /* 213846 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75822 /* 213850 */ GIR_RootConstrainSelectedInstOperands,
75823 /* 213851 */ // GIR_Coverage, 2114,
75824 /* 213851 */ GIR_Done,
75825 /* 213852 */ // Label 4953: @213852
75826 /* 213852 */ GIM_Try, /*On fail goto*//*Label 4954*/ GIMT_Encode4(213883), // Rule ID 2130 //
75827 /* 213857 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
75828 /* 213860 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75829 /* 213864 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75830 /* 213868 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
75831 /* 213872 */ // (strict_fadd:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (ADDPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
75832 /* 213872 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::ADDPDrr),
75833 /* 213877 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75834 /* 213881 */ GIR_RootConstrainSelectedInstOperands,
75835 /* 213882 */ // GIR_Coverage, 2130,
75836 /* 213882 */ GIR_Done,
75837 /* 213883 */ // Label 4954: @213883
75838 /* 213883 */ GIM_Try, /*On fail goto*//*Label 4955*/ GIMT_Encode4(213914), // Rule ID 6284 //
75839 /* 213888 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75840 /* 213891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75841 /* 213895 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75842 /* 213899 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
75843 /* 213903 */ // (strict_fadd:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VADDPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
75844 /* 213903 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ128rr),
75845 /* 213908 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75846 /* 213912 */ GIR_RootConstrainSelectedInstOperands,
75847 /* 213913 */ // GIR_Coverage, 6284,
75848 /* 213913 */ GIR_Done,
75849 /* 213914 */ // Label 4955: @213914
75850 /* 213914 */ GIM_Reject,
75851 /* 213915 */ // Label 4948: @213915
75852 /* 213915 */ GIM_Reject,
75853 /* 213916 */ // Label 4864: @213916
75854 /* 213916 */ GIM_Try, /*On fail goto*//*Label 4956*/ GIMT_Encode4(214238),
75855 /* 213921 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
75856 /* 213924 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
75857 /* 213927 */ GIM_Try, /*On fail goto*//*Label 4957*/ GIMT_Encode4(213989), // Rule ID 23433 //
75858 /* 213932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75859 /* 213935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75860 /* 213939 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75861 /* 213943 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75862 /* 213947 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75863 /* 213950 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75864 /* 213954 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75865 /* 213958 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75866 /* 213962 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75867 /* 213964 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75868 /* 213971 */ // (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)
75869 /* 213971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
75870 /* 213974 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75871 /* 213976 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75872 /* 213978 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75873 /* 213982 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75874 /* 213987 */ GIR_RootConstrainSelectedInstOperands,
75875 /* 213988 */ // GIR_Coverage, 23433,
75876 /* 213988 */ GIR_EraseRootFromParent_Done,
75877 /* 213989 */ // Label 4957: @213989
75878 /* 213989 */ GIM_Try, /*On fail goto*//*Label 4958*/ GIMT_Encode4(214051), // Rule ID 24361 //
75879 /* 213994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75880 /* 213997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75881 /* 214001 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75882 /* 214005 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75883 /* 214009 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75884 /* 214012 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75885 /* 214016 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75886 /* 214020 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75887 /* 214024 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75888 /* 214026 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75889 /* 214033 */ // (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)
75890 /* 214033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
75891 /* 214036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75892 /* 214038 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75893 /* 214040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75894 /* 214044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75895 /* 214049 */ GIR_RootConstrainSelectedInstOperands,
75896 /* 214050 */ // GIR_Coverage, 24361,
75897 /* 214050 */ GIR_EraseRootFromParent_Done,
75898 /* 214051 */ // Label 4958: @214051
75899 /* 214051 */ GIM_Try, /*On fail goto*//*Label 4959*/ GIMT_Encode4(214113), // Rule ID 2124 //
75900 /* 214056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75901 /* 214059 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75902 /* 214063 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75903 /* 214067 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75904 /* 214071 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75905 /* 214075 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75906 /* 214078 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75907 /* 214082 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75908 /* 214086 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75909 /* 214088 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75910 /* 214095 */ // (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)
75911 /* 214095 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDYrm),
75912 /* 214098 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75913 /* 214100 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75914 /* 214102 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75915 /* 214106 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75916 /* 214111 */ GIR_RootConstrainSelectedInstOperands,
75917 /* 214112 */ // GIR_Coverage, 2124,
75918 /* 214112 */ GIR_EraseRootFromParent_Done,
75919 /* 214113 */ // Label 4959: @214113
75920 /* 214113 */ GIM_Try, /*On fail goto*//*Label 4960*/ GIMT_Encode4(214175), // Rule ID 6300 //
75921 /* 214118 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75922 /* 214121 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75923 /* 214125 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75924 /* 214129 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75925 /* 214133 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75926 /* 214137 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75927 /* 214140 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75928 /* 214144 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75929 /* 214148 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75930 /* 214150 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75931 /* 214157 */ // (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)
75932 /* 214157 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rm),
75933 /* 214160 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75934 /* 214162 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
75935 /* 214164 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75936 /* 214168 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75937 /* 214173 */ GIR_RootConstrainSelectedInstOperands,
75938 /* 214174 */ // GIR_Coverage, 6300,
75939 /* 214174 */ GIR_EraseRootFromParent_Done,
75940 /* 214175 */ // Label 4960: @214175
75941 /* 214175 */ GIM_Try, /*On fail goto*//*Label 4961*/ GIMT_Encode4(214206), // Rule ID 2122 //
75942 /* 214180 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
75943 /* 214183 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75944 /* 214187 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75945 /* 214191 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
75946 /* 214195 */ // (strict_fadd:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VADDPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
75947 /* 214195 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDYrr),
75948 /* 214200 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75949 /* 214204 */ GIR_RootConstrainSelectedInstOperands,
75950 /* 214205 */ // GIR_Coverage, 2122,
75951 /* 214205 */ GIR_Done,
75952 /* 214206 */ // Label 4961: @214206
75953 /* 214206 */ GIM_Try, /*On fail goto*//*Label 4962*/ GIMT_Encode4(214237), // Rule ID 6296 //
75954 /* 214211 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
75955 /* 214214 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75956 /* 214218 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75957 /* 214222 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
75958 /* 214226 */ // (strict_fadd:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VADDPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
75959 /* 214226 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZ256rr),
75960 /* 214231 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
75961 /* 214235 */ GIR_RootConstrainSelectedInstOperands,
75962 /* 214236 */ // GIR_Coverage, 6296,
75963 /* 214236 */ GIR_Done,
75964 /* 214237 */ // Label 4962: @214237
75965 /* 214237 */ GIM_Reject,
75966 /* 214238 */ // Label 4956: @214238
75967 /* 214238 */ GIM_Reject,
75968 /* 214239 */ // Label 4865: @214239
75969 /* 214239 */ GIM_Try, /*On fail goto*//*Label 4963*/ GIMT_Encode4(214398),
75970 /* 214244 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
75971 /* 214247 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
75972 /* 214250 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75973 /* 214254 */ GIM_Try, /*On fail goto*//*Label 4964*/ GIMT_Encode4(214312), // Rule ID 24329 //
75974 /* 214259 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75975 /* 214262 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
75976 /* 214266 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75977 /* 214270 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75978 /* 214273 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
75979 /* 214277 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
75980 /* 214281 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75981 /* 214285 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
75982 /* 214287 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
75983 /* 214294 */ // (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)
75984 /* 214294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
75985 /* 214297 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
75986 /* 214299 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
75987 /* 214301 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
75988 /* 214305 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
75989 /* 214310 */ GIR_RootConstrainSelectedInstOperands,
75990 /* 214311 */ // GIR_Coverage, 24329,
75991 /* 214311 */ GIR_EraseRootFromParent_Done,
75992 /* 214312 */ // Label 4964: @214312
75993 /* 214312 */ GIM_Try, /*On fail goto*//*Label 4965*/ GIMT_Encode4(214370), // Rule ID 6252 //
75994 /* 214317 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
75995 /* 214320 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
75996 /* 214324 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
75997 /* 214328 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
75998 /* 214332 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
75999 /* 214335 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76000 /* 214339 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76001 /* 214343 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76002 /* 214345 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76003 /* 214352 */ // (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)
76004 /* 214352 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VADDPDZrm),
76005 /* 214355 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76006 /* 214357 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76007 /* 214359 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76008 /* 214363 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76009 /* 214368 */ GIR_RootConstrainSelectedInstOperands,
76010 /* 214369 */ // GIR_Coverage, 6252,
76011 /* 214369 */ GIR_EraseRootFromParent_Done,
76012 /* 214370 */ // Label 4965: @214370
76013 /* 214370 */ GIM_Try, /*On fail goto*//*Label 4966*/ GIMT_Encode4(214397), // Rule ID 6248 //
76014 /* 214375 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76015 /* 214378 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76016 /* 214382 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76017 /* 214386 */ // (strict_fadd:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VADDPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
76018 /* 214386 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VADDPDZrr),
76019 /* 214391 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76020 /* 214395 */ GIR_RootConstrainSelectedInstOperands,
76021 /* 214396 */ // GIR_Coverage, 6248,
76022 /* 214396 */ GIR_Done,
76023 /* 214397 */ // Label 4966: @214397
76024 /* 214397 */ GIM_Reject,
76025 /* 214398 */ // Label 4963: @214398
76026 /* 214398 */ GIM_Reject,
76027 /* 214399 */ // Label 4866: @214399
76028 /* 214399 */ GIM_Reject,
76029 /* 214400 */ // Label 70: @214400
76030 /* 214400 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 4980*/ GIMT_Encode4(218097),
76031 /* 214411 */ /*GILLT_s16*//*Label 4967*/ GIMT_Encode4(214503),
76032 /* 214415 */ /*GILLT_s32*//*Label 4968*/ GIMT_Encode4(214601),
76033 /* 214419 */ /*GILLT_s64*//*Label 4969*/ GIMT_Encode4(215320),
76034 /* 214423 */ /*GILLT_s80*//*Label 4970*/ GIMT_Encode4(216183), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
76035 /* 214467 */ /*GILLT_v8s16*//*Label 4971*/ GIMT_Encode4(216749),
76036 /* 214471 */ /*GILLT_v16s16*//*Label 4972*/ GIMT_Encode4(216847),
76037 /* 214475 */ /*GILLT_v32s16*//*Label 4973*/ GIMT_Encode4(216945),
76038 /* 214479 */ /*GILLT_v4s32*//*Label 4974*/ GIMT_Encode4(217043),
76039 /* 214483 */ /*GILLT_v8s32*//*Label 4975*/ GIMT_Encode4(217273),
76040 /* 214487 */ /*GILLT_v16s32*//*Label 4976*/ GIMT_Encode4(217472),
76041 /* 214491 */ /*GILLT_v2s64*//*Label 4977*/ GIMT_Encode4(217570),
76042 /* 214495 */ /*GILLT_v4s64*//*Label 4978*/ GIMT_Encode4(217800),
76043 /* 214499 */ /*GILLT_v8s64*//*Label 4979*/ GIMT_Encode4(217999),
76044 /* 214503 */ // Label 4967: @214503
76045 /* 214503 */ GIM_Try, /*On fail goto*//*Label 4981*/ GIMT_Encode4(214600),
76046 /* 214508 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
76047 /* 214511 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
76048 /* 214514 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
76049 /* 214518 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
76050 /* 214522 */ GIM_Try, /*On fail goto*//*Label 4982*/ GIMT_Encode4(214576), // Rule ID 6048 //
76051 /* 214527 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
76052 /* 214530 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76053 /* 214534 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76054 /* 214538 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76055 /* 214541 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76056 /* 214545 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76057 /* 214549 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76058 /* 214551 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76059 /* 214558 */ // (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)
76060 /* 214558 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrm),
76061 /* 214561 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76062 /* 214563 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76063 /* 214565 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76064 /* 214569 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76065 /* 214574 */ GIR_RootConstrainSelectedInstOperands,
76066 /* 214575 */ // GIR_Coverage, 6048,
76067 /* 214575 */ GIR_EraseRootFromParent_Done,
76068 /* 214576 */ // Label 4982: @214576
76069 /* 214576 */ GIM_Try, /*On fail goto*//*Label 4983*/ GIMT_Encode4(214599), // Rule ID 6046 //
76070 /* 214581 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
76071 /* 214584 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
76072 /* 214588 */ // (strict_fsub:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VSUBSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
76073 /* 214588 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSHZrr),
76074 /* 214593 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76075 /* 214597 */ GIR_RootConstrainSelectedInstOperands,
76076 /* 214598 */ // GIR_Coverage, 6046,
76077 /* 214598 */ GIR_Done,
76078 /* 214599 */ // Label 4983: @214599
76079 /* 214599 */ GIM_Reject,
76080 /* 214600 */ // Label 4981: @214600
76081 /* 214600 */ GIM_Reject,
76082 /* 214601 */ // Label 4968: @214601
76083 /* 214601 */ GIM_Try, /*On fail goto*//*Label 4984*/ GIMT_Encode4(215319),
76084 /* 214606 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
76085 /* 214609 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
76086 /* 214612 */ GIM_Try, /*On fail goto*//*Label 4985*/ GIMT_Encode4(214677), // Rule ID 940 //
76087 /* 214617 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
76088 /* 214620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76089 /* 214624 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76090 /* 214628 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76091 /* 214632 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76092 /* 214639 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76093 /* 214643 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76094 /* 214647 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76095 /* 214649 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76096 /* 214656 */ // (strict_fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76097 /* 214656 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m32),
76098 /* 214659 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76099 /* 214661 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76100 /* 214663 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76101 /* 214667 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76102 /* 214670 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76103 /* 214675 */ GIR_RootConstrainSelectedInstOperands,
76104 /* 214676 */ // GIR_Coverage, 940,
76105 /* 214676 */ GIR_EraseRootFromParent_Done,
76106 /* 214677 */ // Label 4985: @214677
76107 /* 214677 */ GIM_Try, /*On fail goto*//*Label 4986*/ GIMT_Encode4(214742), // Rule ID 942 //
76108 /* 214682 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
76109 /* 214685 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76110 /* 214689 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76111 /* 214693 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76112 /* 214697 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76113 /* 214704 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76114 /* 214708 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76115 /* 214712 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76116 /* 214714 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76117 /* 214721 */ // (strict_fsub:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (SUBR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76118 /* 214721 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m32),
76119 /* 214724 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76120 /* 214726 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76121 /* 214728 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76122 /* 214732 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76123 /* 214735 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76124 /* 214740 */ GIR_RootConstrainSelectedInstOperands,
76125 /* 214741 */ // GIR_Coverage, 942,
76126 /* 214741 */ GIR_EraseRootFromParent_Done,
76127 /* 214742 */ // Label 4986: @214742
76128 /* 214742 */ GIM_Try, /*On fail goto*//*Label 4987*/ GIMT_Encode4(214807), // Rule ID 930 //
76129 /* 214747 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
76130 /* 214750 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76131 /* 214754 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76132 /* 214758 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76133 /* 214762 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76134 /* 214765 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76135 /* 214769 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76136 /* 214773 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76137 /* 214777 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76138 /* 214779 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76139 /* 214786 */ // (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)
76140 /* 214786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp32m),
76141 /* 214789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76142 /* 214791 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76143 /* 214793 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76144 /* 214797 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76145 /* 214800 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76146 /* 214805 */ GIR_RootConstrainSelectedInstOperands,
76147 /* 214806 */ // GIR_Coverage, 930,
76148 /* 214806 */ GIR_EraseRootFromParent_Done,
76149 /* 214807 */ // Label 4987: @214807
76150 /* 214807 */ GIM_Try, /*On fail goto*//*Label 4988*/ GIMT_Encode4(214872), // Rule ID 918 //
76151 /* 214812 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
76152 /* 214815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76153 /* 214819 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76154 /* 214823 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76155 /* 214827 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76156 /* 214831 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76157 /* 214838 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76158 /* 214842 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76159 /* 214844 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76160 /* 214851 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76161 /* 214851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m32),
76162 /* 214854 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76163 /* 214856 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76164 /* 214858 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76165 /* 214862 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76166 /* 214865 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76167 /* 214870 */ GIR_RootConstrainSelectedInstOperands,
76168 /* 214871 */ // GIR_Coverage, 918,
76169 /* 214871 */ GIR_EraseRootFromParent_Done,
76170 /* 214872 */ // Label 4988: @214872
76171 /* 214872 */ GIM_Try, /*On fail goto*//*Label 4989*/ GIMT_Encode4(214937), // Rule ID 920 //
76172 /* 214877 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
76173 /* 214880 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76174 /* 214884 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76175 /* 214888 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76176 /* 214892 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76177 /* 214896 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76178 /* 214903 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76179 /* 214907 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76180 /* 214909 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76181 /* 214916 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
76182 /* 214916 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m32),
76183 /* 214919 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76184 /* 214921 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76185 /* 214923 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76186 /* 214927 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76187 /* 214930 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76188 /* 214935 */ GIR_RootConstrainSelectedInstOperands,
76189 /* 214936 */ // GIR_Coverage, 920,
76190 /* 214936 */ GIR_EraseRootFromParent_Done,
76191 /* 214937 */ // Label 4989: @214937
76192 /* 214937 */ GIM_Try, /*On fail goto*//*Label 4990*/ GIMT_Encode4(215002), // Rule ID 908 //
76193 /* 214942 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
76194 /* 214945 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76195 /* 214949 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76196 /* 214953 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76197 /* 214957 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76198 /* 214961 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76199 /* 214964 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76200 /* 214968 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76201 /* 214972 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76202 /* 214974 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76203 /* 214981 */ // (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)
76204 /* 214981 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32m),
76205 /* 214984 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76206 /* 214986 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76207 /* 214988 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76208 /* 214992 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76209 /* 214995 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76210 /* 215000 */ GIR_RootConstrainSelectedInstOperands,
76211 /* 215001 */ // GIR_Coverage, 908,
76212 /* 215001 */ GIR_EraseRootFromParent_Done,
76213 /* 215002 */ // Label 4990: @215002
76214 /* 215002 */ GIM_Try, /*On fail goto*//*Label 4991*/ GIMT_Encode4(215064), // Rule ID 2216 //
76215 /* 215007 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
76216 /* 215010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76217 /* 215014 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76218 /* 215018 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76219 /* 215022 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76220 /* 215026 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76221 /* 215029 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76222 /* 215033 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76223 /* 215037 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76224 /* 215039 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76225 /* 215046 */ // (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)
76226 /* 215046 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSrm),
76227 /* 215049 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76228 /* 215051 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76229 /* 215053 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76230 /* 215057 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76231 /* 215062 */ GIR_RootConstrainSelectedInstOperands,
76232 /* 215063 */ // GIR_Coverage, 2216,
76233 /* 215063 */ GIR_EraseRootFromParent_Done,
76234 /* 215064 */ // Label 4991: @215064
76235 /* 215064 */ GIM_Try, /*On fail goto*//*Label 4992*/ GIMT_Encode4(215126), // Rule ID 2224 //
76236 /* 215069 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
76237 /* 215072 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76238 /* 215076 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76239 /* 215080 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76240 /* 215084 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76241 /* 215088 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76242 /* 215091 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76243 /* 215095 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76244 /* 215099 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76245 /* 215101 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76246 /* 215108 */ // (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)
76247 /* 215108 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSSrm),
76248 /* 215111 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76249 /* 215113 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76250 /* 215115 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76251 /* 215119 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76252 /* 215124 */ GIR_RootConstrainSelectedInstOperands,
76253 /* 215125 */ // GIR_Coverage, 2224,
76254 /* 215125 */ GIR_EraseRootFromParent_Done,
76255 /* 215126 */ // Label 4992: @215126
76256 /* 215126 */ GIM_Try, /*On fail goto*//*Label 4993*/ GIMT_Encode4(215188), // Rule ID 6010 //
76257 /* 215131 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76258 /* 215134 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76259 /* 215138 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76260 /* 215142 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76261 /* 215146 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76262 /* 215150 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76263 /* 215153 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76264 /* 215157 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76265 /* 215161 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76266 /* 215163 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76267 /* 215170 */ // (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)
76268 /* 215170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrm),
76269 /* 215173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76270 /* 215175 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76271 /* 215177 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76272 /* 215181 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76273 /* 215186 */ GIR_RootConstrainSelectedInstOperands,
76274 /* 215187 */ // GIR_Coverage, 6010,
76275 /* 215187 */ GIR_EraseRootFromParent_Done,
76276 /* 215188 */ // Label 4993: @215188
76277 /* 215188 */ GIM_Try, /*On fail goto*//*Label 4994*/ GIMT_Encode4(215225), // Rule ID 868 //
76278 /* 215193 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
76279 /* 215196 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76280 /* 215200 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76281 /* 215204 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
76282 /* 215208 */ // (strict_fsub:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (SUB_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
76283 /* 215208 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp32),
76284 /* 215213 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
76285 /* 215219 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
76286 /* 215223 */ GIR_RootConstrainSelectedInstOperands,
76287 /* 215224 */ // GIR_Coverage, 868,
76288 /* 215224 */ GIR_Done,
76289 /* 215225 */ // Label 4994: @215225
76290 /* 215225 */ GIM_Try, /*On fail goto*//*Label 4995*/ GIMT_Encode4(215256), // Rule ID 2214 //
76291 /* 215230 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
76292 /* 215233 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76293 /* 215237 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76294 /* 215241 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76295 /* 215245 */ // (strict_fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VSUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
76296 /* 215245 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSrr),
76297 /* 215250 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76298 /* 215254 */ GIR_RootConstrainSelectedInstOperands,
76299 /* 215255 */ // GIR_Coverage, 2214,
76300 /* 215255 */ GIR_Done,
76301 /* 215256 */ // Label 4995: @215256
76302 /* 215256 */ GIM_Try, /*On fail goto*//*Label 4996*/ GIMT_Encode4(215287), // Rule ID 2222 //
76303 /* 215261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
76304 /* 215264 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76305 /* 215268 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76306 /* 215272 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
76307 /* 215276 */ // (strict_fsub:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (SUBSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
76308 /* 215276 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSSrr),
76309 /* 215281 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76310 /* 215285 */ GIR_RootConstrainSelectedInstOperands,
76311 /* 215286 */ // GIR_Coverage, 2222,
76312 /* 215286 */ GIR_Done,
76313 /* 215287 */ // Label 4996: @215287
76314 /* 215287 */ GIM_Try, /*On fail goto*//*Label 4997*/ GIMT_Encode4(215318), // Rule ID 6008 //
76315 /* 215292 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76316 /* 215295 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76317 /* 215299 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76318 /* 215303 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
76319 /* 215307 */ // (strict_fsub:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VSUBSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
76320 /* 215307 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSSZrr),
76321 /* 215312 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76322 /* 215316 */ GIR_RootConstrainSelectedInstOperands,
76323 /* 215317 */ // GIR_Coverage, 6008,
76324 /* 215317 */ GIR_Done,
76325 /* 215318 */ // Label 4997: @215318
76326 /* 215318 */ GIM_Reject,
76327 /* 215319 */ // Label 4984: @215319
76328 /* 215319 */ GIM_Reject,
76329 /* 215320 */ // Label 4969: @215320
76330 /* 215320 */ GIM_Try, /*On fail goto*//*Label 4998*/ GIMT_Encode4(216182),
76331 /* 215325 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
76332 /* 215328 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
76333 /* 215331 */ GIM_Try, /*On fail goto*//*Label 4999*/ GIMT_Encode4(215396), // Rule ID 944 //
76334 /* 215336 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76335 /* 215339 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76336 /* 215343 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76337 /* 215347 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76338 /* 215351 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76339 /* 215358 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76340 /* 215362 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76341 /* 215366 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76342 /* 215368 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76343 /* 215375 */ // (strict_fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76344 /* 215375 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m64),
76345 /* 215378 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76346 /* 215380 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76347 /* 215382 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76348 /* 215386 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76349 /* 215389 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76350 /* 215394 */ GIR_RootConstrainSelectedInstOperands,
76351 /* 215395 */ // GIR_Coverage, 944,
76352 /* 215395 */ GIR_EraseRootFromParent_Done,
76353 /* 215396 */ // Label 4999: @215396
76354 /* 215396 */ GIM_Try, /*On fail goto*//*Label 5000*/ GIMT_Encode4(215461), // Rule ID 946 //
76355 /* 215401 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76356 /* 215404 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76357 /* 215408 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76358 /* 215412 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76359 /* 215416 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76360 /* 215423 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76361 /* 215427 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76362 /* 215431 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76363 /* 215433 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76364 /* 215440 */ // (strict_fsub:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (SUBR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76365 /* 215440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m64),
76366 /* 215443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76367 /* 215445 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76368 /* 215447 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76369 /* 215451 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76370 /* 215454 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76371 /* 215459 */ GIR_RootConstrainSelectedInstOperands,
76372 /* 215460 */ // GIR_Coverage, 946,
76373 /* 215460 */ GIR_EraseRootFromParent_Done,
76374 /* 215461 */ // Label 5000: @215461
76375 /* 215461 */ GIM_Try, /*On fail goto*//*Label 5001*/ GIMT_Encode4(215526), // Rule ID 932 //
76376 /* 215466 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76377 /* 215469 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76378 /* 215473 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76379 /* 215477 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76380 /* 215481 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76381 /* 215484 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76382 /* 215488 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76383 /* 215492 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76384 /* 215496 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76385 /* 215498 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76386 /* 215505 */ // (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)
76387 /* 215505 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m),
76388 /* 215508 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76389 /* 215510 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76390 /* 215512 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76391 /* 215516 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76392 /* 215519 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76393 /* 215524 */ GIR_RootConstrainSelectedInstOperands,
76394 /* 215525 */ // GIR_Coverage, 932,
76395 /* 215525 */ GIR_EraseRootFromParent_Done,
76396 /* 215526 */ // Label 5001: @215526
76397 /* 215526 */ GIM_Try, /*On fail goto*//*Label 5002*/ GIMT_Encode4(215598), // Rule ID 934 //
76398 /* 215531 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76399 /* 215534 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76400 /* 215538 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76401 /* 215542 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76402 /* 215546 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76403 /* 215549 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76404 /* 215553 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76405 /* 215560 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76406 /* 215564 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76407 /* 215568 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76408 /* 215570 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76409 /* 215577 */ // (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)
76410 /* 215577 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp64m32),
76411 /* 215580 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76412 /* 215582 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76413 /* 215584 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76414 /* 215588 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76415 /* 215591 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76416 /* 215596 */ GIR_RootConstrainSelectedInstOperands,
76417 /* 215597 */ // GIR_Coverage, 934,
76418 /* 215597 */ GIR_EraseRootFromParent_Done,
76419 /* 215598 */ // Label 5002: @215598
76420 /* 215598 */ GIM_Try, /*On fail goto*//*Label 5003*/ GIMT_Encode4(215663), // Rule ID 922 //
76421 /* 215603 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76422 /* 215606 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76423 /* 215610 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76424 /* 215614 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76425 /* 215618 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76426 /* 215622 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76427 /* 215629 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76428 /* 215633 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76429 /* 215635 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76430 /* 215642 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76431 /* 215642 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m64),
76432 /* 215645 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76433 /* 215647 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76434 /* 215649 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76435 /* 215653 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76436 /* 215656 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76437 /* 215661 */ GIR_RootConstrainSelectedInstOperands,
76438 /* 215662 */ // GIR_Coverage, 922,
76439 /* 215662 */ GIR_EraseRootFromParent_Done,
76440 /* 215663 */ // Label 5003: @215663
76441 /* 215663 */ GIM_Try, /*On fail goto*//*Label 5004*/ GIMT_Encode4(215728), // Rule ID 924 //
76442 /* 215668 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76443 /* 215671 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76444 /* 215675 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76445 /* 215679 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76446 /* 215683 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76447 /* 215687 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76448 /* 215694 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76449 /* 215698 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76450 /* 215700 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76451 /* 215707 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
76452 /* 215707 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m64),
76453 /* 215710 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76454 /* 215712 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76455 /* 215714 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76456 /* 215718 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76457 /* 215721 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76458 /* 215726 */ GIR_RootConstrainSelectedInstOperands,
76459 /* 215727 */ // GIR_Coverage, 924,
76460 /* 215727 */ GIR_EraseRootFromParent_Done,
76461 /* 215728 */ // Label 5004: @215728
76462 /* 215728 */ GIM_Try, /*On fail goto*//*Label 5005*/ GIMT_Encode4(215793), // Rule ID 910 //
76463 /* 215733 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76464 /* 215736 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76465 /* 215740 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76466 /* 215744 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76467 /* 215748 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76468 /* 215752 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76469 /* 215755 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76470 /* 215759 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76471 /* 215763 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76472 /* 215765 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76473 /* 215772 */ // (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)
76474 /* 215772 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m),
76475 /* 215775 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76476 /* 215777 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76477 /* 215779 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76478 /* 215783 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76479 /* 215786 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76480 /* 215791 */ GIR_RootConstrainSelectedInstOperands,
76481 /* 215792 */ // GIR_Coverage, 910,
76482 /* 215792 */ GIR_EraseRootFromParent_Done,
76483 /* 215793 */ // Label 5005: @215793
76484 /* 215793 */ GIM_Try, /*On fail goto*//*Label 5006*/ GIMT_Encode4(215865), // Rule ID 912 //
76485 /* 215798 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76486 /* 215801 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76487 /* 215805 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76488 /* 215809 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76489 /* 215813 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76490 /* 215817 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76491 /* 215820 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76492 /* 215824 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76493 /* 215831 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76494 /* 215835 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76495 /* 215837 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76496 /* 215844 */ // (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)
76497 /* 215844 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64m32),
76498 /* 215847 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76499 /* 215849 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76500 /* 215851 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76501 /* 215855 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76502 /* 215858 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76503 /* 215863 */ GIR_RootConstrainSelectedInstOperands,
76504 /* 215864 */ // GIR_Coverage, 912,
76505 /* 215864 */ GIR_EraseRootFromParent_Done,
76506 /* 215865 */ // Label 5006: @215865
76507 /* 215865 */ GIM_Try, /*On fail goto*//*Label 5007*/ GIMT_Encode4(215927), // Rule ID 2220 //
76508 /* 215870 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
76509 /* 215873 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76510 /* 215877 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76511 /* 215881 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76512 /* 215885 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76513 /* 215889 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76514 /* 215892 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76515 /* 215896 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76516 /* 215900 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76517 /* 215902 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76518 /* 215909 */ // (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)
76519 /* 215909 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDrm),
76520 /* 215912 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76521 /* 215914 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76522 /* 215916 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76523 /* 215920 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76524 /* 215925 */ GIR_RootConstrainSelectedInstOperands,
76525 /* 215926 */ // GIR_Coverage, 2220,
76526 /* 215926 */ GIR_EraseRootFromParent_Done,
76527 /* 215927 */ // Label 5007: @215927
76528 /* 215927 */ GIM_Try, /*On fail goto*//*Label 5008*/ GIMT_Encode4(215989), // Rule ID 2228 //
76529 /* 215932 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
76530 /* 215935 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76531 /* 215939 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76532 /* 215943 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76533 /* 215947 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76534 /* 215951 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76535 /* 215954 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76536 /* 215958 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76537 /* 215962 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76538 /* 215964 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76539 /* 215971 */ // (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)
76540 /* 215971 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBSDrm),
76541 /* 215974 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76542 /* 215976 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76543 /* 215978 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76544 /* 215982 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76545 /* 215987 */ GIR_RootConstrainSelectedInstOperands,
76546 /* 215988 */ // GIR_Coverage, 2228,
76547 /* 215988 */ GIR_EraseRootFromParent_Done,
76548 /* 215989 */ // Label 5008: @215989
76549 /* 215989 */ GIM_Try, /*On fail goto*//*Label 5009*/ GIMT_Encode4(216051), // Rule ID 6029 //
76550 /* 215994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76551 /* 215997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76552 /* 216001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76553 /* 216005 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76554 /* 216009 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76555 /* 216013 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76556 /* 216016 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76557 /* 216020 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76558 /* 216024 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76559 /* 216026 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76560 /* 216033 */ // (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)
76561 /* 216033 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrm),
76562 /* 216036 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76563 /* 216038 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76564 /* 216040 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76565 /* 216044 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76566 /* 216049 */ GIR_RootConstrainSelectedInstOperands,
76567 /* 216050 */ // GIR_Coverage, 6029,
76568 /* 216050 */ GIR_EraseRootFromParent_Done,
76569 /* 216051 */ // Label 5009: @216051
76570 /* 216051 */ GIM_Try, /*On fail goto*//*Label 5010*/ GIMT_Encode4(216088), // Rule ID 870 //
76571 /* 216056 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
76572 /* 216059 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76573 /* 216063 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76574 /* 216067 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
76575 /* 216071 */ // (strict_fsub:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (SUB_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
76576 /* 216071 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp64),
76577 /* 216076 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
76578 /* 216082 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
76579 /* 216086 */ GIR_RootConstrainSelectedInstOperands,
76580 /* 216087 */ // GIR_Coverage, 870,
76581 /* 216087 */ GIR_Done,
76582 /* 216088 */ // Label 5010: @216088
76583 /* 216088 */ GIM_Try, /*On fail goto*//*Label 5011*/ GIMT_Encode4(216119), // Rule ID 2218 //
76584 /* 216093 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
76585 /* 216096 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76586 /* 216100 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76587 /* 216104 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76588 /* 216108 */ // (strict_fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VSUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
76589 /* 216108 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDrr),
76590 /* 216113 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76591 /* 216117 */ GIR_RootConstrainSelectedInstOperands,
76592 /* 216118 */ // GIR_Coverage, 2218,
76593 /* 216118 */ GIR_Done,
76594 /* 216119 */ // Label 5011: @216119
76595 /* 216119 */ GIM_Try, /*On fail goto*//*Label 5012*/ GIMT_Encode4(216150), // Rule ID 2226 //
76596 /* 216124 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
76597 /* 216127 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76598 /* 216131 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76599 /* 216135 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
76600 /* 216139 */ // (strict_fsub:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (SUBSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
76601 /* 216139 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBSDrr),
76602 /* 216144 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76603 /* 216148 */ GIR_RootConstrainSelectedInstOperands,
76604 /* 216149 */ // GIR_Coverage, 2226,
76605 /* 216149 */ GIR_Done,
76606 /* 216150 */ // Label 5012: @216150
76607 /* 216150 */ GIM_Try, /*On fail goto*//*Label 5013*/ GIMT_Encode4(216181), // Rule ID 6027 //
76608 /* 216155 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
76609 /* 216158 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76610 /* 216162 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76611 /* 216166 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
76612 /* 216170 */ // (strict_fsub:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VSUBSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
76613 /* 216170 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBSDZrr),
76614 /* 216175 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76615 /* 216179 */ GIR_RootConstrainSelectedInstOperands,
76616 /* 216180 */ // GIR_Coverage, 6027,
76617 /* 216180 */ GIR_Done,
76618 /* 216181 */ // Label 5013: @216181
76619 /* 216181 */ GIM_Reject,
76620 /* 216182 */ // Label 4998: @216182
76621 /* 216182 */ GIM_Reject,
76622 /* 216183 */ // Label 4970: @216183
76623 /* 216183 */ GIM_Try, /*On fail goto*//*Label 5014*/ GIMT_Encode4(216748),
76624 /* 216188 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
76625 /* 216191 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
76626 /* 216194 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76627 /* 216198 */ GIM_Try, /*On fail goto*//*Label 5015*/ GIMT_Encode4(216259), // Rule ID 948 //
76628 /* 216203 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76629 /* 216206 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76630 /* 216210 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76631 /* 216214 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76632 /* 216221 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76633 /* 216225 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76634 /* 216229 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76635 /* 216231 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76636 /* 216238 */ // (strict_fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76637 /* 216238 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI16m80),
76638 /* 216241 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76639 /* 216243 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76640 /* 216245 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76641 /* 216249 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76642 /* 216252 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76643 /* 216257 */ GIR_RootConstrainSelectedInstOperands,
76644 /* 216258 */ // GIR_Coverage, 948,
76645 /* 216258 */ GIR_EraseRootFromParent_Done,
76646 /* 216259 */ // Label 5015: @216259
76647 /* 216259 */ GIM_Try, /*On fail goto*//*Label 5016*/ GIMT_Encode4(216320), // Rule ID 950 //
76648 /* 216264 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76649 /* 216267 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76650 /* 216271 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76651 /* 216275 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76652 /* 216282 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76653 /* 216286 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76654 /* 216290 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76655 /* 216292 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76656 /* 216299 */ // (strict_fsub:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (SUBR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76657 /* 216299 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_FpI32m80),
76658 /* 216302 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76659 /* 216304 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76660 /* 216306 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76661 /* 216310 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76662 /* 216313 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76663 /* 216318 */ GIR_RootConstrainSelectedInstOperands,
76664 /* 216319 */ // GIR_Coverage, 950,
76665 /* 216319 */ GIR_EraseRootFromParent_Done,
76666 /* 216320 */ // Label 5016: @216320
76667 /* 216320 */ GIM_Try, /*On fail goto*//*Label 5017*/ GIMT_Encode4(216388), // Rule ID 936 //
76668 /* 216325 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76669 /* 216328 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76670 /* 216332 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76671 /* 216336 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76672 /* 216339 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76673 /* 216343 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76674 /* 216350 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76675 /* 216354 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76676 /* 216358 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76677 /* 216360 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76678 /* 216367 */ // (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)
76679 /* 216367 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m32),
76680 /* 216370 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76681 /* 216372 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76682 /* 216374 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76683 /* 216378 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76684 /* 216381 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76685 /* 216386 */ GIR_RootConstrainSelectedInstOperands,
76686 /* 216387 */ // GIR_Coverage, 936,
76687 /* 216387 */ GIR_EraseRootFromParent_Done,
76688 /* 216388 */ // Label 5017: @216388
76689 /* 216388 */ GIM_Try, /*On fail goto*//*Label 5018*/ GIMT_Encode4(216456), // Rule ID 938 //
76690 /* 216393 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76691 /* 216396 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
76692 /* 216400 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76693 /* 216404 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76694 /* 216407 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76695 /* 216411 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
76696 /* 216418 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76697 /* 216422 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76698 /* 216426 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76699 /* 216428 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76700 /* 216435 */ // (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)
76701 /* 216435 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUBR_Fp80m64),
76702 /* 216438 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76703 /* 216440 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
76704 /* 216442 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76705 /* 216446 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76706 /* 216449 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76707 /* 216454 */ GIR_RootConstrainSelectedInstOperands,
76708 /* 216455 */ // GIR_Coverage, 938,
76709 /* 216455 */ GIR_EraseRootFromParent_Done,
76710 /* 216456 */ // Label 5018: @216456
76711 /* 216456 */ GIM_Try, /*On fail goto*//*Label 5019*/ GIMT_Encode4(216517), // Rule ID 926 //
76712 /* 216461 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76713 /* 216464 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76714 /* 216468 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76715 /* 216472 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76716 /* 216476 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
76717 /* 216483 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76718 /* 216487 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76719 /* 216489 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76720 /* 216496 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (SUB_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76721 /* 216496 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI16m80),
76722 /* 216499 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76723 /* 216501 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76724 /* 216503 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76725 /* 216507 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76726 /* 216510 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76727 /* 216515 */ GIR_RootConstrainSelectedInstOperands,
76728 /* 216516 */ // GIR_Coverage, 926,
76729 /* 216516 */ GIR_EraseRootFromParent_Done,
76730 /* 216517 */ // Label 5019: @216517
76731 /* 216517 */ GIM_Try, /*On fail goto*//*Label 5020*/ GIMT_Encode4(216578), // Rule ID 928 //
76732 /* 216522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76733 /* 216525 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76734 /* 216529 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76735 /* 216533 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
76736 /* 216537 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76737 /* 216544 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76738 /* 216548 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76739 /* 216550 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76740 /* 216557 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (SUB_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
76741 /* 216557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_FpI32m80),
76742 /* 216560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76743 /* 216562 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76744 /* 216564 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76745 /* 216568 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76746 /* 216571 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76747 /* 216576 */ GIR_RootConstrainSelectedInstOperands,
76748 /* 216577 */ // GIR_Coverage, 928,
76749 /* 216577 */ GIR_EraseRootFromParent_Done,
76750 /* 216578 */ // Label 5020: @216578
76751 /* 216578 */ GIM_Try, /*On fail goto*//*Label 5021*/ GIMT_Encode4(216646), // Rule ID 914 //
76752 /* 216583 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76753 /* 216586 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76754 /* 216590 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76755 /* 216594 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76756 /* 216598 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76757 /* 216601 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76758 /* 216605 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
76759 /* 216612 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76760 /* 216616 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76761 /* 216618 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76762 /* 216625 */ // (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)
76763 /* 216625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m32),
76764 /* 216628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76765 /* 216630 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76766 /* 216632 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76767 /* 216636 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76768 /* 216639 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76769 /* 216644 */ GIR_RootConstrainSelectedInstOperands,
76770 /* 216645 */ // GIR_Coverage, 914,
76771 /* 216645 */ GIR_EraseRootFromParent_Done,
76772 /* 216646 */ // Label 5021: @216646
76773 /* 216646 */ GIM_Try, /*On fail goto*//*Label 5022*/ GIMT_Encode4(216714), // Rule ID 916 //
76774 /* 216651 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76775 /* 216654 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76776 /* 216658 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76777 /* 216662 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76778 /* 216666 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76779 /* 216669 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76780 /* 216673 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
76781 /* 216680 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76782 /* 216684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76783 /* 216686 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76784 /* 216693 */ // (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)
76785 /* 216693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80m64),
76786 /* 216696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76787 /* 216698 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76788 /* 216700 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76789 /* 216704 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
76790 /* 216707 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76791 /* 216712 */ GIR_RootConstrainSelectedInstOperands,
76792 /* 216713 */ // GIR_Coverage, 916,
76793 /* 216713 */ GIR_EraseRootFromParent_Done,
76794 /* 216714 */ // Label 5022: @216714
76795 /* 216714 */ GIM_Try, /*On fail goto*//*Label 5023*/ GIMT_Encode4(216747), // Rule ID 872 //
76796 /* 216719 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
76797 /* 216722 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76798 /* 216726 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
76799 /* 216730 */ // (strict_fsub:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (SUB_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
76800 /* 216730 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUB_Fp80),
76801 /* 216735 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
76802 /* 216741 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
76803 /* 216745 */ GIR_RootConstrainSelectedInstOperands,
76804 /* 216746 */ // GIR_Coverage, 872,
76805 /* 216746 */ GIR_Done,
76806 /* 216747 */ // Label 5023: @216747
76807 /* 216747 */ GIM_Reject,
76808 /* 216748 */ // Label 5014: @216748
76809 /* 216748 */ GIM_Reject,
76810 /* 216749 */ // Label 4971: @216749
76811 /* 216749 */ GIM_Try, /*On fail goto*//*Label 5024*/ GIMT_Encode4(216846),
76812 /* 216754 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
76813 /* 216757 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
76814 /* 216760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76815 /* 216764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76816 /* 216768 */ GIM_Try, /*On fail goto*//*Label 5025*/ GIMT_Encode4(216822), // Rule ID 6558 //
76817 /* 216773 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
76818 /* 216776 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76819 /* 216780 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76820 /* 216784 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76821 /* 216787 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76822 /* 216791 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76823 /* 216795 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76824 /* 216797 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76825 /* 216804 */ // (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)
76826 /* 216804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rm),
76827 /* 216807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76828 /* 216809 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76829 /* 216811 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76830 /* 216815 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76831 /* 216820 */ GIR_RootConstrainSelectedInstOperands,
76832 /* 216821 */ // GIR_Coverage, 6558,
76833 /* 216821 */ GIR_EraseRootFromParent_Done,
76834 /* 216822 */ // Label 5025: @216822
76835 /* 216822 */ GIM_Try, /*On fail goto*//*Label 5026*/ GIMT_Encode4(216845), // Rule ID 6554 //
76836 /* 216827 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
76837 /* 216830 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76838 /* 216834 */ // (strict_fsub:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VSUBPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
76839 /* 216834 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ128rr),
76840 /* 216839 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76841 /* 216843 */ GIR_RootConstrainSelectedInstOperands,
76842 /* 216844 */ // GIR_Coverage, 6554,
76843 /* 216844 */ GIR_Done,
76844 /* 216845 */ // Label 5026: @216845
76845 /* 216845 */ GIM_Reject,
76846 /* 216846 */ // Label 5024: @216846
76847 /* 216846 */ GIM_Reject,
76848 /* 216847 */ // Label 4972: @216847
76849 /* 216847 */ GIM_Try, /*On fail goto*//*Label 5027*/ GIMT_Encode4(216944),
76850 /* 216852 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
76851 /* 216855 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
76852 /* 216858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76853 /* 216862 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76854 /* 216866 */ GIM_Try, /*On fail goto*//*Label 5028*/ GIMT_Encode4(216920), // Rule ID 6570 //
76855 /* 216871 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
76856 /* 216874 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76857 /* 216878 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76858 /* 216882 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76859 /* 216885 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76860 /* 216889 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76861 /* 216893 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76862 /* 216895 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76863 /* 216902 */ // (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)
76864 /* 216902 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rm),
76865 /* 216905 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76866 /* 216907 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76867 /* 216909 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76868 /* 216913 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76869 /* 216918 */ GIR_RootConstrainSelectedInstOperands,
76870 /* 216919 */ // GIR_Coverage, 6570,
76871 /* 216919 */ GIR_EraseRootFromParent_Done,
76872 /* 216920 */ // Label 5028: @216920
76873 /* 216920 */ GIM_Try, /*On fail goto*//*Label 5029*/ GIMT_Encode4(216943), // Rule ID 6566 //
76874 /* 216925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
76875 /* 216928 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
76876 /* 216932 */ // (strict_fsub:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VSUBPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
76877 /* 216932 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZ256rr),
76878 /* 216937 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76879 /* 216941 */ GIR_RootConstrainSelectedInstOperands,
76880 /* 216942 */ // GIR_Coverage, 6566,
76881 /* 216942 */ GIR_Done,
76882 /* 216943 */ // Label 5029: @216943
76883 /* 216943 */ GIM_Reject,
76884 /* 216944 */ // Label 5027: @216944
76885 /* 216944 */ GIM_Reject,
76886 /* 216945 */ // Label 4973: @216945
76887 /* 216945 */ GIM_Try, /*On fail goto*//*Label 5030*/ GIMT_Encode4(217042),
76888 /* 216950 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
76889 /* 216953 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
76890 /* 216956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76891 /* 216960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76892 /* 216964 */ GIM_Try, /*On fail goto*//*Label 5031*/ GIMT_Encode4(217018), // Rule ID 6546 //
76893 /* 216969 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
76894 /* 216972 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76895 /* 216976 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76896 /* 216980 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76897 /* 216983 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76898 /* 216987 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76899 /* 216991 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76900 /* 216993 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76901 /* 217000 */ // (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)
76902 /* 217000 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrm),
76903 /* 217003 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76904 /* 217005 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76905 /* 217007 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76906 /* 217011 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76907 /* 217016 */ GIR_RootConstrainSelectedInstOperands,
76908 /* 217017 */ // GIR_Coverage, 6546,
76909 /* 217017 */ GIR_EraseRootFromParent_Done,
76910 /* 217018 */ // Label 5031: @217018
76911 /* 217018 */ GIM_Try, /*On fail goto*//*Label 5032*/ GIMT_Encode4(217041), // Rule ID 6542 //
76912 /* 217023 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
76913 /* 217026 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
76914 /* 217030 */ // (strict_fsub:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VSUBPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
76915 /* 217030 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPHZrr),
76916 /* 217035 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76917 /* 217039 */ GIR_RootConstrainSelectedInstOperands,
76918 /* 217040 */ // GIR_Coverage, 6542,
76919 /* 217040 */ GIR_Done,
76920 /* 217041 */ // Label 5032: @217041
76921 /* 217041 */ GIM_Reject,
76922 /* 217042 */ // Label 5030: @217042
76923 /* 217042 */ GIM_Reject,
76924 /* 217043 */ // Label 4974: @217043
76925 /* 217043 */ GIM_Try, /*On fail goto*//*Label 5033*/ GIMT_Encode4(217272),
76926 /* 217048 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
76927 /* 217051 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
76928 /* 217054 */ GIM_Try, /*On fail goto*//*Label 5034*/ GIMT_Encode4(217116), // Rule ID 2192 //
76929 /* 217059 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76930 /* 217062 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76931 /* 217066 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76932 /* 217070 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76933 /* 217074 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76934 /* 217078 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76935 /* 217081 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76936 /* 217085 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76937 /* 217089 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76938 /* 217091 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76939 /* 217098 */ // (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)
76940 /* 217098 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSrm),
76941 /* 217101 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76942 /* 217103 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76943 /* 217105 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76944 /* 217109 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76945 /* 217114 */ GIR_RootConstrainSelectedInstOperands,
76946 /* 217115 */ // GIR_Coverage, 2192,
76947 /* 217115 */ GIR_EraseRootFromParent_Done,
76948 /* 217116 */ // Label 5034: @217116
76949 /* 217116 */ GIM_Try, /*On fail goto*//*Label 5035*/ GIMT_Encode4(217178), // Rule ID 6498 //
76950 /* 217121 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76951 /* 217124 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76952 /* 217128 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76953 /* 217132 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
76954 /* 217136 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
76955 /* 217140 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
76956 /* 217143 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
76957 /* 217147 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
76958 /* 217151 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
76959 /* 217153 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
76960 /* 217160 */ // (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)
76961 /* 217160 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rm),
76962 /* 217163 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
76963 /* 217165 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
76964 /* 217167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
76965 /* 217171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
76966 /* 217176 */ GIR_RootConstrainSelectedInstOperands,
76967 /* 217177 */ // GIR_Coverage, 6498,
76968 /* 217177 */ GIR_EraseRootFromParent_Done,
76969 /* 217178 */ // Label 5035: @217178
76970 /* 217178 */ GIM_Try, /*On fail goto*//*Label 5036*/ GIMT_Encode4(217209), // Rule ID 2190 //
76971 /* 217183 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
76972 /* 217186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76973 /* 217190 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76974 /* 217194 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76975 /* 217198 */ // (strict_fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VSUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
76976 /* 217198 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSrr),
76977 /* 217203 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76978 /* 217207 */ GIR_RootConstrainSelectedInstOperands,
76979 /* 217208 */ // GIR_Coverage, 2190,
76980 /* 217208 */ GIR_Done,
76981 /* 217209 */ // Label 5036: @217209
76982 /* 217209 */ GIM_Try, /*On fail goto*//*Label 5037*/ GIMT_Encode4(217240), // Rule ID 2206 //
76983 /* 217214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
76984 /* 217217 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76985 /* 217221 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76986 /* 217225 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
76987 /* 217229 */ // (strict_fsub:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (SUBPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
76988 /* 217229 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPSrr),
76989 /* 217234 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
76990 /* 217238 */ GIR_RootConstrainSelectedInstOperands,
76991 /* 217239 */ // GIR_Coverage, 2206,
76992 /* 217239 */ GIR_Done,
76993 /* 217240 */ // Label 5037: @217240
76994 /* 217240 */ GIM_Try, /*On fail goto*//*Label 5038*/ GIMT_Encode4(217271), // Rule ID 6494 //
76995 /* 217245 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
76996 /* 217248 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76997 /* 217252 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76998 /* 217256 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
76999 /* 217260 */ // (strict_fsub:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VSUBPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
77000 /* 217260 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ128rr),
77001 /* 217265 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77002 /* 217269 */ GIR_RootConstrainSelectedInstOperands,
77003 /* 217270 */ // GIR_Coverage, 6494,
77004 /* 217270 */ GIR_Done,
77005 /* 217271 */ // Label 5038: @217271
77006 /* 217271 */ GIM_Reject,
77007 /* 217272 */ // Label 5033: @217272
77008 /* 217272 */ GIM_Reject,
77009 /* 217273 */ // Label 4975: @217273
77010 /* 217273 */ GIM_Try, /*On fail goto*//*Label 5039*/ GIMT_Encode4(217471),
77011 /* 217278 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
77012 /* 217281 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
77013 /* 217284 */ GIM_Try, /*On fail goto*//*Label 5040*/ GIMT_Encode4(217346), // Rule ID 2200 //
77014 /* 217289 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77015 /* 217292 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77016 /* 217296 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77017 /* 217300 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77018 /* 217304 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77019 /* 217308 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77020 /* 217311 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77021 /* 217315 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77022 /* 217319 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77023 /* 217321 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77024 /* 217328 */ // (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)
77025 /* 217328 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrm),
77026 /* 217331 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77027 /* 217333 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77028 /* 217335 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77029 /* 217339 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77030 /* 217344 */ GIR_RootConstrainSelectedInstOperands,
77031 /* 217345 */ // GIR_Coverage, 2200,
77032 /* 217345 */ GIR_EraseRootFromParent_Done,
77033 /* 217346 */ // Label 5040: @217346
77034 /* 217346 */ GIM_Try, /*On fail goto*//*Label 5041*/ GIMT_Encode4(217408), // Rule ID 6510 //
77035 /* 217351 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
77036 /* 217354 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77037 /* 217358 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77038 /* 217362 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77039 /* 217366 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77040 /* 217370 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77041 /* 217373 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77042 /* 217377 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77043 /* 217381 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77044 /* 217383 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77045 /* 217390 */ // (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)
77046 /* 217390 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rm),
77047 /* 217393 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77048 /* 217395 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77049 /* 217397 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77050 /* 217401 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77051 /* 217406 */ GIR_RootConstrainSelectedInstOperands,
77052 /* 217407 */ // GIR_Coverage, 6510,
77053 /* 217407 */ GIR_EraseRootFromParent_Done,
77054 /* 217408 */ // Label 5041: @217408
77055 /* 217408 */ GIM_Try, /*On fail goto*//*Label 5042*/ GIMT_Encode4(217439), // Rule ID 2198 //
77056 /* 217413 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77057 /* 217416 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77058 /* 217420 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77059 /* 217424 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77060 /* 217428 */ // (strict_fsub:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VSUBPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
77061 /* 217428 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSYrr),
77062 /* 217433 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77063 /* 217437 */ GIR_RootConstrainSelectedInstOperands,
77064 /* 217438 */ // GIR_Coverage, 2198,
77065 /* 217438 */ GIR_Done,
77066 /* 217439 */ // Label 5042: @217439
77067 /* 217439 */ GIM_Try, /*On fail goto*//*Label 5043*/ GIMT_Encode4(217470), // Rule ID 6506 //
77068 /* 217444 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
77069 /* 217447 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77070 /* 217451 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77071 /* 217455 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77072 /* 217459 */ // (strict_fsub:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VSUBPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
77073 /* 217459 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZ256rr),
77074 /* 217464 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77075 /* 217468 */ GIR_RootConstrainSelectedInstOperands,
77076 /* 217469 */ // GIR_Coverage, 6506,
77077 /* 217469 */ GIR_Done,
77078 /* 217470 */ // Label 5043: @217470
77079 /* 217470 */ GIM_Reject,
77080 /* 217471 */ // Label 5039: @217471
77081 /* 217471 */ GIM_Reject,
77082 /* 217472 */ // Label 4976: @217472
77083 /* 217472 */ GIM_Try, /*On fail goto*//*Label 5044*/ GIMT_Encode4(217569),
77084 /* 217477 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
77085 /* 217480 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
77086 /* 217483 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77087 /* 217487 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77088 /* 217491 */ GIM_Try, /*On fail goto*//*Label 5045*/ GIMT_Encode4(217545), // Rule ID 6474 //
77089 /* 217496 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77090 /* 217499 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77091 /* 217503 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77092 /* 217507 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77093 /* 217510 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77094 /* 217514 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77095 /* 217518 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77096 /* 217520 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77097 /* 217527 */ // (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)
77098 /* 217527 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrm),
77099 /* 217530 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77100 /* 217532 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77101 /* 217534 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77102 /* 217538 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77103 /* 217543 */ GIR_RootConstrainSelectedInstOperands,
77104 /* 217544 */ // GIR_Coverage, 6474,
77105 /* 217544 */ GIR_EraseRootFromParent_Done,
77106 /* 217545 */ // Label 5045: @217545
77107 /* 217545 */ GIM_Try, /*On fail goto*//*Label 5046*/ GIMT_Encode4(217568), // Rule ID 6470 //
77108 /* 217550 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77109 /* 217553 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77110 /* 217557 */ // (strict_fsub:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VSUBPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
77111 /* 217557 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPSZrr),
77112 /* 217562 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77113 /* 217566 */ GIR_RootConstrainSelectedInstOperands,
77114 /* 217567 */ // GIR_Coverage, 6470,
77115 /* 217567 */ GIR_Done,
77116 /* 217568 */ // Label 5046: @217568
77117 /* 217568 */ GIM_Reject,
77118 /* 217569 */ // Label 5044: @217569
77119 /* 217569 */ GIM_Reject,
77120 /* 217570 */ // Label 4977: @217570
77121 /* 217570 */ GIM_Try, /*On fail goto*//*Label 5047*/ GIMT_Encode4(217799),
77122 /* 217575 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
77123 /* 217578 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
77124 /* 217581 */ GIM_Try, /*On fail goto*//*Label 5048*/ GIMT_Encode4(217643), // Rule ID 2196 //
77125 /* 217586 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77126 /* 217589 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77127 /* 217593 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77128 /* 217597 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77129 /* 217601 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77130 /* 217605 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77131 /* 217608 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77132 /* 217612 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77133 /* 217616 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77134 /* 217618 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77135 /* 217625 */ // (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)
77136 /* 217625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDrm),
77137 /* 217628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77138 /* 217630 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77139 /* 217632 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77140 /* 217636 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77141 /* 217641 */ GIR_RootConstrainSelectedInstOperands,
77142 /* 217642 */ // GIR_Coverage, 2196,
77143 /* 217642 */ GIR_EraseRootFromParent_Done,
77144 /* 217643 */ // Label 5048: @217643
77145 /* 217643 */ GIM_Try, /*On fail goto*//*Label 5049*/ GIMT_Encode4(217705), // Rule ID 6522 //
77146 /* 217648 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
77147 /* 217651 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77148 /* 217655 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77149 /* 217659 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77150 /* 217663 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77151 /* 217667 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77152 /* 217670 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77153 /* 217674 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77154 /* 217678 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77155 /* 217680 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77156 /* 217687 */ // (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)
77157 /* 217687 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rm),
77158 /* 217690 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77159 /* 217692 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77160 /* 217694 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77161 /* 217698 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77162 /* 217703 */ GIR_RootConstrainSelectedInstOperands,
77163 /* 217704 */ // GIR_Coverage, 6522,
77164 /* 217704 */ GIR_EraseRootFromParent_Done,
77165 /* 217705 */ // Label 5049: @217705
77166 /* 217705 */ GIM_Try, /*On fail goto*//*Label 5050*/ GIMT_Encode4(217736), // Rule ID 2194 //
77167 /* 217710 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77168 /* 217713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77169 /* 217717 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77170 /* 217721 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77171 /* 217725 */ // (strict_fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VSUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
77172 /* 217725 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDrr),
77173 /* 217730 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77174 /* 217734 */ GIR_RootConstrainSelectedInstOperands,
77175 /* 217735 */ // GIR_Coverage, 2194,
77176 /* 217735 */ GIR_Done,
77177 /* 217736 */ // Label 5050: @217736
77178 /* 217736 */ GIM_Try, /*On fail goto*//*Label 5051*/ GIMT_Encode4(217767), // Rule ID 2210 //
77179 /* 217741 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
77180 /* 217744 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77181 /* 217748 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77182 /* 217752 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
77183 /* 217756 */ // (strict_fsub:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (SUBPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
77184 /* 217756 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SUBPDrr),
77185 /* 217761 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77186 /* 217765 */ GIR_RootConstrainSelectedInstOperands,
77187 /* 217766 */ // GIR_Coverage, 2210,
77188 /* 217766 */ GIR_Done,
77189 /* 217767 */ // Label 5051: @217767
77190 /* 217767 */ GIM_Try, /*On fail goto*//*Label 5052*/ GIMT_Encode4(217798), // Rule ID 6518 //
77191 /* 217772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
77192 /* 217775 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77193 /* 217779 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77194 /* 217783 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
77195 /* 217787 */ // (strict_fsub:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VSUBPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
77196 /* 217787 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ128rr),
77197 /* 217792 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77198 /* 217796 */ GIR_RootConstrainSelectedInstOperands,
77199 /* 217797 */ // GIR_Coverage, 6518,
77200 /* 217797 */ GIR_Done,
77201 /* 217798 */ // Label 5052: @217798
77202 /* 217798 */ GIM_Reject,
77203 /* 217799 */ // Label 5047: @217799
77204 /* 217799 */ GIM_Reject,
77205 /* 217800 */ // Label 4978: @217800
77206 /* 217800 */ GIM_Try, /*On fail goto*//*Label 5053*/ GIMT_Encode4(217998),
77207 /* 217805 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
77208 /* 217808 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
77209 /* 217811 */ GIM_Try, /*On fail goto*//*Label 5054*/ GIMT_Encode4(217873), // Rule ID 2204 //
77210 /* 217816 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77211 /* 217819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77212 /* 217823 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77213 /* 217827 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77214 /* 217831 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77215 /* 217835 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77216 /* 217838 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77217 /* 217842 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77218 /* 217846 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77219 /* 217848 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77220 /* 217855 */ // (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)
77221 /* 217855 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrm),
77222 /* 217858 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77223 /* 217860 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77224 /* 217862 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77225 /* 217866 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77226 /* 217871 */ GIR_RootConstrainSelectedInstOperands,
77227 /* 217872 */ // GIR_Coverage, 2204,
77228 /* 217872 */ GIR_EraseRootFromParent_Done,
77229 /* 217873 */ // Label 5054: @217873
77230 /* 217873 */ GIM_Try, /*On fail goto*//*Label 5055*/ GIMT_Encode4(217935), // Rule ID 6534 //
77231 /* 217878 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
77232 /* 217881 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77233 /* 217885 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77234 /* 217889 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77235 /* 217893 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77236 /* 217897 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77237 /* 217900 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77238 /* 217904 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77239 /* 217908 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77240 /* 217910 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77241 /* 217917 */ // (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)
77242 /* 217917 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rm),
77243 /* 217920 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77244 /* 217922 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77245 /* 217924 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77246 /* 217928 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77247 /* 217933 */ GIR_RootConstrainSelectedInstOperands,
77248 /* 217934 */ // GIR_Coverage, 6534,
77249 /* 217934 */ GIR_EraseRootFromParent_Done,
77250 /* 217935 */ // Label 5055: @217935
77251 /* 217935 */ GIM_Try, /*On fail goto*//*Label 5056*/ GIMT_Encode4(217966), // Rule ID 2202 //
77252 /* 217940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
77253 /* 217943 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77254 /* 217947 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77255 /* 217951 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
77256 /* 217955 */ // (strict_fsub:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VSUBPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
77257 /* 217955 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDYrr),
77258 /* 217960 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77259 /* 217964 */ GIR_RootConstrainSelectedInstOperands,
77260 /* 217965 */ // GIR_Coverage, 2202,
77261 /* 217965 */ GIR_Done,
77262 /* 217966 */ // Label 5056: @217966
77263 /* 217966 */ GIM_Try, /*On fail goto*//*Label 5057*/ GIMT_Encode4(217997), // Rule ID 6530 //
77264 /* 217971 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
77265 /* 217974 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77266 /* 217978 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77267 /* 217982 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
77268 /* 217986 */ // (strict_fsub:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VSUBPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
77269 /* 217986 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZ256rr),
77270 /* 217991 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77271 /* 217995 */ GIR_RootConstrainSelectedInstOperands,
77272 /* 217996 */ // GIR_Coverage, 6530,
77273 /* 217996 */ GIR_Done,
77274 /* 217997 */ // Label 5057: @217997
77275 /* 217997 */ GIM_Reject,
77276 /* 217998 */ // Label 5053: @217998
77277 /* 217998 */ GIM_Reject,
77278 /* 217999 */ // Label 4979: @217999
77279 /* 217999 */ GIM_Try, /*On fail goto*//*Label 5058*/ GIMT_Encode4(218096),
77280 /* 218004 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
77281 /* 218007 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
77282 /* 218010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77283 /* 218014 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77284 /* 218018 */ GIM_Try, /*On fail goto*//*Label 5059*/ GIMT_Encode4(218072), // Rule ID 6486 //
77285 /* 218023 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77286 /* 218026 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77287 /* 218030 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77288 /* 218034 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77289 /* 218037 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77290 /* 218041 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77291 /* 218045 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77292 /* 218047 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77293 /* 218054 */ // (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)
77294 /* 218054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrm),
77295 /* 218057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77296 /* 218059 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77297 /* 218061 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77298 /* 218065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77299 /* 218070 */ GIR_RootConstrainSelectedInstOperands,
77300 /* 218071 */ // GIR_Coverage, 6486,
77301 /* 218071 */ GIR_EraseRootFromParent_Done,
77302 /* 218072 */ // Label 5059: @218072
77303 /* 218072 */ GIM_Try, /*On fail goto*//*Label 5060*/ GIMT_Encode4(218095), // Rule ID 6482 //
77304 /* 218077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77305 /* 218080 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
77306 /* 218084 */ // (strict_fsub:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VSUBPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
77307 /* 218084 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSUBPDZrr),
77308 /* 218089 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77309 /* 218093 */ GIR_RootConstrainSelectedInstOperands,
77310 /* 218094 */ // GIR_Coverage, 6482,
77311 /* 218094 */ GIR_Done,
77312 /* 218095 */ // Label 5060: @218095
77313 /* 218095 */ GIM_Reject,
77314 /* 218096 */ // Label 5058: @218096
77315 /* 218096 */ GIM_Reject,
77316 /* 218097 */ // Label 4980: @218097
77317 /* 218097 */ GIM_Reject,
77318 /* 218098 */ // Label 71: @218098
77319 /* 218098 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 5074*/ GIMT_Encode4(223035),
77320 /* 218109 */ /*GILLT_s16*//*Label 5061*/ GIMT_Encode4(218201),
77321 /* 218113 */ /*GILLT_s32*//*Label 5062*/ GIMT_Encode4(218361),
77322 /* 218117 */ /*GILLT_s64*//*Label 5063*/ GIMT_Encode4(219266),
77323 /* 218121 */ /*GILLT_s80*//*Label 5064*/ GIMT_Encode4(220315), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
77324 /* 218165 */ /*GILLT_v8s16*//*Label 5065*/ GIMT_Encode4(220881),
77325 /* 218169 */ /*GILLT_v16s16*//*Label 5066*/ GIMT_Encode4(221041),
77326 /* 218173 */ /*GILLT_v32s16*//*Label 5067*/ GIMT_Encode4(221201),
77327 /* 218177 */ /*GILLT_v4s32*//*Label 5068*/ GIMT_Encode4(221361),
77328 /* 218181 */ /*GILLT_v8s32*//*Label 5069*/ GIMT_Encode4(221715),
77329 /* 218185 */ /*GILLT_v16s32*//*Label 5070*/ GIMT_Encode4(222038),
77330 /* 218189 */ /*GILLT_v2s64*//*Label 5071*/ GIMT_Encode4(222198),
77331 /* 218193 */ /*GILLT_v4s64*//*Label 5072*/ GIMT_Encode4(222552),
77332 /* 218197 */ /*GILLT_v8s64*//*Label 5073*/ GIMT_Encode4(222875),
77333 /* 218201 */ // Label 5061: @218201
77334 /* 218201 */ GIM_Try, /*On fail goto*//*Label 5075*/ GIMT_Encode4(218360),
77335 /* 218206 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
77336 /* 218209 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
77337 /* 218212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77338 /* 218216 */ GIM_Try, /*On fail goto*//*Label 5076*/ GIMT_Encode4(218274), // Rule ID 24313 //
77339 /* 218221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77340 /* 218224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77341 /* 218228 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77342 /* 218232 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77343 /* 218235 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77344 /* 218239 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77345 /* 218243 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77346 /* 218247 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77347 /* 218249 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77348 /* 218256 */ // (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)
77349 /* 218256 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
77350 /* 218259 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77351 /* 218261 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77352 /* 218263 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77353 /* 218267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77354 /* 218272 */ GIR_RootConstrainSelectedInstOperands,
77355 /* 218273 */ // GIR_Coverage, 24313,
77356 /* 218273 */ GIR_EraseRootFromParent_Done,
77357 /* 218274 */ // Label 5076: @218274
77358 /* 218274 */ GIM_Try, /*On fail goto*//*Label 5077*/ GIMT_Encode4(218332), // Rule ID 5991 //
77359 /* 218279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77360 /* 218282 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77361 /* 218286 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77362 /* 218290 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77363 /* 218294 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77364 /* 218297 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77365 /* 218301 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77366 /* 218305 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77367 /* 218307 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77368 /* 218314 */ // (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)
77369 /* 218314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSHZrm),
77370 /* 218317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77371 /* 218319 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77372 /* 218321 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77373 /* 218325 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77374 /* 218330 */ GIR_RootConstrainSelectedInstOperands,
77375 /* 218331 */ // GIR_Coverage, 5991,
77376 /* 218331 */ GIR_EraseRootFromParent_Done,
77377 /* 218332 */ // Label 5077: @218332
77378 /* 218332 */ GIM_Try, /*On fail goto*//*Label 5078*/ GIMT_Encode4(218359), // Rule ID 5989 //
77379 /* 218337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
77380 /* 218340 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77381 /* 218344 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
77382 /* 218348 */ // (strict_fmul:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VMULSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
77383 /* 218348 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSHZrr),
77384 /* 218353 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77385 /* 218357 */ GIR_RootConstrainSelectedInstOperands,
77386 /* 218358 */ // GIR_Coverage, 5989,
77387 /* 218358 */ GIR_Done,
77388 /* 218359 */ // Label 5078: @218359
77389 /* 218359 */ GIM_Reject,
77390 /* 218360 */ // Label 5075: @218360
77391 /* 218360 */ GIM_Reject,
77392 /* 218361 */ // Label 5062: @218361
77393 /* 218361 */ GIM_Try, /*On fail goto*//*Label 5079*/ GIMT_Encode4(219265),
77394 /* 218366 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
77395 /* 218369 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
77396 /* 218372 */ GIM_Try, /*On fail goto*//*Label 5080*/ GIMT_Encode4(218437), // Rule ID 23326 //
77397 /* 218377 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77398 /* 218380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77399 /* 218384 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77400 /* 218388 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77401 /* 218392 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77402 /* 218399 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77403 /* 218403 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77404 /* 218407 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77405 /* 218409 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77406 /* 218416 */ // (strict_fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77407 /* 218416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
77408 /* 218419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77409 /* 218421 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77410 /* 218423 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77411 /* 218427 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77412 /* 218430 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77413 /* 218435 */ GIR_RootConstrainSelectedInstOperands,
77414 /* 218436 */ // GIR_Coverage, 23326,
77415 /* 218436 */ GIR_EraseRootFromParent_Done,
77416 /* 218437 */ // Label 5080: @218437
77417 /* 218437 */ GIM_Try, /*On fail goto*//*Label 5081*/ GIMT_Encode4(218502), // Rule ID 23328 //
77418 /* 218442 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77419 /* 218445 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77420 /* 218449 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77421 /* 218453 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77422 /* 218457 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77423 /* 218464 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77424 /* 218468 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77425 /* 218472 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77426 /* 218474 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77427 /* 218481 */ // (strict_fmul:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77428 /* 218481 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
77429 /* 218484 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77430 /* 218486 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77431 /* 218488 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77432 /* 218492 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77433 /* 218495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77434 /* 218500 */ GIR_RootConstrainSelectedInstOperands,
77435 /* 218501 */ // GIR_Coverage, 23328,
77436 /* 218501 */ GIR_EraseRootFromParent_Done,
77437 /* 218502 */ // Label 5081: @218502
77438 /* 218502 */ GIM_Try, /*On fail goto*//*Label 5082*/ GIMT_Encode4(218567), // Rule ID 23316 //
77439 /* 218507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77440 /* 218510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77441 /* 218514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77442 /* 218518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77443 /* 218522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77444 /* 218525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77445 /* 218529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77446 /* 218533 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77447 /* 218537 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77448 /* 218539 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77449 /* 218546 */ // (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)
77450 /* 218546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
77451 /* 218549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77452 /* 218551 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77453 /* 218553 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77454 /* 218557 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77455 /* 218560 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77456 /* 218565 */ GIR_RootConstrainSelectedInstOperands,
77457 /* 218566 */ // GIR_Coverage, 23316,
77458 /* 218566 */ GIR_EraseRootFromParent_Done,
77459 /* 218567 */ // Label 5082: @218567
77460 /* 218567 */ GIM_Try, /*On fail goto*//*Label 5083*/ GIMT_Encode4(218629), // Rule ID 23459 //
77461 /* 218572 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77462 /* 218575 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77463 /* 218579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77464 /* 218583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77465 /* 218587 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77466 /* 218590 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77467 /* 218594 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77468 /* 218598 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77469 /* 218602 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77470 /* 218604 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77471 /* 218611 */ // (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)
77472 /* 218611 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
77473 /* 218614 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77474 /* 218616 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77475 /* 218618 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77476 /* 218622 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77477 /* 218627 */ GIR_RootConstrainSelectedInstOperands,
77478 /* 218628 */ // GIR_Coverage, 23459,
77479 /* 218628 */ GIR_EraseRootFromParent_Done,
77480 /* 218629 */ // Label 5083: @218629
77481 /* 218629 */ GIM_Try, /*On fail goto*//*Label 5084*/ GIMT_Encode4(218691), // Rule ID 23463 //
77482 /* 218634 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
77483 /* 218637 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77484 /* 218641 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77485 /* 218645 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77486 /* 218649 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77487 /* 218652 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77488 /* 218656 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77489 /* 218660 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77490 /* 218664 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77491 /* 218666 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77492 /* 218673 */ // (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)
77493 /* 218673 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
77494 /* 218676 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77495 /* 218678 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77496 /* 218680 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77497 /* 218684 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77498 /* 218689 */ GIR_RootConstrainSelectedInstOperands,
77499 /* 218690 */ // GIR_Coverage, 23463,
77500 /* 218690 */ GIR_EraseRootFromParent_Done,
77501 /* 218691 */ // Label 5084: @218691
77502 /* 218691 */ GIM_Try, /*On fail goto*//*Label 5085*/ GIMT_Encode4(218753), // Rule ID 24309 //
77503 /* 218696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77504 /* 218699 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77505 /* 218703 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77506 /* 218707 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77507 /* 218711 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77508 /* 218714 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77509 /* 218718 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77510 /* 218722 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77511 /* 218726 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77512 /* 218728 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77513 /* 218735 */ // (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)
77514 /* 218735 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
77515 /* 218738 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77516 /* 218740 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77517 /* 218742 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77518 /* 218746 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77519 /* 218751 */ GIR_RootConstrainSelectedInstOperands,
77520 /* 218752 */ // GIR_Coverage, 24309,
77521 /* 218752 */ GIR_EraseRootFromParent_Done,
77522 /* 218753 */ // Label 5085: @218753
77523 /* 218753 */ GIM_Try, /*On fail goto*//*Label 5086*/ GIMT_Encode4(218818), // Rule ID 962 //
77524 /* 218758 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77525 /* 218761 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77526 /* 218765 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77527 /* 218769 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77528 /* 218773 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77529 /* 218777 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77530 /* 218784 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77531 /* 218788 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77532 /* 218790 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77533 /* 218797 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77534 /* 218797 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m32),
77535 /* 218800 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77536 /* 218802 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77537 /* 218804 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77538 /* 218808 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77539 /* 218811 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77540 /* 218816 */ GIR_RootConstrainSelectedInstOperands,
77541 /* 218817 */ // GIR_Coverage, 962,
77542 /* 218817 */ GIR_EraseRootFromParent_Done,
77543 /* 218818 */ // Label 5086: @218818
77544 /* 218818 */ GIM_Try, /*On fail goto*//*Label 5087*/ GIMT_Encode4(218883), // Rule ID 964 //
77545 /* 218823 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77546 /* 218826 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77547 /* 218830 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77548 /* 218834 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77549 /* 218838 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77550 /* 218842 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77551 /* 218849 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77552 /* 218853 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77553 /* 218855 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77554 /* 218862 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
77555 /* 218862 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m32),
77556 /* 218865 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77557 /* 218867 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77558 /* 218869 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77559 /* 218873 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77560 /* 218876 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77561 /* 218881 */ GIR_RootConstrainSelectedInstOperands,
77562 /* 218882 */ // GIR_Coverage, 964,
77563 /* 218882 */ GIR_EraseRootFromParent_Done,
77564 /* 218883 */ // Label 5087: @218883
77565 /* 218883 */ GIM_Try, /*On fail goto*//*Label 5088*/ GIMT_Encode4(218948), // Rule ID 952 //
77566 /* 218888 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77567 /* 218891 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77568 /* 218895 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77569 /* 218899 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77570 /* 218903 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77571 /* 218907 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77572 /* 218910 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77573 /* 218914 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77574 /* 218918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77575 /* 218920 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77576 /* 218927 */ // (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)
77577 /* 218927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32m),
77578 /* 218930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77579 /* 218932 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77580 /* 218934 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77581 /* 218938 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77582 /* 218941 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77583 /* 218946 */ GIR_RootConstrainSelectedInstOperands,
77584 /* 218947 */ // GIR_Coverage, 952,
77585 /* 218947 */ GIR_EraseRootFromParent_Done,
77586 /* 218948 */ // Label 5088: @218948
77587 /* 218948 */ GIM_Try, /*On fail goto*//*Label 5089*/ GIMT_Encode4(219010), // Rule ID 2176 //
77588 /* 218953 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77589 /* 218956 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77590 /* 218960 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77591 /* 218964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77592 /* 218968 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77593 /* 218972 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77594 /* 218975 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77595 /* 218979 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77596 /* 218983 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77597 /* 218985 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77598 /* 218992 */ // (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)
77599 /* 218992 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSrm),
77600 /* 218995 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77601 /* 218997 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77602 /* 218999 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77603 /* 219003 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77604 /* 219008 */ GIR_RootConstrainSelectedInstOperands,
77605 /* 219009 */ // GIR_Coverage, 2176,
77606 /* 219009 */ GIR_EraseRootFromParent_Done,
77607 /* 219010 */ // Label 5089: @219010
77608 /* 219010 */ GIM_Try, /*On fail goto*//*Label 5090*/ GIMT_Encode4(219072), // Rule ID 2184 //
77609 /* 219015 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
77610 /* 219018 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77611 /* 219022 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77612 /* 219026 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77613 /* 219030 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77614 /* 219034 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77615 /* 219037 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77616 /* 219041 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77617 /* 219045 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77618 /* 219047 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77619 /* 219054 */ // (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)
77620 /* 219054 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSSrm),
77621 /* 219057 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77622 /* 219059 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77623 /* 219061 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77624 /* 219065 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77625 /* 219070 */ GIR_RootConstrainSelectedInstOperands,
77626 /* 219071 */ // GIR_Coverage, 2184,
77627 /* 219071 */ GIR_EraseRootFromParent_Done,
77628 /* 219072 */ // Label 5090: @219072
77629 /* 219072 */ GIM_Try, /*On fail goto*//*Label 5091*/ GIMT_Encode4(219134), // Rule ID 5953 //
77630 /* 219077 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77631 /* 219080 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77632 /* 219084 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77633 /* 219088 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77634 /* 219092 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77635 /* 219096 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77636 /* 219099 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77637 /* 219103 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77638 /* 219107 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77639 /* 219109 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77640 /* 219116 */ // (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)
77641 /* 219116 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSSZrm),
77642 /* 219119 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77643 /* 219121 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77644 /* 219123 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77645 /* 219127 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77646 /* 219132 */ GIR_RootConstrainSelectedInstOperands,
77647 /* 219133 */ // GIR_Coverage, 5953,
77648 /* 219133 */ GIR_EraseRootFromParent_Done,
77649 /* 219134 */ // Label 5091: @219134
77650 /* 219134 */ GIM_Try, /*On fail goto*//*Label 5092*/ GIMT_Encode4(219171), // Rule ID 874 //
77651 /* 219139 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
77652 /* 219142 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77653 /* 219146 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77654 /* 219150 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
77655 /* 219154 */ // (strict_fmul:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (MUL_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
77656 /* 219154 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp32),
77657 /* 219159 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
77658 /* 219165 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
77659 /* 219169 */ GIR_RootConstrainSelectedInstOperands,
77660 /* 219170 */ // GIR_Coverage, 874,
77661 /* 219170 */ GIR_Done,
77662 /* 219171 */ // Label 5092: @219171
77663 /* 219171 */ GIM_Try, /*On fail goto*//*Label 5093*/ GIMT_Encode4(219202), // Rule ID 2174 //
77664 /* 219176 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77665 /* 219179 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77666 /* 219183 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77667 /* 219187 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77668 /* 219191 */ // (strict_fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VMULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
77669 /* 219191 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSrr),
77670 /* 219196 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77671 /* 219200 */ GIR_RootConstrainSelectedInstOperands,
77672 /* 219201 */ // GIR_Coverage, 2174,
77673 /* 219201 */ GIR_Done,
77674 /* 219202 */ // Label 5093: @219202
77675 /* 219202 */ GIM_Try, /*On fail goto*//*Label 5094*/ GIMT_Encode4(219233), // Rule ID 2182 //
77676 /* 219207 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
77677 /* 219210 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77678 /* 219214 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77679 /* 219218 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
77680 /* 219222 */ // (strict_fmul:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (MULSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
77681 /* 219222 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSSrr),
77682 /* 219227 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77683 /* 219231 */ GIR_RootConstrainSelectedInstOperands,
77684 /* 219232 */ // GIR_Coverage, 2182,
77685 /* 219232 */ GIR_Done,
77686 /* 219233 */ // Label 5094: @219233
77687 /* 219233 */ GIM_Try, /*On fail goto*//*Label 5095*/ GIMT_Encode4(219264), // Rule ID 5951 //
77688 /* 219238 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77689 /* 219241 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77690 /* 219245 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77691 /* 219249 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
77692 /* 219253 */ // (strict_fmul:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VMULSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
77693 /* 219253 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSSZrr),
77694 /* 219258 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
77695 /* 219262 */ GIR_RootConstrainSelectedInstOperands,
77696 /* 219263 */ // GIR_Coverage, 5951,
77697 /* 219263 */ GIR_Done,
77698 /* 219264 */ // Label 5095: @219264
77699 /* 219264 */ GIM_Reject,
77700 /* 219265 */ // Label 5079: @219265
77701 /* 219265 */ GIM_Reject,
77702 /* 219266 */ // Label 5063: @219266
77703 /* 219266 */ GIM_Try, /*On fail goto*//*Label 5096*/ GIMT_Encode4(220314),
77704 /* 219271 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
77705 /* 219274 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
77706 /* 219277 */ GIM_Try, /*On fail goto*//*Label 5097*/ GIMT_Encode4(219342), // Rule ID 23330 //
77707 /* 219282 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77708 /* 219285 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77709 /* 219289 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77710 /* 219293 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77711 /* 219297 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77712 /* 219304 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77713 /* 219308 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77714 /* 219312 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77715 /* 219314 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77716 /* 219321 */ // (strict_fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77717 /* 219321 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
77718 /* 219324 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77719 /* 219326 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77720 /* 219328 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77721 /* 219332 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77722 /* 219335 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77723 /* 219340 */ GIR_RootConstrainSelectedInstOperands,
77724 /* 219341 */ // GIR_Coverage, 23330,
77725 /* 219341 */ GIR_EraseRootFromParent_Done,
77726 /* 219342 */ // Label 5097: @219342
77727 /* 219342 */ GIM_Try, /*On fail goto*//*Label 5098*/ GIMT_Encode4(219407), // Rule ID 23332 //
77728 /* 219347 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77729 /* 219350 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77730 /* 219354 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77731 /* 219358 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77732 /* 219362 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77733 /* 219369 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77734 /* 219373 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77735 /* 219377 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77736 /* 219379 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77737 /* 219386 */ // (strict_fmul:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77738 /* 219386 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
77739 /* 219389 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77740 /* 219391 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77741 /* 219393 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77742 /* 219397 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77743 /* 219400 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77744 /* 219405 */ GIR_RootConstrainSelectedInstOperands,
77745 /* 219406 */ // GIR_Coverage, 23332,
77746 /* 219406 */ GIR_EraseRootFromParent_Done,
77747 /* 219407 */ // Label 5098: @219407
77748 /* 219407 */ GIM_Try, /*On fail goto*//*Label 5099*/ GIMT_Encode4(219472), // Rule ID 23318 //
77749 /* 219412 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77750 /* 219415 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77751 /* 219419 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77752 /* 219423 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77753 /* 219427 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77754 /* 219430 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77755 /* 219434 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77756 /* 219438 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77757 /* 219442 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77758 /* 219444 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77759 /* 219451 */ // (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)
77760 /* 219451 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
77761 /* 219454 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77762 /* 219456 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77763 /* 219458 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77764 /* 219462 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77765 /* 219465 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77766 /* 219470 */ GIR_RootConstrainSelectedInstOperands,
77767 /* 219471 */ // GIR_Coverage, 23318,
77768 /* 219471 */ GIR_EraseRootFromParent_Done,
77769 /* 219472 */ // Label 5099: @219472
77770 /* 219472 */ GIM_Try, /*On fail goto*//*Label 5100*/ GIMT_Encode4(219544), // Rule ID 23320 //
77771 /* 219477 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77772 /* 219480 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77773 /* 219484 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77774 /* 219488 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77775 /* 219492 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77776 /* 219495 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77777 /* 219499 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77778 /* 219506 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77779 /* 219510 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77780 /* 219514 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77781 /* 219516 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77782 /* 219523 */ // (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)
77783 /* 219523 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
77784 /* 219526 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77785 /* 219528 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77786 /* 219530 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77787 /* 219534 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77788 /* 219537 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77789 /* 219542 */ GIR_RootConstrainSelectedInstOperands,
77790 /* 219543 */ // GIR_Coverage, 23320,
77791 /* 219543 */ GIR_EraseRootFromParent_Done,
77792 /* 219544 */ // Label 5100: @219544
77793 /* 219544 */ GIM_Try, /*On fail goto*//*Label 5101*/ GIMT_Encode4(219606), // Rule ID 23461 //
77794 /* 219549 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77795 /* 219552 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77796 /* 219556 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77797 /* 219560 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77798 /* 219564 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77799 /* 219567 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77800 /* 219571 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77801 /* 219575 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77802 /* 219579 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77803 /* 219581 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77804 /* 219588 */ // (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)
77805 /* 219588 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
77806 /* 219591 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77807 /* 219593 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77808 /* 219595 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77809 /* 219599 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77810 /* 219604 */ GIR_RootConstrainSelectedInstOperands,
77811 /* 219605 */ // GIR_Coverage, 23461,
77812 /* 219605 */ GIR_EraseRootFromParent_Done,
77813 /* 219606 */ // Label 5101: @219606
77814 /* 219606 */ GIM_Try, /*On fail goto*//*Label 5102*/ GIMT_Encode4(219668), // Rule ID 23465 //
77815 /* 219611 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
77816 /* 219614 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77817 /* 219618 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77818 /* 219622 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77819 /* 219626 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77820 /* 219629 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77821 /* 219633 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77822 /* 219637 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77823 /* 219641 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77824 /* 219643 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77825 /* 219650 */ // (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)
77826 /* 219650 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
77827 /* 219653 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77828 /* 219655 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77829 /* 219657 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77830 /* 219661 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77831 /* 219666 */ GIR_RootConstrainSelectedInstOperands,
77832 /* 219667 */ // GIR_Coverage, 23465,
77833 /* 219667 */ GIR_EraseRootFromParent_Done,
77834 /* 219668 */ // Label 5102: @219668
77835 /* 219668 */ GIM_Try, /*On fail goto*//*Label 5103*/ GIMT_Encode4(219730), // Rule ID 24311 //
77836 /* 219673 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77837 /* 219676 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
77838 /* 219680 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
77839 /* 219684 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77840 /* 219688 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77841 /* 219691 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77842 /* 219695 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77843 /* 219699 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
77844 /* 219703 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77845 /* 219705 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77846 /* 219712 */ // (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)
77847 /* 219712 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
77848 /* 219715 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77849 /* 219717 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
77850 /* 219719 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77851 /* 219723 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77852 /* 219728 */ GIR_RootConstrainSelectedInstOperands,
77853 /* 219729 */ // GIR_Coverage, 24311,
77854 /* 219729 */ GIR_EraseRootFromParent_Done,
77855 /* 219730 */ // Label 5103: @219730
77856 /* 219730 */ GIM_Try, /*On fail goto*//*Label 5104*/ GIMT_Encode4(219795), // Rule ID 966 //
77857 /* 219735 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77858 /* 219738 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77859 /* 219742 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77860 /* 219746 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77861 /* 219750 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77862 /* 219754 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
77863 /* 219761 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77864 /* 219765 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77865 /* 219767 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77866 /* 219774 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77867 /* 219774 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m64),
77868 /* 219777 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77869 /* 219779 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77870 /* 219781 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77871 /* 219785 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77872 /* 219788 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77873 /* 219793 */ GIR_RootConstrainSelectedInstOperands,
77874 /* 219794 */ // GIR_Coverage, 966,
77875 /* 219794 */ GIR_EraseRootFromParent_Done,
77876 /* 219795 */ // Label 5104: @219795
77877 /* 219795 */ GIM_Try, /*On fail goto*//*Label 5105*/ GIMT_Encode4(219860), // Rule ID 968 //
77878 /* 219800 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77879 /* 219803 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77880 /* 219807 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77881 /* 219811 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77882 /* 219815 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
77883 /* 219819 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77884 /* 219826 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77885 /* 219830 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77886 /* 219832 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77887 /* 219839 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
77888 /* 219839 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m64),
77889 /* 219842 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77890 /* 219844 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77891 /* 219846 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77892 /* 219850 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77893 /* 219853 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77894 /* 219858 */ GIR_RootConstrainSelectedInstOperands,
77895 /* 219859 */ // GIR_Coverage, 968,
77896 /* 219859 */ GIR_EraseRootFromParent_Done,
77897 /* 219860 */ // Label 5105: @219860
77898 /* 219860 */ GIM_Try, /*On fail goto*//*Label 5106*/ GIMT_Encode4(219925), // Rule ID 954 //
77899 /* 219865 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77900 /* 219868 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77901 /* 219872 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77902 /* 219876 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77903 /* 219880 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77904 /* 219884 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77905 /* 219887 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77906 /* 219891 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77907 /* 219895 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77908 /* 219897 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77909 /* 219904 */ // (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)
77910 /* 219904 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m),
77911 /* 219907 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77912 /* 219909 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77913 /* 219911 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77914 /* 219915 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77915 /* 219918 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77916 /* 219923 */ GIR_RootConstrainSelectedInstOperands,
77917 /* 219924 */ // GIR_Coverage, 954,
77918 /* 219924 */ GIR_EraseRootFromParent_Done,
77919 /* 219925 */ // Label 5106: @219925
77920 /* 219925 */ GIM_Try, /*On fail goto*//*Label 5107*/ GIMT_Encode4(219997), // Rule ID 956 //
77921 /* 219930 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
77922 /* 219933 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77923 /* 219937 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
77924 /* 219941 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77925 /* 219945 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77926 /* 219949 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77927 /* 219952 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77928 /* 219956 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
77929 /* 219963 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77930 /* 219967 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77931 /* 219969 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77932 /* 219976 */ // (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)
77933 /* 219976 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64m32),
77934 /* 219979 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77935 /* 219981 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77936 /* 219983 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77937 /* 219987 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
77938 /* 219990 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77939 /* 219995 */ GIR_RootConstrainSelectedInstOperands,
77940 /* 219996 */ // GIR_Coverage, 956,
77941 /* 219996 */ GIR_EraseRootFromParent_Done,
77942 /* 219997 */ // Label 5107: @219997
77943 /* 219997 */ GIM_Try, /*On fail goto*//*Label 5108*/ GIMT_Encode4(220059), // Rule ID 2180 //
77944 /* 220002 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
77945 /* 220005 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77946 /* 220009 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77947 /* 220013 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77948 /* 220017 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77949 /* 220021 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77950 /* 220024 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77951 /* 220028 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77952 /* 220032 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77953 /* 220034 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77954 /* 220041 */ // (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)
77955 /* 220041 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDrm),
77956 /* 220044 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77957 /* 220046 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77958 /* 220048 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77959 /* 220052 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77960 /* 220057 */ GIR_RootConstrainSelectedInstOperands,
77961 /* 220058 */ // GIR_Coverage, 2180,
77962 /* 220058 */ GIR_EraseRootFromParent_Done,
77963 /* 220059 */ // Label 5108: @220059
77964 /* 220059 */ GIM_Try, /*On fail goto*//*Label 5109*/ GIMT_Encode4(220121), // Rule ID 2188 //
77965 /* 220064 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
77966 /* 220067 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77967 /* 220071 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
77968 /* 220075 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77969 /* 220079 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77970 /* 220083 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77971 /* 220086 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77972 /* 220090 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77973 /* 220094 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77974 /* 220096 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77975 /* 220103 */ // (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)
77976 /* 220103 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MULSDrm),
77977 /* 220106 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77978 /* 220108 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
77979 /* 220110 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
77980 /* 220114 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
77981 /* 220119 */ GIR_RootConstrainSelectedInstOperands,
77982 /* 220120 */ // GIR_Coverage, 2188,
77983 /* 220120 */ GIR_EraseRootFromParent_Done,
77984 /* 220121 */ // Label 5109: @220121
77985 /* 220121 */ GIM_Try, /*On fail goto*//*Label 5110*/ GIMT_Encode4(220183), // Rule ID 5972 //
77986 /* 220126 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
77987 /* 220129 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
77988 /* 220133 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
77989 /* 220137 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
77990 /* 220141 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
77991 /* 220145 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
77992 /* 220148 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
77993 /* 220152 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
77994 /* 220156 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
77995 /* 220158 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
77996 /* 220165 */ // (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)
77997 /* 220165 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULSDZrm),
77998 /* 220168 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
77999 /* 220170 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78000 /* 220172 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78001 /* 220176 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78002 /* 220181 */ GIR_RootConstrainSelectedInstOperands,
78003 /* 220182 */ // GIR_Coverage, 5972,
78004 /* 220182 */ GIR_EraseRootFromParent_Done,
78005 /* 220183 */ // Label 5110: @220183
78006 /* 220183 */ GIM_Try, /*On fail goto*//*Label 5111*/ GIMT_Encode4(220220), // Rule ID 876 //
78007 /* 220188 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
78008 /* 220191 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78009 /* 220195 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78010 /* 220199 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
78011 /* 220203 */ // (strict_fmul:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (MUL_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
78012 /* 220203 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp64),
78013 /* 220208 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
78014 /* 220214 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
78015 /* 220218 */ GIR_RootConstrainSelectedInstOperands,
78016 /* 220219 */ // GIR_Coverage, 876,
78017 /* 220219 */ GIR_Done,
78018 /* 220220 */ // Label 5111: @220220
78019 /* 220220 */ GIM_Try, /*On fail goto*//*Label 5112*/ GIMT_Encode4(220251), // Rule ID 2178 //
78020 /* 220225 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
78021 /* 220228 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78022 /* 220232 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78023 /* 220236 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78024 /* 220240 */ // (strict_fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VMULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
78025 /* 220240 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDrr),
78026 /* 220245 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78027 /* 220249 */ GIR_RootConstrainSelectedInstOperands,
78028 /* 220250 */ // GIR_Coverage, 2178,
78029 /* 220250 */ GIR_Done,
78030 /* 220251 */ // Label 5112: @220251
78031 /* 220251 */ GIM_Try, /*On fail goto*//*Label 5113*/ GIMT_Encode4(220282), // Rule ID 2186 //
78032 /* 220256 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
78033 /* 220259 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78034 /* 220263 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78035 /* 220267 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
78036 /* 220271 */ // (strict_fmul:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (MULSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
78037 /* 220271 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULSDrr),
78038 /* 220276 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78039 /* 220280 */ GIR_RootConstrainSelectedInstOperands,
78040 /* 220281 */ // GIR_Coverage, 2186,
78041 /* 220281 */ GIR_Done,
78042 /* 220282 */ // Label 5113: @220282
78043 /* 220282 */ GIM_Try, /*On fail goto*//*Label 5114*/ GIMT_Encode4(220313), // Rule ID 5970 //
78044 /* 220287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78045 /* 220290 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78046 /* 220294 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78047 /* 220298 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
78048 /* 220302 */ // (strict_fmul:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VMULSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
78049 /* 220302 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULSDZrr),
78050 /* 220307 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78051 /* 220311 */ GIR_RootConstrainSelectedInstOperands,
78052 /* 220312 */ // GIR_Coverage, 5970,
78053 /* 220312 */ GIR_Done,
78054 /* 220313 */ // Label 5114: @220313
78055 /* 220313 */ GIM_Reject,
78056 /* 220314 */ // Label 5096: @220314
78057 /* 220314 */ GIM_Reject,
78058 /* 220315 */ // Label 5064: @220315
78059 /* 220315 */ GIM_Try, /*On fail goto*//*Label 5115*/ GIMT_Encode4(220880),
78060 /* 220320 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
78061 /* 220323 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
78062 /* 220326 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78063 /* 220330 */ GIM_Try, /*On fail goto*//*Label 5116*/ GIMT_Encode4(220391), // Rule ID 23334 //
78064 /* 220335 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78065 /* 220338 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78066 /* 220342 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78067 /* 220346 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
78068 /* 220353 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78069 /* 220357 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78070 /* 220361 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78071 /* 220363 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78072 /* 220370 */ // (strict_fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
78073 /* 220370 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
78074 /* 220373 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78075 /* 220375 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78076 /* 220377 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78077 /* 220381 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78078 /* 220384 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78079 /* 220389 */ GIR_RootConstrainSelectedInstOperands,
78080 /* 220390 */ // GIR_Coverage, 23334,
78081 /* 220390 */ GIR_EraseRootFromParent_Done,
78082 /* 220391 */ // Label 5116: @220391
78083 /* 220391 */ GIM_Try, /*On fail goto*//*Label 5117*/ GIMT_Encode4(220452), // Rule ID 23336 //
78084 /* 220396 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78085 /* 220399 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78086 /* 220403 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78087 /* 220407 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78088 /* 220414 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78089 /* 220418 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78090 /* 220422 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78091 /* 220424 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78092 /* 220431 */ // (strict_fmul:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
78093 /* 220431 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
78094 /* 220434 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78095 /* 220436 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78096 /* 220438 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78097 /* 220442 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78098 /* 220445 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78099 /* 220450 */ GIR_RootConstrainSelectedInstOperands,
78100 /* 220451 */ // GIR_Coverage, 23336,
78101 /* 220451 */ GIR_EraseRootFromParent_Done,
78102 /* 220452 */ // Label 5117: @220452
78103 /* 220452 */ GIM_Try, /*On fail goto*//*Label 5118*/ GIMT_Encode4(220520), // Rule ID 23322 //
78104 /* 220457 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78105 /* 220460 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78106 /* 220464 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78107 /* 220468 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78108 /* 220471 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78109 /* 220475 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78110 /* 220482 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78111 /* 220486 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78112 /* 220490 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78113 /* 220492 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78114 /* 220499 */ // (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)
78115 /* 220499 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
78116 /* 220502 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78117 /* 220504 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78118 /* 220506 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78119 /* 220510 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78120 /* 220513 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78121 /* 220518 */ GIR_RootConstrainSelectedInstOperands,
78122 /* 220519 */ // GIR_Coverage, 23322,
78123 /* 220519 */ GIR_EraseRootFromParent_Done,
78124 /* 220520 */ // Label 5118: @220520
78125 /* 220520 */ GIM_Try, /*On fail goto*//*Label 5119*/ GIMT_Encode4(220588), // Rule ID 23324 //
78126 /* 220525 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78127 /* 220528 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78128 /* 220532 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78129 /* 220536 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78130 /* 220539 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78131 /* 220543 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
78132 /* 220550 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78133 /* 220554 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78134 /* 220558 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78135 /* 220560 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78136 /* 220567 */ // (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)
78137 /* 220567 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
78138 /* 220570 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78139 /* 220572 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78140 /* 220574 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78141 /* 220578 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78142 /* 220581 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78143 /* 220586 */ GIR_RootConstrainSelectedInstOperands,
78144 /* 220587 */ // GIR_Coverage, 23324,
78145 /* 220587 */ GIR_EraseRootFromParent_Done,
78146 /* 220588 */ // Label 5119: @220588
78147 /* 220588 */ GIM_Try, /*On fail goto*//*Label 5120*/ GIMT_Encode4(220649), // Rule ID 970 //
78148 /* 220593 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78149 /* 220596 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78150 /* 220600 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78151 /* 220604 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78152 /* 220608 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
78153 /* 220615 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78154 /* 220619 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78155 /* 220621 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78156 /* 220628 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (MUL_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
78157 /* 220628 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI16m80),
78158 /* 220631 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78159 /* 220633 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78160 /* 220635 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78161 /* 220639 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78162 /* 220642 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78163 /* 220647 */ GIR_RootConstrainSelectedInstOperands,
78164 /* 220648 */ // GIR_Coverage, 970,
78165 /* 220648 */ GIR_EraseRootFromParent_Done,
78166 /* 220649 */ // Label 5120: @220649
78167 /* 220649 */ GIM_Try, /*On fail goto*//*Label 5121*/ GIMT_Encode4(220710), // Rule ID 972 //
78168 /* 220654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78169 /* 220657 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78170 /* 220661 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78171 /* 220665 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
78172 /* 220669 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78173 /* 220676 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78174 /* 220680 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78175 /* 220682 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78176 /* 220689 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (MUL_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
78177 /* 220689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_FpI32m80),
78178 /* 220692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78179 /* 220694 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78180 /* 220696 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78181 /* 220700 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78182 /* 220703 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78183 /* 220708 */ GIR_RootConstrainSelectedInstOperands,
78184 /* 220709 */ // GIR_Coverage, 972,
78185 /* 220709 */ GIR_EraseRootFromParent_Done,
78186 /* 220710 */ // Label 5121: @220710
78187 /* 220710 */ GIM_Try, /*On fail goto*//*Label 5122*/ GIMT_Encode4(220778), // Rule ID 958 //
78188 /* 220715 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78189 /* 220718 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78190 /* 220722 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78191 /* 220726 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78192 /* 220730 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78193 /* 220733 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78194 /* 220737 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
78195 /* 220744 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78196 /* 220748 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78197 /* 220750 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78198 /* 220757 */ // (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)
78199 /* 220757 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m32),
78200 /* 220760 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78201 /* 220762 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78202 /* 220764 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78203 /* 220768 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78204 /* 220771 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78205 /* 220776 */ GIR_RootConstrainSelectedInstOperands,
78206 /* 220777 */ // GIR_Coverage, 958,
78207 /* 220777 */ GIR_EraseRootFromParent_Done,
78208 /* 220778 */ // Label 5122: @220778
78209 /* 220778 */ GIM_Try, /*On fail goto*//*Label 5123*/ GIMT_Encode4(220846), // Rule ID 960 //
78210 /* 220783 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78211 /* 220786 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78212 /* 220790 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78213 /* 220794 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78214 /* 220798 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78215 /* 220801 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78216 /* 220805 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
78217 /* 220812 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78218 /* 220816 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78219 /* 220818 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78220 /* 220825 */ // (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)
78221 /* 220825 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80m64),
78222 /* 220828 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78223 /* 220830 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78224 /* 220832 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78225 /* 220836 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
78226 /* 220839 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78227 /* 220844 */ GIR_RootConstrainSelectedInstOperands,
78228 /* 220845 */ // GIR_Coverage, 960,
78229 /* 220845 */ GIR_EraseRootFromParent_Done,
78230 /* 220846 */ // Label 5123: @220846
78231 /* 220846 */ GIM_Try, /*On fail goto*//*Label 5124*/ GIMT_Encode4(220879), // Rule ID 878 //
78232 /* 220851 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
78233 /* 220854 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78234 /* 220858 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
78235 /* 220862 */ // (strict_fmul:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (MUL_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
78236 /* 220862 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MUL_Fp80),
78237 /* 220867 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
78238 /* 220873 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
78239 /* 220877 */ GIR_RootConstrainSelectedInstOperands,
78240 /* 220878 */ // GIR_Coverage, 878,
78241 /* 220878 */ GIR_Done,
78242 /* 220879 */ // Label 5124: @220879
78243 /* 220879 */ GIM_Reject,
78244 /* 220880 */ // Label 5115: @220880
78245 /* 220880 */ GIM_Reject,
78246 /* 220881 */ // Label 5065: @220881
78247 /* 220881 */ GIM_Try, /*On fail goto*//*Label 5125*/ GIMT_Encode4(221040),
78248 /* 220886 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
78249 /* 220889 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
78250 /* 220892 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78251 /* 220896 */ GIM_Try, /*On fail goto*//*Label 5126*/ GIMT_Encode4(220954), // Rule ID 24449 //
78252 /* 220901 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78253 /* 220904 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78254 /* 220908 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78255 /* 220912 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78256 /* 220915 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78257 /* 220919 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78258 /* 220923 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78259 /* 220927 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78260 /* 220929 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78261 /* 220936 */ // (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)
78262 /* 220936 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
78263 /* 220939 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78264 /* 220941 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78265 /* 220943 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78266 /* 220947 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78267 /* 220952 */ GIR_RootConstrainSelectedInstOperands,
78268 /* 220953 */ // GIR_Coverage, 24449,
78269 /* 220953 */ GIR_EraseRootFromParent_Done,
78270 /* 220954 */ // Label 5126: @220954
78271 /* 220954 */ GIM_Try, /*On fail goto*//*Label 5127*/ GIMT_Encode4(221012), // Rule ID 6441 //
78272 /* 220959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78273 /* 220962 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78274 /* 220966 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78275 /* 220970 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78276 /* 220974 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78277 /* 220977 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78278 /* 220981 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78279 /* 220985 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78280 /* 220987 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78281 /* 220994 */ // (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)
78282 /* 220994 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rm),
78283 /* 220997 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78284 /* 220999 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78285 /* 221001 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78286 /* 221005 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78287 /* 221010 */ GIR_RootConstrainSelectedInstOperands,
78288 /* 221011 */ // GIR_Coverage, 6441,
78289 /* 221011 */ GIR_EraseRootFromParent_Done,
78290 /* 221012 */ // Label 5127: @221012
78291 /* 221012 */ GIM_Try, /*On fail goto*//*Label 5128*/ GIMT_Encode4(221039), // Rule ID 6437 //
78292 /* 221017 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78293 /* 221020 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78294 /* 221024 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78295 /* 221028 */ // (strict_fmul:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VMULPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
78296 /* 221028 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ128rr),
78297 /* 221033 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78298 /* 221037 */ GIR_RootConstrainSelectedInstOperands,
78299 /* 221038 */ // GIR_Coverage, 6437,
78300 /* 221038 */ GIR_Done,
78301 /* 221039 */ // Label 5128: @221039
78302 /* 221039 */ GIM_Reject,
78303 /* 221040 */ // Label 5125: @221040
78304 /* 221040 */ GIM_Reject,
78305 /* 221041 */ // Label 5066: @221041
78306 /* 221041 */ GIM_Try, /*On fail goto*//*Label 5129*/ GIMT_Encode4(221200),
78307 /* 221046 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
78308 /* 221049 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
78309 /* 221052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78310 /* 221056 */ GIM_Try, /*On fail goto*//*Label 5130*/ GIMT_Encode4(221114), // Rule ID 24457 //
78311 /* 221061 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78312 /* 221064 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78313 /* 221068 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78314 /* 221072 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78315 /* 221075 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78316 /* 221079 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78317 /* 221083 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78318 /* 221087 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78319 /* 221089 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78320 /* 221096 */ // (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)
78321 /* 221096 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
78322 /* 221099 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78323 /* 221101 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78324 /* 221103 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78325 /* 221107 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78326 /* 221112 */ GIR_RootConstrainSelectedInstOperands,
78327 /* 221113 */ // GIR_Coverage, 24457,
78328 /* 221113 */ GIR_EraseRootFromParent_Done,
78329 /* 221114 */ // Label 5130: @221114
78330 /* 221114 */ GIM_Try, /*On fail goto*//*Label 5131*/ GIMT_Encode4(221172), // Rule ID 6453 //
78331 /* 221119 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78332 /* 221122 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78333 /* 221126 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78334 /* 221130 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78335 /* 221134 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78336 /* 221137 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78337 /* 221141 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78338 /* 221145 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78339 /* 221147 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78340 /* 221154 */ // (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)
78341 /* 221154 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rm),
78342 /* 221157 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78343 /* 221159 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78344 /* 221161 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78345 /* 221165 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78346 /* 221170 */ GIR_RootConstrainSelectedInstOperands,
78347 /* 221171 */ // GIR_Coverage, 6453,
78348 /* 221171 */ GIR_EraseRootFromParent_Done,
78349 /* 221172 */ // Label 5131: @221172
78350 /* 221172 */ GIM_Try, /*On fail goto*//*Label 5132*/ GIMT_Encode4(221199), // Rule ID 6449 //
78351 /* 221177 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
78352 /* 221180 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78353 /* 221184 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78354 /* 221188 */ // (strict_fmul:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VMULPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
78355 /* 221188 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZ256rr),
78356 /* 221193 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78357 /* 221197 */ GIR_RootConstrainSelectedInstOperands,
78358 /* 221198 */ // GIR_Coverage, 6449,
78359 /* 221198 */ GIR_Done,
78360 /* 221199 */ // Label 5132: @221199
78361 /* 221199 */ GIM_Reject,
78362 /* 221200 */ // Label 5129: @221200
78363 /* 221200 */ GIM_Reject,
78364 /* 221201 */ // Label 5067: @221201
78365 /* 221201 */ GIM_Try, /*On fail goto*//*Label 5133*/ GIMT_Encode4(221360),
78366 /* 221206 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
78367 /* 221209 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
78368 /* 221212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78369 /* 221216 */ GIM_Try, /*On fail goto*//*Label 5134*/ GIMT_Encode4(221274), // Rule ID 24441 //
78370 /* 221221 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
78371 /* 221224 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78372 /* 221228 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78373 /* 221232 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78374 /* 221235 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78375 /* 221239 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78376 /* 221243 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78377 /* 221247 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78378 /* 221249 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78379 /* 221256 */ // (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)
78380 /* 221256 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
78381 /* 221259 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78382 /* 221261 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78383 /* 221263 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78384 /* 221267 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78385 /* 221272 */ GIR_RootConstrainSelectedInstOperands,
78386 /* 221273 */ // GIR_Coverage, 24441,
78387 /* 221273 */ GIR_EraseRootFromParent_Done,
78388 /* 221274 */ // Label 5134: @221274
78389 /* 221274 */ GIM_Try, /*On fail goto*//*Label 5135*/ GIMT_Encode4(221332), // Rule ID 6429 //
78390 /* 221279 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
78391 /* 221282 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78392 /* 221286 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78393 /* 221290 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78394 /* 221294 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78395 /* 221297 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78396 /* 221301 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78397 /* 221305 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78398 /* 221307 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78399 /* 221314 */ // (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)
78400 /* 221314 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPHZrm),
78401 /* 221317 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78402 /* 221319 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78403 /* 221321 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78404 /* 221325 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78405 /* 221330 */ GIR_RootConstrainSelectedInstOperands,
78406 /* 221331 */ // GIR_Coverage, 6429,
78407 /* 221331 */ GIR_EraseRootFromParent_Done,
78408 /* 221332 */ // Label 5135: @221332
78409 /* 221332 */ GIM_Try, /*On fail goto*//*Label 5136*/ GIMT_Encode4(221359), // Rule ID 6425 //
78410 /* 221337 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
78411 /* 221340 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78412 /* 221344 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78413 /* 221348 */ // (strict_fmul:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VMULPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
78414 /* 221348 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPHZrr),
78415 /* 221353 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78416 /* 221357 */ GIR_RootConstrainSelectedInstOperands,
78417 /* 221358 */ // GIR_Coverage, 6425,
78418 /* 221358 */ GIR_Done,
78419 /* 221359 */ // Label 5136: @221359
78420 /* 221359 */ GIM_Reject,
78421 /* 221360 */ // Label 5133: @221360
78422 /* 221360 */ GIM_Reject,
78423 /* 221361 */ // Label 5068: @221361
78424 /* 221361 */ GIM_Try, /*On fail goto*//*Label 5137*/ GIMT_Encode4(221714),
78425 /* 221366 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
78426 /* 221369 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
78427 /* 221372 */ GIM_Try, /*On fail goto*//*Label 5138*/ GIMT_Encode4(221434), // Rule ID 23447 //
78428 /* 221377 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78429 /* 221380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78430 /* 221384 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78431 /* 221388 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78432 /* 221392 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78433 /* 221395 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78434 /* 221399 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78435 /* 221403 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78436 /* 221407 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78437 /* 221409 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78438 /* 221416 */ // (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)
78439 /* 221416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
78440 /* 221419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78441 /* 221421 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78442 /* 221423 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78443 /* 221427 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78444 /* 221432 */ GIR_RootConstrainSelectedInstOperands,
78445 /* 221433 */ // GIR_Coverage, 23447,
78446 /* 221433 */ GIR_EraseRootFromParent_Done,
78447 /* 221434 */ // Label 5138: @221434
78448 /* 221434 */ GIM_Try, /*On fail goto*//*Label 5139*/ GIMT_Encode4(221496), // Rule ID 24409 //
78449 /* 221439 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78450 /* 221442 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78451 /* 221446 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78452 /* 221450 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78453 /* 221454 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78454 /* 221457 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78455 /* 221461 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78456 /* 221465 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78457 /* 221469 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78458 /* 221471 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78459 /* 221478 */ // (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)
78460 /* 221478 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
78461 /* 221481 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78462 /* 221483 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78463 /* 221485 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78464 /* 221489 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78465 /* 221494 */ GIR_RootConstrainSelectedInstOperands,
78466 /* 221495 */ // GIR_Coverage, 24409,
78467 /* 221495 */ GIR_EraseRootFromParent_Done,
78468 /* 221496 */ // Label 5139: @221496
78469 /* 221496 */ GIM_Try, /*On fail goto*//*Label 5140*/ GIMT_Encode4(221558), // Rule ID 2152 //
78470 /* 221501 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78471 /* 221504 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78472 /* 221508 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78473 /* 221512 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78474 /* 221516 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78475 /* 221520 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78476 /* 221523 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78477 /* 221527 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78478 /* 221531 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78479 /* 221533 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78480 /* 221540 */ // (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)
78481 /* 221540 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSrm),
78482 /* 221543 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78483 /* 221545 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78484 /* 221547 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78485 /* 221551 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78486 /* 221556 */ GIR_RootConstrainSelectedInstOperands,
78487 /* 221557 */ // GIR_Coverage, 2152,
78488 /* 221557 */ GIR_EraseRootFromParent_Done,
78489 /* 221558 */ // Label 5140: @221558
78490 /* 221558 */ GIM_Try, /*On fail goto*//*Label 5141*/ GIMT_Encode4(221620), // Rule ID 6381 //
78491 /* 221563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78492 /* 221566 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78493 /* 221570 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78494 /* 221574 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78495 /* 221578 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78496 /* 221582 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78497 /* 221585 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78498 /* 221589 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78499 /* 221593 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78500 /* 221595 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78501 /* 221602 */ // (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)
78502 /* 221602 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rm),
78503 /* 221605 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78504 /* 221607 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78505 /* 221609 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78506 /* 221613 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78507 /* 221618 */ GIR_RootConstrainSelectedInstOperands,
78508 /* 221619 */ // GIR_Coverage, 6381,
78509 /* 221619 */ GIR_EraseRootFromParent_Done,
78510 /* 221620 */ // Label 5141: @221620
78511 /* 221620 */ GIM_Try, /*On fail goto*//*Label 5142*/ GIMT_Encode4(221651), // Rule ID 2150 //
78512 /* 221625 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78513 /* 221628 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78514 /* 221632 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78515 /* 221636 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78516 /* 221640 */ // (strict_fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VMULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
78517 /* 221640 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSrr),
78518 /* 221645 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78519 /* 221649 */ GIR_RootConstrainSelectedInstOperands,
78520 /* 221650 */ // GIR_Coverage, 2150,
78521 /* 221650 */ GIR_Done,
78522 /* 221651 */ // Label 5142: @221651
78523 /* 221651 */ GIM_Try, /*On fail goto*//*Label 5143*/ GIMT_Encode4(221682), // Rule ID 2166 //
78524 /* 221656 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
78525 /* 221659 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78526 /* 221663 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78527 /* 221667 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78528 /* 221671 */ // (strict_fmul:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (MULPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
78529 /* 221671 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPSrr),
78530 /* 221676 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78531 /* 221680 */ GIR_RootConstrainSelectedInstOperands,
78532 /* 221681 */ // GIR_Coverage, 2166,
78533 /* 221681 */ GIR_Done,
78534 /* 221682 */ // Label 5143: @221682
78535 /* 221682 */ GIM_Try, /*On fail goto*//*Label 5144*/ GIMT_Encode4(221713), // Rule ID 6377 //
78536 /* 221687 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78537 /* 221690 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78538 /* 221694 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78539 /* 221698 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78540 /* 221702 */ // (strict_fmul:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VMULPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
78541 /* 221702 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ128rr),
78542 /* 221707 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78543 /* 221711 */ GIR_RootConstrainSelectedInstOperands,
78544 /* 221712 */ // GIR_Coverage, 6377,
78545 /* 221712 */ GIR_Done,
78546 /* 221713 */ // Label 5144: @221713
78547 /* 221713 */ GIM_Reject,
78548 /* 221714 */ // Label 5137: @221714
78549 /* 221714 */ GIM_Reject,
78550 /* 221715 */ // Label 5069: @221715
78551 /* 221715 */ GIM_Try, /*On fail goto*//*Label 5145*/ GIMT_Encode4(222037),
78552 /* 221720 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
78553 /* 221723 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
78554 /* 221726 */ GIM_Try, /*On fail goto*//*Label 5146*/ GIMT_Encode4(221788), // Rule ID 23451 //
78555 /* 221731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78556 /* 221734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78557 /* 221738 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78558 /* 221742 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78559 /* 221746 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78560 /* 221749 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78561 /* 221753 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78562 /* 221757 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78563 /* 221761 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78564 /* 221763 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78565 /* 221770 */ // (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)
78566 /* 221770 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
78567 /* 221773 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78568 /* 221775 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78569 /* 221777 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78570 /* 221781 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78571 /* 221786 */ GIR_RootConstrainSelectedInstOperands,
78572 /* 221787 */ // GIR_Coverage, 23451,
78573 /* 221787 */ GIR_EraseRootFromParent_Done,
78574 /* 221788 */ // Label 5146: @221788
78575 /* 221788 */ GIM_Try, /*On fail goto*//*Label 5147*/ GIMT_Encode4(221850), // Rule ID 24417 //
78576 /* 221793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78577 /* 221796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78578 /* 221800 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78579 /* 221804 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78580 /* 221808 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78581 /* 221811 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78582 /* 221815 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78583 /* 221819 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78584 /* 221823 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78585 /* 221825 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78586 /* 221832 */ // (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)
78587 /* 221832 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
78588 /* 221835 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78589 /* 221837 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78590 /* 221839 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78591 /* 221843 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78592 /* 221848 */ GIR_RootConstrainSelectedInstOperands,
78593 /* 221849 */ // GIR_Coverage, 24417,
78594 /* 221849 */ GIR_EraseRootFromParent_Done,
78595 /* 221850 */ // Label 5147: @221850
78596 /* 221850 */ GIM_Try, /*On fail goto*//*Label 5148*/ GIMT_Encode4(221912), // Rule ID 2160 //
78597 /* 221855 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78598 /* 221858 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78599 /* 221862 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78600 /* 221866 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78601 /* 221870 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78602 /* 221874 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78603 /* 221877 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78604 /* 221881 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78605 /* 221885 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78606 /* 221887 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78607 /* 221894 */ // (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)
78608 /* 221894 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSYrm),
78609 /* 221897 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78610 /* 221899 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78611 /* 221901 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78612 /* 221905 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78613 /* 221910 */ GIR_RootConstrainSelectedInstOperands,
78614 /* 221911 */ // GIR_Coverage, 2160,
78615 /* 221911 */ GIR_EraseRootFromParent_Done,
78616 /* 221912 */ // Label 5148: @221912
78617 /* 221912 */ GIM_Try, /*On fail goto*//*Label 5149*/ GIMT_Encode4(221974), // Rule ID 6393 //
78618 /* 221917 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78619 /* 221920 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78620 /* 221924 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78621 /* 221928 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78622 /* 221932 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78623 /* 221936 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78624 /* 221939 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78625 /* 221943 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78626 /* 221947 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78627 /* 221949 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78628 /* 221956 */ // (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)
78629 /* 221956 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rm),
78630 /* 221959 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78631 /* 221961 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78632 /* 221963 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78633 /* 221967 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78634 /* 221972 */ GIR_RootConstrainSelectedInstOperands,
78635 /* 221973 */ // GIR_Coverage, 6393,
78636 /* 221973 */ GIR_EraseRootFromParent_Done,
78637 /* 221974 */ // Label 5149: @221974
78638 /* 221974 */ GIM_Try, /*On fail goto*//*Label 5150*/ GIMT_Encode4(222005), // Rule ID 2158 //
78639 /* 221979 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78640 /* 221982 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78641 /* 221986 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78642 /* 221990 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78643 /* 221994 */ // (strict_fmul:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VMULPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
78644 /* 221994 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSYrr),
78645 /* 221999 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78646 /* 222003 */ GIR_RootConstrainSelectedInstOperands,
78647 /* 222004 */ // GIR_Coverage, 2158,
78648 /* 222004 */ GIR_Done,
78649 /* 222005 */ // Label 5150: @222005
78650 /* 222005 */ GIM_Try, /*On fail goto*//*Label 5151*/ GIMT_Encode4(222036), // Rule ID 6389 //
78651 /* 222010 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78652 /* 222013 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78653 /* 222017 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78654 /* 222021 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78655 /* 222025 */ // (strict_fmul:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VMULPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
78656 /* 222025 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZ256rr),
78657 /* 222030 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78658 /* 222034 */ GIR_RootConstrainSelectedInstOperands,
78659 /* 222035 */ // GIR_Coverage, 6389,
78660 /* 222035 */ GIR_Done,
78661 /* 222036 */ // Label 5151: @222036
78662 /* 222036 */ GIM_Reject,
78663 /* 222037 */ // Label 5145: @222037
78664 /* 222037 */ GIM_Reject,
78665 /* 222038 */ // Label 5070: @222038
78666 /* 222038 */ GIM_Try, /*On fail goto*//*Label 5152*/ GIMT_Encode4(222197),
78667 /* 222043 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
78668 /* 222046 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
78669 /* 222049 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78670 /* 222053 */ GIM_Try, /*On fail goto*//*Label 5153*/ GIMT_Encode4(222111), // Rule ID 24393 //
78671 /* 222058 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78672 /* 222061 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78673 /* 222065 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78674 /* 222069 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78675 /* 222072 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78676 /* 222076 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78677 /* 222080 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78678 /* 222084 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78679 /* 222086 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78680 /* 222093 */ // (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)
78681 /* 222093 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
78682 /* 222096 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78683 /* 222098 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78684 /* 222100 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78685 /* 222104 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78686 /* 222109 */ GIR_RootConstrainSelectedInstOperands,
78687 /* 222110 */ // GIR_Coverage, 24393,
78688 /* 222110 */ GIR_EraseRootFromParent_Done,
78689 /* 222111 */ // Label 5153: @222111
78690 /* 222111 */ GIM_Try, /*On fail goto*//*Label 5154*/ GIMT_Encode4(222169), // Rule ID 6357 //
78691 /* 222116 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78692 /* 222119 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78693 /* 222123 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78694 /* 222127 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78695 /* 222131 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78696 /* 222134 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78697 /* 222138 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78698 /* 222142 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78699 /* 222144 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78700 /* 222151 */ // (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)
78701 /* 222151 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPSZrm),
78702 /* 222154 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78703 /* 222156 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78704 /* 222158 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78705 /* 222162 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78706 /* 222167 */ GIR_RootConstrainSelectedInstOperands,
78707 /* 222168 */ // GIR_Coverage, 6357,
78708 /* 222168 */ GIR_EraseRootFromParent_Done,
78709 /* 222169 */ // Label 5154: @222169
78710 /* 222169 */ GIM_Try, /*On fail goto*//*Label 5155*/ GIMT_Encode4(222196), // Rule ID 6353 //
78711 /* 222174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78712 /* 222177 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78713 /* 222181 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78714 /* 222185 */ // (strict_fmul:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VMULPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
78715 /* 222185 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPSZrr),
78716 /* 222190 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78717 /* 222194 */ GIR_RootConstrainSelectedInstOperands,
78718 /* 222195 */ // GIR_Coverage, 6353,
78719 /* 222195 */ GIR_Done,
78720 /* 222196 */ // Label 5155: @222196
78721 /* 222196 */ GIM_Reject,
78722 /* 222197 */ // Label 5152: @222197
78723 /* 222197 */ GIM_Reject,
78724 /* 222198 */ // Label 5071: @222198
78725 /* 222198 */ GIM_Try, /*On fail goto*//*Label 5156*/ GIMT_Encode4(222551),
78726 /* 222203 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
78727 /* 222206 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
78728 /* 222209 */ GIM_Try, /*On fail goto*//*Label 5157*/ GIMT_Encode4(222271), // Rule ID 23449 //
78729 /* 222214 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78730 /* 222217 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78731 /* 222221 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78732 /* 222225 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78733 /* 222229 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78734 /* 222232 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78735 /* 222236 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78736 /* 222240 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78737 /* 222244 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78738 /* 222246 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78739 /* 222253 */ // (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)
78740 /* 222253 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
78741 /* 222256 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78742 /* 222258 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78743 /* 222260 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78744 /* 222264 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78745 /* 222269 */ GIR_RootConstrainSelectedInstOperands,
78746 /* 222270 */ // GIR_Coverage, 23449,
78747 /* 222270 */ GIR_EraseRootFromParent_Done,
78748 /* 222271 */ // Label 5157: @222271
78749 /* 222271 */ GIM_Try, /*On fail goto*//*Label 5158*/ GIMT_Encode4(222333), // Rule ID 24425 //
78750 /* 222276 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78751 /* 222279 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78752 /* 222283 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78753 /* 222287 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78754 /* 222291 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78755 /* 222294 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78756 /* 222298 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78757 /* 222302 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78758 /* 222306 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78759 /* 222308 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78760 /* 222315 */ // (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)
78761 /* 222315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
78762 /* 222318 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78763 /* 222320 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78764 /* 222322 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78765 /* 222326 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78766 /* 222331 */ GIR_RootConstrainSelectedInstOperands,
78767 /* 222332 */ // GIR_Coverage, 24425,
78768 /* 222332 */ GIR_EraseRootFromParent_Done,
78769 /* 222333 */ // Label 5158: @222333
78770 /* 222333 */ GIM_Try, /*On fail goto*//*Label 5159*/ GIMT_Encode4(222395), // Rule ID 2156 //
78771 /* 222338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78772 /* 222341 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78773 /* 222345 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78774 /* 222349 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78775 /* 222353 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78776 /* 222357 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78777 /* 222360 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78778 /* 222364 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78779 /* 222368 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78780 /* 222370 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78781 /* 222377 */ // (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)
78782 /* 222377 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDrm),
78783 /* 222380 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78784 /* 222382 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78785 /* 222384 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78786 /* 222388 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78787 /* 222393 */ GIR_RootConstrainSelectedInstOperands,
78788 /* 222394 */ // GIR_Coverage, 2156,
78789 /* 222394 */ GIR_EraseRootFromParent_Done,
78790 /* 222395 */ // Label 5159: @222395
78791 /* 222395 */ GIM_Try, /*On fail goto*//*Label 5160*/ GIMT_Encode4(222457), // Rule ID 6405 //
78792 /* 222400 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78793 /* 222403 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78794 /* 222407 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78795 /* 222411 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78796 /* 222415 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78797 /* 222419 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78798 /* 222422 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78799 /* 222426 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78800 /* 222430 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78801 /* 222432 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78802 /* 222439 */ // (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)
78803 /* 222439 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rm),
78804 /* 222442 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78805 /* 222444 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78806 /* 222446 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78807 /* 222450 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78808 /* 222455 */ GIR_RootConstrainSelectedInstOperands,
78809 /* 222456 */ // GIR_Coverage, 6405,
78810 /* 222456 */ GIR_EraseRootFromParent_Done,
78811 /* 222457 */ // Label 5160: @222457
78812 /* 222457 */ GIM_Try, /*On fail goto*//*Label 5161*/ GIMT_Encode4(222488), // Rule ID 2154 //
78813 /* 222462 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78814 /* 222465 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78815 /* 222469 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78816 /* 222473 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78817 /* 222477 */ // (strict_fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VMULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
78818 /* 222477 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDrr),
78819 /* 222482 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78820 /* 222486 */ GIR_RootConstrainSelectedInstOperands,
78821 /* 222487 */ // GIR_Coverage, 2154,
78822 /* 222487 */ GIR_Done,
78823 /* 222488 */ // Label 5161: @222488
78824 /* 222488 */ GIM_Try, /*On fail goto*//*Label 5162*/ GIMT_Encode4(222519), // Rule ID 2170 //
78825 /* 222493 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
78826 /* 222496 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78827 /* 222500 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78828 /* 222504 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
78829 /* 222508 */ // (strict_fmul:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (MULPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
78830 /* 222508 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::MULPDrr),
78831 /* 222513 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78832 /* 222517 */ GIR_RootConstrainSelectedInstOperands,
78833 /* 222518 */ // GIR_Coverage, 2170,
78834 /* 222518 */ GIR_Done,
78835 /* 222519 */ // Label 5162: @222519
78836 /* 222519 */ GIM_Try, /*On fail goto*//*Label 5163*/ GIMT_Encode4(222550), // Rule ID 6401 //
78837 /* 222524 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78838 /* 222527 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78839 /* 222531 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78840 /* 222535 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
78841 /* 222539 */ // (strict_fmul:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VMULPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
78842 /* 222539 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ128rr),
78843 /* 222544 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78844 /* 222548 */ GIR_RootConstrainSelectedInstOperands,
78845 /* 222549 */ // GIR_Coverage, 6401,
78846 /* 222549 */ GIR_Done,
78847 /* 222550 */ // Label 5163: @222550
78848 /* 222550 */ GIM_Reject,
78849 /* 222551 */ // Label 5156: @222551
78850 /* 222551 */ GIM_Reject,
78851 /* 222552 */ // Label 5072: @222552
78852 /* 222552 */ GIM_Try, /*On fail goto*//*Label 5164*/ GIMT_Encode4(222874),
78853 /* 222557 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
78854 /* 222560 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
78855 /* 222563 */ GIM_Try, /*On fail goto*//*Label 5165*/ GIMT_Encode4(222625), // Rule ID 23453 //
78856 /* 222568 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78857 /* 222571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78858 /* 222575 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78859 /* 222579 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78860 /* 222583 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78861 /* 222586 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78862 /* 222590 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78863 /* 222594 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78864 /* 222598 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78865 /* 222600 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78866 /* 222607 */ // (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)
78867 /* 222607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
78868 /* 222610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78869 /* 222612 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78870 /* 222614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78871 /* 222618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78872 /* 222623 */ GIR_RootConstrainSelectedInstOperands,
78873 /* 222624 */ // GIR_Coverage, 23453,
78874 /* 222624 */ GIR_EraseRootFromParent_Done,
78875 /* 222625 */ // Label 5165: @222625
78876 /* 222625 */ GIM_Try, /*On fail goto*//*Label 5166*/ GIMT_Encode4(222687), // Rule ID 24433 //
78877 /* 222630 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78878 /* 222633 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78879 /* 222637 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78880 /* 222641 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78881 /* 222645 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78882 /* 222648 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78883 /* 222652 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78884 /* 222656 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78885 /* 222660 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78886 /* 222662 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78887 /* 222669 */ // (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)
78888 /* 222669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
78889 /* 222672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78890 /* 222674 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78891 /* 222676 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78892 /* 222680 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78893 /* 222685 */ GIR_RootConstrainSelectedInstOperands,
78894 /* 222686 */ // GIR_Coverage, 24433,
78895 /* 222686 */ GIR_EraseRootFromParent_Done,
78896 /* 222687 */ // Label 5166: @222687
78897 /* 222687 */ GIM_Try, /*On fail goto*//*Label 5167*/ GIMT_Encode4(222749), // Rule ID 2164 //
78898 /* 222692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78899 /* 222695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78900 /* 222699 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78901 /* 222703 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78902 /* 222707 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78903 /* 222711 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78904 /* 222714 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78905 /* 222718 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78906 /* 222722 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78907 /* 222724 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78908 /* 222731 */ // (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)
78909 /* 222731 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDYrm),
78910 /* 222734 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78911 /* 222736 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78912 /* 222738 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78913 /* 222742 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78914 /* 222747 */ GIR_RootConstrainSelectedInstOperands,
78915 /* 222748 */ // GIR_Coverage, 2164,
78916 /* 222748 */ GIR_EraseRootFromParent_Done,
78917 /* 222749 */ // Label 5167: @222749
78918 /* 222749 */ GIM_Try, /*On fail goto*//*Label 5168*/ GIMT_Encode4(222811), // Rule ID 6417 //
78919 /* 222754 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78920 /* 222757 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78921 /* 222761 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78922 /* 222765 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78923 /* 222769 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78924 /* 222773 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78925 /* 222776 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78926 /* 222780 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78927 /* 222784 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78928 /* 222786 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78929 /* 222793 */ // (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)
78930 /* 222793 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rm),
78931 /* 222796 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78932 /* 222798 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
78933 /* 222800 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78934 /* 222804 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78935 /* 222809 */ GIR_RootConstrainSelectedInstOperands,
78936 /* 222810 */ // GIR_Coverage, 6417,
78937 /* 222810 */ GIR_EraseRootFromParent_Done,
78938 /* 222811 */ // Label 5168: @222811
78939 /* 222811 */ GIM_Try, /*On fail goto*//*Label 5169*/ GIMT_Encode4(222842), // Rule ID 2162 //
78940 /* 222816 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
78941 /* 222819 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78942 /* 222823 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78943 /* 222827 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
78944 /* 222831 */ // (strict_fmul:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VMULPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
78945 /* 222831 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDYrr),
78946 /* 222836 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78947 /* 222840 */ GIR_RootConstrainSelectedInstOperands,
78948 /* 222841 */ // GIR_Coverage, 2162,
78949 /* 222841 */ GIR_Done,
78950 /* 222842 */ // Label 5169: @222842
78951 /* 222842 */ GIM_Try, /*On fail goto*//*Label 5170*/ GIMT_Encode4(222873), // Rule ID 6413 //
78952 /* 222847 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
78953 /* 222850 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78954 /* 222854 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78955 /* 222858 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
78956 /* 222862 */ // (strict_fmul:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VMULPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
78957 /* 222862 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZ256rr),
78958 /* 222867 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
78959 /* 222871 */ GIR_RootConstrainSelectedInstOperands,
78960 /* 222872 */ // GIR_Coverage, 6413,
78961 /* 222872 */ GIR_Done,
78962 /* 222873 */ // Label 5170: @222873
78963 /* 222873 */ GIM_Reject,
78964 /* 222874 */ // Label 5164: @222874
78965 /* 222874 */ GIM_Reject,
78966 /* 222875 */ // Label 5073: @222875
78967 /* 222875 */ GIM_Try, /*On fail goto*//*Label 5171*/ GIMT_Encode4(223034),
78968 /* 222880 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
78969 /* 222883 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
78970 /* 222886 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78971 /* 222890 */ GIM_Try, /*On fail goto*//*Label 5172*/ GIMT_Encode4(222948), // Rule ID 24401 //
78972 /* 222895 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78973 /* 222898 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
78974 /* 222902 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78975 /* 222906 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78976 /* 222909 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78977 /* 222913 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78978 /* 222917 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78979 /* 222921 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
78980 /* 222923 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
78981 /* 222930 */ // (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)
78982 /* 222930 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
78983 /* 222933 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
78984 /* 222935 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
78985 /* 222937 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
78986 /* 222941 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
78987 /* 222946 */ GIR_RootConstrainSelectedInstOperands,
78988 /* 222947 */ // GIR_Coverage, 24401,
78989 /* 222947 */ GIR_EraseRootFromParent_Done,
78990 /* 222948 */ // Label 5172: @222948
78991 /* 222948 */ GIM_Try, /*On fail goto*//*Label 5173*/ GIMT_Encode4(223006), // Rule ID 6369 //
78992 /* 222953 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
78993 /* 222956 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
78994 /* 222960 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
78995 /* 222964 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
78996 /* 222968 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
78997 /* 222971 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
78998 /* 222975 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
78999 /* 222979 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79000 /* 222981 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79001 /* 222988 */ // (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)
79002 /* 222988 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VMULPDZrm),
79003 /* 222991 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79004 /* 222993 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79005 /* 222995 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79006 /* 222999 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79007 /* 223004 */ GIR_RootConstrainSelectedInstOperands,
79008 /* 223005 */ // GIR_Coverage, 6369,
79009 /* 223005 */ GIR_EraseRootFromParent_Done,
79010 /* 223006 */ // Label 5173: @223006
79011 /* 223006 */ GIM_Try, /*On fail goto*//*Label 5174*/ GIMT_Encode4(223033), // Rule ID 6365 //
79012 /* 223011 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79013 /* 223014 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79014 /* 223018 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79015 /* 223022 */ // (strict_fmul:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VMULPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
79016 /* 223022 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VMULPDZrr),
79017 /* 223027 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79018 /* 223031 */ GIR_RootConstrainSelectedInstOperands,
79019 /* 223032 */ // GIR_Coverage, 6365,
79020 /* 223032 */ GIR_Done,
79021 /* 223033 */ // Label 5174: @223033
79022 /* 223033 */ GIM_Reject,
79023 /* 223034 */ // Label 5171: @223034
79024 /* 223034 */ GIM_Reject,
79025 /* 223035 */ // Label 5074: @223035
79026 /* 223035 */ GIM_Reject,
79027 /* 223036 */ // Label 72: @223036
79028 /* 223036 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 5188*/ GIMT_Encode4(226733),
79029 /* 223047 */ /*GILLT_s16*//*Label 5175*/ GIMT_Encode4(223139),
79030 /* 223051 */ /*GILLT_s32*//*Label 5176*/ GIMT_Encode4(223237),
79031 /* 223055 */ /*GILLT_s64*//*Label 5177*/ GIMT_Encode4(223956),
79032 /* 223059 */ /*GILLT_s80*//*Label 5178*/ GIMT_Encode4(224819), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
79033 /* 223103 */ /*GILLT_v8s16*//*Label 5179*/ GIMT_Encode4(225385),
79034 /* 223107 */ /*GILLT_v16s16*//*Label 5180*/ GIMT_Encode4(225483),
79035 /* 223111 */ /*GILLT_v32s16*//*Label 5181*/ GIMT_Encode4(225581),
79036 /* 223115 */ /*GILLT_v4s32*//*Label 5182*/ GIMT_Encode4(225679),
79037 /* 223119 */ /*GILLT_v8s32*//*Label 5183*/ GIMT_Encode4(225909),
79038 /* 223123 */ /*GILLT_v16s32*//*Label 5184*/ GIMT_Encode4(226108),
79039 /* 223127 */ /*GILLT_v2s64*//*Label 5185*/ GIMT_Encode4(226206),
79040 /* 223131 */ /*GILLT_v4s64*//*Label 5186*/ GIMT_Encode4(226436),
79041 /* 223135 */ /*GILLT_v8s64*//*Label 5187*/ GIMT_Encode4(226635),
79042 /* 223139 */ // Label 5175: @223139
79043 /* 223139 */ GIM_Try, /*On fail goto*//*Label 5189*/ GIMT_Encode4(223236),
79044 /* 223144 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
79045 /* 223147 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
79046 /* 223150 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
79047 /* 223154 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
79048 /* 223158 */ GIM_Try, /*On fail goto*//*Label 5190*/ GIMT_Encode4(223212), // Rule ID 6105 //
79049 /* 223163 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
79050 /* 223166 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79051 /* 223170 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79052 /* 223174 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79053 /* 223177 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79054 /* 223181 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79055 /* 223185 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79056 /* 223187 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79057 /* 223194 */ // (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)
79058 /* 223194 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrm),
79059 /* 223197 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79060 /* 223199 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79061 /* 223201 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79062 /* 223205 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79063 /* 223210 */ GIR_RootConstrainSelectedInstOperands,
79064 /* 223211 */ // GIR_Coverage, 6105,
79065 /* 223211 */ GIR_EraseRootFromParent_Done,
79066 /* 223212 */ // Label 5190: @223212
79067 /* 223212 */ GIM_Try, /*On fail goto*//*Label 5191*/ GIMT_Encode4(223235), // Rule ID 6103 //
79068 /* 223217 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
79069 /* 223220 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
79070 /* 223224 */ // (strict_fdiv:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2) => (VDIVSHZrr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2)
79071 /* 223224 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSHZrr),
79072 /* 223229 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79073 /* 223233 */ GIR_RootConstrainSelectedInstOperands,
79074 /* 223234 */ // GIR_Coverage, 6103,
79075 /* 223234 */ GIR_Done,
79076 /* 223235 */ // Label 5191: @223235
79077 /* 223235 */ GIM_Reject,
79078 /* 223236 */ // Label 5189: @223236
79079 /* 223236 */ GIM_Reject,
79080 /* 223237 */ // Label 5176: @223237
79081 /* 223237 */ GIM_Try, /*On fail goto*//*Label 5192*/ GIMT_Encode4(223955),
79082 /* 223242 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
79083 /* 223245 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
79084 /* 223248 */ GIM_Try, /*On fail goto*//*Label 5193*/ GIMT_Encode4(223313), // Rule ID 1006 //
79085 /* 223253 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
79086 /* 223256 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79087 /* 223260 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79088 /* 223264 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79089 /* 223268 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79090 /* 223275 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79091 /* 223279 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79092 /* 223283 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79093 /* 223285 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79094 /* 223292 */ // (strict_fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
79095 /* 223292 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m32),
79096 /* 223295 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79097 /* 223297 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79098 /* 223299 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79099 /* 223303 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79100 /* 223306 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79101 /* 223311 */ GIR_RootConstrainSelectedInstOperands,
79102 /* 223312 */ // GIR_Coverage, 1006,
79103 /* 223312 */ GIR_EraseRootFromParent_Done,
79104 /* 223313 */ // Label 5193: @223313
79105 /* 223313 */ GIM_Try, /*On fail goto*//*Label 5194*/ GIMT_Encode4(223378), // Rule ID 1008 //
79106 /* 223318 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
79107 /* 223321 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79108 /* 223325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79109 /* 223329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79110 /* 223333 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79111 /* 223340 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79112 /* 223344 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79113 /* 223348 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79114 /* 223350 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79115 /* 223357 */ // (strict_fdiv:{ *:[f32] } (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP32:{ *:[f32] }:$src1) => (DIVR_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
79116 /* 223357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m32),
79117 /* 223360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79118 /* 223362 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79119 /* 223364 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79120 /* 223368 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79121 /* 223371 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79122 /* 223376 */ GIR_RootConstrainSelectedInstOperands,
79123 /* 223377 */ // GIR_Coverage, 1008,
79124 /* 223377 */ GIR_EraseRootFromParent_Done,
79125 /* 223378 */ // Label 5194: @223378
79126 /* 223378 */ GIM_Try, /*On fail goto*//*Label 5195*/ GIMT_Encode4(223443), // Rule ID 996 //
79127 /* 223383 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
79128 /* 223386 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79129 /* 223390 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79130 /* 223394 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79131 /* 223398 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79132 /* 223401 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79133 /* 223405 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79134 /* 223409 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79135 /* 223413 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79136 /* 223415 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79137 /* 223422 */ // (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)
79138 /* 223422 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp32m),
79139 /* 223425 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79140 /* 223427 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79141 /* 223429 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79142 /* 223433 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79143 /* 223436 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79144 /* 223441 */ GIR_RootConstrainSelectedInstOperands,
79145 /* 223442 */ // GIR_Coverage, 996,
79146 /* 223442 */ GIR_EraseRootFromParent_Done,
79147 /* 223443 */ // Label 5195: @223443
79148 /* 223443 */ GIM_Try, /*On fail goto*//*Label 5196*/ GIMT_Encode4(223508), // Rule ID 984 //
79149 /* 223448 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
79150 /* 223451 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79151 /* 223455 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79152 /* 223459 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79153 /* 223463 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79154 /* 223467 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79155 /* 223474 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79156 /* 223478 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79157 /* 223480 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79158 /* 223487 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
79159 /* 223487 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m32),
79160 /* 223490 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79161 /* 223492 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79162 /* 223494 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79163 /* 223498 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79164 /* 223501 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79165 /* 223506 */ GIR_RootConstrainSelectedInstOperands,
79166 /* 223507 */ // GIR_Coverage, 984,
79167 /* 223507 */ GIR_EraseRootFromParent_Done,
79168 /* 223508 */ // Label 5196: @223508
79169 /* 223508 */ GIM_Try, /*On fail goto*//*Label 5197*/ GIMT_Encode4(223573), // Rule ID 986 //
79170 /* 223513 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
79171 /* 223516 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79172 /* 223520 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79173 /* 223524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79174 /* 223528 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79175 /* 223532 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79176 /* 223539 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79177 /* 223543 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79178 /* 223545 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79179 /* 223552 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, addr:{ *:[iPTR] }:$src2)
79180 /* 223552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m32),
79181 /* 223555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79182 /* 223557 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79183 /* 223559 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79184 /* 223563 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79185 /* 223566 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79186 /* 223571 */ GIR_RootConstrainSelectedInstOperands,
79187 /* 223572 */ // GIR_Coverage, 986,
79188 /* 223572 */ GIR_EraseRootFromParent_Done,
79189 /* 223573 */ // Label 5197: @223573
79190 /* 223573 */ GIM_Try, /*On fail goto*//*Label 5198*/ GIMT_Encode4(223638), // Rule ID 974 //
79191 /* 223578 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
79192 /* 223581 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79193 /* 223585 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79194 /* 223589 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79195 /* 223593 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79196 /* 223597 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79197 /* 223600 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79198 /* 223604 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79199 /* 223608 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79200 /* 223610 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79201 /* 223617 */ // (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)
79202 /* 223617 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32m),
79203 /* 223620 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79204 /* 223622 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79205 /* 223624 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79206 /* 223628 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79207 /* 223631 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79208 /* 223636 */ GIR_RootConstrainSelectedInstOperands,
79209 /* 223637 */ // GIR_Coverage, 974,
79210 /* 223637 */ GIR_EraseRootFromParent_Done,
79211 /* 223638 */ // Label 5198: @223638
79212 /* 223638 */ GIM_Try, /*On fail goto*//*Label 5199*/ GIMT_Encode4(223700), // Rule ID 2256 //
79213 /* 223643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
79214 /* 223646 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79215 /* 223650 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79216 /* 223654 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79217 /* 223658 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79218 /* 223662 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79219 /* 223665 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79220 /* 223669 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79221 /* 223673 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79222 /* 223675 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79223 /* 223682 */ // (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)
79224 /* 223682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSrm),
79225 /* 223685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79226 /* 223687 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79227 /* 223689 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79228 /* 223693 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79229 /* 223698 */ GIR_RootConstrainSelectedInstOperands,
79230 /* 223699 */ // GIR_Coverage, 2256,
79231 /* 223699 */ GIR_EraseRootFromParent_Done,
79232 /* 223700 */ // Label 5199: @223700
79233 /* 223700 */ GIM_Try, /*On fail goto*//*Label 5200*/ GIMT_Encode4(223762), // Rule ID 2264 //
79234 /* 223705 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
79235 /* 223708 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79236 /* 223712 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79237 /* 223716 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79238 /* 223720 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79239 /* 223724 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79240 /* 223727 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79241 /* 223731 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79242 /* 223735 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79243 /* 223737 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79244 /* 223744 */ // (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)
79245 /* 223744 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSSrm),
79246 /* 223747 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79247 /* 223749 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79248 /* 223751 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79249 /* 223755 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79250 /* 223760 */ GIR_RootConstrainSelectedInstOperands,
79251 /* 223761 */ // GIR_Coverage, 2264,
79252 /* 223761 */ GIR_EraseRootFromParent_Done,
79253 /* 223762 */ // Label 5200: @223762
79254 /* 223762 */ GIM_Try, /*On fail goto*//*Label 5201*/ GIMT_Encode4(223824), // Rule ID 6067 //
79255 /* 223767 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79256 /* 223770 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79257 /* 223774 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79258 /* 223778 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79259 /* 223782 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79260 /* 223786 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79261 /* 223789 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79262 /* 223793 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79263 /* 223797 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79264 /* 223799 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79265 /* 223806 */ // (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)
79266 /* 223806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrm),
79267 /* 223809 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79268 /* 223811 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79269 /* 223813 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79270 /* 223817 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79271 /* 223822 */ GIR_RootConstrainSelectedInstOperands,
79272 /* 223823 */ // GIR_Coverage, 6067,
79273 /* 223823 */ GIR_EraseRootFromParent_Done,
79274 /* 223824 */ // Label 5201: @223824
79275 /* 223824 */ GIM_Try, /*On fail goto*//*Label 5202*/ GIMT_Encode4(223861), // Rule ID 880 //
79276 /* 223829 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
79277 /* 223832 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79278 /* 223836 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79279 /* 223840 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
79280 /* 223844 */ // (strict_fdiv:{ *:[f32] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2) => (DIV_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src1, RFP32:{ *:[f32] }:$src2)
79281 /* 223844 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp32),
79282 /* 223849 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
79283 /* 223855 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
79284 /* 223859 */ GIR_RootConstrainSelectedInstOperands,
79285 /* 223860 */ // GIR_Coverage, 880,
79286 /* 223860 */ GIR_Done,
79287 /* 223861 */ // Label 5202: @223861
79288 /* 223861 */ GIM_Try, /*On fail goto*//*Label 5203*/ GIMT_Encode4(223892), // Rule ID 2254 //
79289 /* 223866 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
79290 /* 223869 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79291 /* 223873 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79292 /* 223877 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79293 /* 223881 */ // (strict_fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (VDIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
79294 /* 223881 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSrr),
79295 /* 223886 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79296 /* 223890 */ GIR_RootConstrainSelectedInstOperands,
79297 /* 223891 */ // GIR_Coverage, 2254,
79298 /* 223891 */ GIR_Done,
79299 /* 223892 */ // Label 5203: @223892
79300 /* 223892 */ GIM_Try, /*On fail goto*//*Label 5204*/ GIMT_Encode4(223923), // Rule ID 2262 //
79301 /* 223897 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
79302 /* 223900 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79303 /* 223904 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79304 /* 223908 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
79305 /* 223912 */ // (strict_fdiv:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2) => (DIVSSrr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2)
79306 /* 223912 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSSrr),
79307 /* 223917 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79308 /* 223921 */ GIR_RootConstrainSelectedInstOperands,
79309 /* 223922 */ // GIR_Coverage, 2262,
79310 /* 223922 */ GIR_Done,
79311 /* 223923 */ // Label 5204: @223923
79312 /* 223923 */ GIM_Try, /*On fail goto*//*Label 5205*/ GIMT_Encode4(223954), // Rule ID 6065 //
79313 /* 223928 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79314 /* 223931 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79315 /* 223935 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79316 /* 223939 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
79317 /* 223943 */ // (strict_fdiv:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2) => (VDIVSSZrr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2)
79318 /* 223943 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSSZrr),
79319 /* 223948 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79320 /* 223952 */ GIR_RootConstrainSelectedInstOperands,
79321 /* 223953 */ // GIR_Coverage, 6065,
79322 /* 223953 */ GIR_Done,
79323 /* 223954 */ // Label 5205: @223954
79324 /* 223954 */ GIM_Reject,
79325 /* 223955 */ // Label 5192: @223955
79326 /* 223955 */ GIM_Reject,
79327 /* 223956 */ // Label 5177: @223956
79328 /* 223956 */ GIM_Try, /*On fail goto*//*Label 5206*/ GIMT_Encode4(224818),
79329 /* 223961 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
79330 /* 223964 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
79331 /* 223967 */ GIM_Try, /*On fail goto*//*Label 5207*/ GIMT_Encode4(224032), // Rule ID 1010 //
79332 /* 223972 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79333 /* 223975 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79334 /* 223979 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79335 /* 223983 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79336 /* 223987 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79337 /* 223994 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79338 /* 223998 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79339 /* 224002 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79340 /* 224004 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79341 /* 224011 */ // (strict_fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79342 /* 224011 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m64),
79343 /* 224014 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79344 /* 224016 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79345 /* 224018 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79346 /* 224022 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79347 /* 224025 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79348 /* 224030 */ GIR_RootConstrainSelectedInstOperands,
79349 /* 224031 */ // GIR_Coverage, 1010,
79350 /* 224031 */ GIR_EraseRootFromParent_Done,
79351 /* 224032 */ // Label 5207: @224032
79352 /* 224032 */ GIM_Try, /*On fail goto*//*Label 5208*/ GIMT_Encode4(224097), // Rule ID 1012 //
79353 /* 224037 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79354 /* 224040 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79355 /* 224044 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79356 /* 224048 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79357 /* 224052 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79358 /* 224059 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79359 /* 224063 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79360 /* 224067 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79361 /* 224069 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79362 /* 224076 */ // (strict_fdiv:{ *:[f64] } (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP64:{ *:[f64] }:$src1) => (DIVR_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79363 /* 224076 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m64),
79364 /* 224079 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79365 /* 224081 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79366 /* 224083 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79367 /* 224087 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79368 /* 224090 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79369 /* 224095 */ GIR_RootConstrainSelectedInstOperands,
79370 /* 224096 */ // GIR_Coverage, 1012,
79371 /* 224096 */ GIR_EraseRootFromParent_Done,
79372 /* 224097 */ // Label 5208: @224097
79373 /* 224097 */ GIM_Try, /*On fail goto*//*Label 5209*/ GIMT_Encode4(224162), // Rule ID 998 //
79374 /* 224102 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79375 /* 224105 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79376 /* 224109 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79377 /* 224113 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79378 /* 224117 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79379 /* 224120 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79380 /* 224124 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79381 /* 224128 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79382 /* 224132 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79383 /* 224134 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79384 /* 224141 */ // (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)
79385 /* 224141 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m),
79386 /* 224144 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79387 /* 224146 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79388 /* 224148 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79389 /* 224152 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79390 /* 224155 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79391 /* 224160 */ GIR_RootConstrainSelectedInstOperands,
79392 /* 224161 */ // GIR_Coverage, 998,
79393 /* 224161 */ GIR_EraseRootFromParent_Done,
79394 /* 224162 */ // Label 5209: @224162
79395 /* 224162 */ GIM_Try, /*On fail goto*//*Label 5210*/ GIMT_Encode4(224234), // Rule ID 1000 //
79396 /* 224167 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79397 /* 224170 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79398 /* 224174 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79399 /* 224178 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79400 /* 224182 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79401 /* 224185 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79402 /* 224189 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79403 /* 224196 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79404 /* 224200 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79405 /* 224204 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79406 /* 224206 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79407 /* 224213 */ // (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)
79408 /* 224213 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp64m32),
79409 /* 224216 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79410 /* 224218 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79411 /* 224220 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79412 /* 224224 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79413 /* 224227 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79414 /* 224232 */ GIR_RootConstrainSelectedInstOperands,
79415 /* 224233 */ // GIR_Coverage, 1000,
79416 /* 224233 */ GIR_EraseRootFromParent_Done,
79417 /* 224234 */ // Label 5210: @224234
79418 /* 224234 */ GIM_Try, /*On fail goto*//*Label 5211*/ GIMT_Encode4(224299), // Rule ID 988 //
79419 /* 224239 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79420 /* 224242 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79421 /* 224246 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79422 /* 224250 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79423 /* 224254 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79424 /* 224258 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79425 /* 224265 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79426 /* 224269 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79427 /* 224271 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79428 /* 224278 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79429 /* 224278 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m64),
79430 /* 224281 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79431 /* 224283 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79432 /* 224285 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79433 /* 224289 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79434 /* 224292 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79435 /* 224297 */ GIR_RootConstrainSelectedInstOperands,
79436 /* 224298 */ // GIR_Coverage, 988,
79437 /* 224298 */ GIR_EraseRootFromParent_Done,
79438 /* 224299 */ // Label 5211: @224299
79439 /* 224299 */ GIM_Try, /*On fail goto*//*Label 5212*/ GIMT_Encode4(224364), // Rule ID 990 //
79440 /* 224304 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79441 /* 224307 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79442 /* 224311 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79443 /* 224315 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79444 /* 224319 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79445 /* 224323 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79446 /* 224330 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79447 /* 224334 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79448 /* 224336 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79449 /* 224343 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, addr:{ *:[iPTR] }:$src2)
79450 /* 224343 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m64),
79451 /* 224346 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79452 /* 224348 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79453 /* 224350 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79454 /* 224354 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79455 /* 224357 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79456 /* 224362 */ GIR_RootConstrainSelectedInstOperands,
79457 /* 224363 */ // GIR_Coverage, 990,
79458 /* 224363 */ GIR_EraseRootFromParent_Done,
79459 /* 224364 */ // Label 5212: @224364
79460 /* 224364 */ GIM_Try, /*On fail goto*//*Label 5213*/ GIMT_Encode4(224429), // Rule ID 976 //
79461 /* 224369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79462 /* 224372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79463 /* 224376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79464 /* 224380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79465 /* 224384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79466 /* 224388 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79467 /* 224391 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79468 /* 224395 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79469 /* 224399 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79470 /* 224401 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79471 /* 224408 */ // (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)
79472 /* 224408 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m),
79473 /* 224411 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79474 /* 224413 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79475 /* 224415 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79476 /* 224419 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79477 /* 224422 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79478 /* 224427 */ GIR_RootConstrainSelectedInstOperands,
79479 /* 224428 */ // GIR_Coverage, 976,
79480 /* 224428 */ GIR_EraseRootFromParent_Done,
79481 /* 224429 */ // Label 5213: @224429
79482 /* 224429 */ GIM_Try, /*On fail goto*//*Label 5214*/ GIMT_Encode4(224501), // Rule ID 978 //
79483 /* 224434 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79484 /* 224437 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79485 /* 224441 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79486 /* 224445 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79487 /* 224449 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79488 /* 224453 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79489 /* 224456 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79490 /* 224460 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79491 /* 224467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79492 /* 224471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79493 /* 224473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79494 /* 224480 */ // (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)
79495 /* 224480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64m32),
79496 /* 224483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79497 /* 224485 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79498 /* 224487 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79499 /* 224491 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79500 /* 224494 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79501 /* 224499 */ GIR_RootConstrainSelectedInstOperands,
79502 /* 224500 */ // GIR_Coverage, 978,
79503 /* 224500 */ GIR_EraseRootFromParent_Done,
79504 /* 224501 */ // Label 5214: @224501
79505 /* 224501 */ GIM_Try, /*On fail goto*//*Label 5215*/ GIMT_Encode4(224563), // Rule ID 2260 //
79506 /* 224506 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
79507 /* 224509 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79508 /* 224513 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79509 /* 224517 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79510 /* 224521 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79511 /* 224525 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79512 /* 224528 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79513 /* 224532 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79514 /* 224536 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79515 /* 224538 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79516 /* 224545 */ // (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)
79517 /* 224545 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDrm),
79518 /* 224548 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79519 /* 224550 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79520 /* 224552 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79521 /* 224556 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79522 /* 224561 */ GIR_RootConstrainSelectedInstOperands,
79523 /* 224562 */ // GIR_Coverage, 2260,
79524 /* 224562 */ GIR_EraseRootFromParent_Done,
79525 /* 224563 */ // Label 5215: @224563
79526 /* 224563 */ GIM_Try, /*On fail goto*//*Label 5216*/ GIMT_Encode4(224625), // Rule ID 2268 //
79527 /* 224568 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
79528 /* 224571 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79529 /* 224575 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79530 /* 224579 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79531 /* 224583 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79532 /* 224587 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79533 /* 224590 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79534 /* 224594 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79535 /* 224598 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79536 /* 224600 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79537 /* 224607 */ // (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)
79538 /* 224607 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVSDrm),
79539 /* 224610 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79540 /* 224612 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79541 /* 224614 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79542 /* 224618 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79543 /* 224623 */ GIR_RootConstrainSelectedInstOperands,
79544 /* 224624 */ // GIR_Coverage, 2268,
79545 /* 224624 */ GIR_EraseRootFromParent_Done,
79546 /* 224625 */ // Label 5216: @224625
79547 /* 224625 */ GIM_Try, /*On fail goto*//*Label 5217*/ GIMT_Encode4(224687), // Rule ID 6086 //
79548 /* 224630 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79549 /* 224633 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79550 /* 224637 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79551 /* 224641 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79552 /* 224645 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79553 /* 224649 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79554 /* 224652 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79555 /* 224656 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79556 /* 224660 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79557 /* 224662 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79558 /* 224669 */ // (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)
79559 /* 224669 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrm),
79560 /* 224672 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79561 /* 224674 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79562 /* 224676 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79563 /* 224680 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79564 /* 224685 */ GIR_RootConstrainSelectedInstOperands,
79565 /* 224686 */ // GIR_Coverage, 6086,
79566 /* 224686 */ GIR_EraseRootFromParent_Done,
79567 /* 224687 */ // Label 5217: @224687
79568 /* 224687 */ GIM_Try, /*On fail goto*//*Label 5218*/ GIMT_Encode4(224724), // Rule ID 882 //
79569 /* 224692 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
79570 /* 224695 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79571 /* 224699 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79572 /* 224703 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
79573 /* 224707 */ // (strict_fdiv:{ *:[f64] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2) => (DIV_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src1, RFP64:{ *:[f64] }:$src2)
79574 /* 224707 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp64),
79575 /* 224712 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
79576 /* 224718 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
79577 /* 224722 */ GIR_RootConstrainSelectedInstOperands,
79578 /* 224723 */ // GIR_Coverage, 882,
79579 /* 224723 */ GIR_Done,
79580 /* 224724 */ // Label 5218: @224724
79581 /* 224724 */ GIM_Try, /*On fail goto*//*Label 5219*/ GIMT_Encode4(224755), // Rule ID 2258 //
79582 /* 224729 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
79583 /* 224732 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79584 /* 224736 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79585 /* 224740 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79586 /* 224744 */ // (strict_fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (VDIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
79587 /* 224744 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDrr),
79588 /* 224749 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79589 /* 224753 */ GIR_RootConstrainSelectedInstOperands,
79590 /* 224754 */ // GIR_Coverage, 2258,
79591 /* 224754 */ GIR_Done,
79592 /* 224755 */ // Label 5219: @224755
79593 /* 224755 */ GIM_Try, /*On fail goto*//*Label 5220*/ GIMT_Encode4(224786), // Rule ID 2266 //
79594 /* 224760 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
79595 /* 224763 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79596 /* 224767 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79597 /* 224771 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
79598 /* 224775 */ // (strict_fdiv:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2) => (DIVSDrr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2)
79599 /* 224775 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVSDrr),
79600 /* 224780 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79601 /* 224784 */ GIR_RootConstrainSelectedInstOperands,
79602 /* 224785 */ // GIR_Coverage, 2266,
79603 /* 224785 */ GIR_Done,
79604 /* 224786 */ // Label 5220: @224786
79605 /* 224786 */ GIM_Try, /*On fail goto*//*Label 5221*/ GIMT_Encode4(224817), // Rule ID 6084 //
79606 /* 224791 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
79607 /* 224794 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79608 /* 224798 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79609 /* 224802 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
79610 /* 224806 */ // (strict_fdiv:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2) => (VDIVSDZrr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2)
79611 /* 224806 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVSDZrr),
79612 /* 224811 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79613 /* 224815 */ GIR_RootConstrainSelectedInstOperands,
79614 /* 224816 */ // GIR_Coverage, 6084,
79615 /* 224816 */ GIR_Done,
79616 /* 224817 */ // Label 5221: @224817
79617 /* 224817 */ GIM_Reject,
79618 /* 224818 */ // Label 5206: @224818
79619 /* 224818 */ GIM_Reject,
79620 /* 224819 */ // Label 5178: @224819
79621 /* 224819 */ GIM_Try, /*On fail goto*//*Label 5222*/ GIMT_Encode4(225384),
79622 /* 224824 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
79623 /* 224827 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s80,
79624 /* 224830 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79625 /* 224834 */ GIM_Try, /*On fail goto*//*Label 5223*/ GIMT_Encode4(224895), // Rule ID 1014 //
79626 /* 224839 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79627 /* 224842 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79628 /* 224846 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79629 /* 224850 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79630 /* 224857 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79631 /* 224861 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79632 /* 224865 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79633 /* 224867 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79634 /* 224874 */ // (strict_fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79635 /* 224874 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI16m80),
79636 /* 224877 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79637 /* 224879 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79638 /* 224881 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79639 /* 224885 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79640 /* 224888 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79641 /* 224893 */ GIR_RootConstrainSelectedInstOperands,
79642 /* 224894 */ // GIR_Coverage, 1014,
79643 /* 224894 */ GIR_EraseRootFromParent_Done,
79644 /* 224895 */ // Label 5223: @224895
79645 /* 224895 */ GIM_Try, /*On fail goto*//*Label 5224*/ GIMT_Encode4(224956), // Rule ID 1016 //
79646 /* 224900 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79647 /* 224903 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79648 /* 224907 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79649 /* 224911 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79650 /* 224918 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79651 /* 224922 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79652 /* 224926 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79653 /* 224928 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79654 /* 224935 */ // (strict_fdiv:{ *:[f80] } (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>, RFP80:{ *:[f80] }:$src1) => (DIVR_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79655 /* 224935 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_FpI32m80),
79656 /* 224938 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79657 /* 224940 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79658 /* 224942 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79659 /* 224946 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79660 /* 224949 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79661 /* 224954 */ GIR_RootConstrainSelectedInstOperands,
79662 /* 224955 */ // GIR_Coverage, 1016,
79663 /* 224955 */ GIR_EraseRootFromParent_Done,
79664 /* 224956 */ // Label 5224: @224956
79665 /* 224956 */ GIM_Try, /*On fail goto*//*Label 5225*/ GIMT_Encode4(225024), // Rule ID 1002 //
79666 /* 224961 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79667 /* 224964 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79668 /* 224968 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79669 /* 224972 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79670 /* 224975 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79671 /* 224979 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79672 /* 224986 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79673 /* 224990 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79674 /* 224994 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79675 /* 224996 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79676 /* 225003 */ // (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)
79677 /* 225003 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m32),
79678 /* 225006 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79679 /* 225008 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79680 /* 225010 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79681 /* 225014 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79682 /* 225017 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79683 /* 225022 */ GIR_RootConstrainSelectedInstOperands,
79684 /* 225023 */ // GIR_Coverage, 1002,
79685 /* 225023 */ GIR_EraseRootFromParent_Done,
79686 /* 225024 */ // Label 5225: @225024
79687 /* 225024 */ GIM_Try, /*On fail goto*//*Label 5226*/ GIMT_Encode4(225092), // Rule ID 1004 //
79688 /* 225029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79689 /* 225032 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
79690 /* 225036 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79691 /* 225040 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79692 /* 225043 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79693 /* 225047 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
79694 /* 225054 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79695 /* 225058 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79696 /* 225062 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79697 /* 225064 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79698 /* 225071 */ // (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)
79699 /* 225071 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIVR_Fp80m64),
79700 /* 225074 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79701 /* 225076 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
79702 /* 225078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79703 /* 225082 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79704 /* 225085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79705 /* 225090 */ GIR_RootConstrainSelectedInstOperands,
79706 /* 225091 */ // GIR_Coverage, 1004,
79707 /* 225091 */ GIR_EraseRootFromParent_Done,
79708 /* 225092 */ // Label 5226: @225092
79709 /* 225092 */ GIM_Try, /*On fail goto*//*Label 5227*/ GIMT_Encode4(225153), // Rule ID 992 //
79710 /* 225097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79711 /* 225100 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79712 /* 225104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79713 /* 225108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79714 /* 225112 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(2),
79715 /* 225119 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79716 /* 225123 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79717 /* 225125 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79718 /* 225132 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild16>>) => (DIV_FpI16m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79719 /* 225132 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI16m80),
79720 /* 225135 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79721 /* 225137 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79722 /* 225139 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79723 /* 225143 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79724 /* 225146 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79725 /* 225151 */ GIR_RootConstrainSelectedInstOperands,
79726 /* 225152 */ // GIR_Coverage, 992,
79727 /* 225152 */ GIR_EraseRootFromParent_Done,
79728 /* 225153 */ // Label 5227: @225153
79729 /* 225153 */ GIM_Try, /*On fail goto*//*Label 5228*/ GIMT_Encode4(225214), // Rule ID 994 //
79730 /* 225158 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79731 /* 225161 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79732 /* 225165 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79733 /* 225169 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(X86::G_FILD),
79734 /* 225173 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79735 /* 225180 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79736 /* 225184 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79737 /* 225186 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79738 /* 225193 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src2)<<P:Predicate_X86fild32>>) => (DIV_FpI32m80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, addr:{ *:[iPTR] }:$src2)
79739 /* 225193 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_FpI32m80),
79740 /* 225196 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79741 /* 225198 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79742 /* 225200 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79743 /* 225204 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79744 /* 225207 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79745 /* 225212 */ GIR_RootConstrainSelectedInstOperands,
79746 /* 225213 */ // GIR_Coverage, 994,
79747 /* 225213 */ GIR_EraseRootFromParent_Done,
79748 /* 225214 */ // Label 5228: @225214
79749 /* 225214 */ GIM_Try, /*On fail goto*//*Label 5229*/ GIMT_Encode4(225282), // Rule ID 980 //
79750 /* 225219 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79751 /* 225222 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79752 /* 225226 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79753 /* 225230 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79754 /* 225234 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79755 /* 225237 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79756 /* 225241 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(4),
79757 /* 225248 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79758 /* 225252 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79759 /* 225254 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79760 /* 225261 */ // (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)
79761 /* 225261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m32),
79762 /* 225264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79763 /* 225266 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79764 /* 225268 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79765 /* 225272 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79766 /* 225275 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79767 /* 225280 */ GIR_RootConstrainSelectedInstOperands,
79768 /* 225281 */ // GIR_Coverage, 980,
79769 /* 225281 */ GIR_EraseRootFromParent_Done,
79770 /* 225282 */ // Label 5229: @225282
79771 /* 225282 */ GIM_Try, /*On fail goto*//*Label 5230*/ GIMT_Encode4(225350), // Rule ID 982 //
79772 /* 225287 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79773 /* 225290 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79774 /* 225294 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79775 /* 225298 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79776 /* 225302 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79777 /* 225305 */ GIM_CheckMemorySizeLessThanLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79778 /* 225309 */ GIM_CheckMemorySizeEqualTo, /*MI*/1, /*MMO*/0, /*Size*/GIMT_Encode4(8),
79779 /* 225316 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79780 /* 225320 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79781 /* 225322 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79782 /* 225329 */ // (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)
79783 /* 225329 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80m64),
79784 /* 225332 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79785 /* 225334 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79786 /* 225336 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79787 /* 225340 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
79788 /* 225343 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79789 /* 225348 */ GIR_RootConstrainSelectedInstOperands,
79790 /* 225349 */ // GIR_Coverage, 982,
79791 /* 225349 */ GIR_EraseRootFromParent_Done,
79792 /* 225350 */ // Label 5230: @225350
79793 /* 225350 */ GIM_Try, /*On fail goto*//*Label 5231*/ GIMT_Encode4(225383), // Rule ID 884 //
79794 /* 225355 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
79795 /* 225358 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79796 /* 225362 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
79797 /* 225366 */ // (strict_fdiv:{ *:[f80] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2) => (DIV_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src1, RFP80:{ *:[f80] }:$src2)
79798 /* 225366 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIV_Fp80),
79799 /* 225371 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
79800 /* 225377 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
79801 /* 225381 */ GIR_RootConstrainSelectedInstOperands,
79802 /* 225382 */ // GIR_Coverage, 884,
79803 /* 225382 */ GIR_Done,
79804 /* 225383 */ // Label 5231: @225383
79805 /* 225383 */ GIM_Reject,
79806 /* 225384 */ // Label 5222: @225384
79807 /* 225384 */ GIM_Reject,
79808 /* 225385 */ // Label 5179: @225385
79809 /* 225385 */ GIM_Try, /*On fail goto*//*Label 5232*/ GIMT_Encode4(225482),
79810 /* 225390 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
79811 /* 225393 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
79812 /* 225396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79813 /* 225400 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79814 /* 225404 */ GIM_Try, /*On fail goto*//*Label 5233*/ GIMT_Encode4(225458), // Rule ID 6675 //
79815 /* 225409 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
79816 /* 225412 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79817 /* 225416 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79818 /* 225420 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79819 /* 225423 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79820 /* 225427 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79821 /* 225431 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79822 /* 225433 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79823 /* 225440 */ // (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)
79824 /* 225440 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rm),
79825 /* 225443 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79826 /* 225445 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79827 /* 225447 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79828 /* 225451 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79829 /* 225456 */ GIR_RootConstrainSelectedInstOperands,
79830 /* 225457 */ // GIR_Coverage, 6675,
79831 /* 225457 */ GIR_EraseRootFromParent_Done,
79832 /* 225458 */ // Label 5233: @225458
79833 /* 225458 */ GIM_Try, /*On fail goto*//*Label 5234*/ GIMT_Encode4(225481), // Rule ID 6671 //
79834 /* 225463 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
79835 /* 225466 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79836 /* 225470 */ // (strict_fdiv:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2) => (VDIVPHZ128rr:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2)
79837 /* 225470 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ128rr),
79838 /* 225475 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79839 /* 225479 */ GIR_RootConstrainSelectedInstOperands,
79840 /* 225480 */ // GIR_Coverage, 6671,
79841 /* 225480 */ GIR_Done,
79842 /* 225481 */ // Label 5234: @225481
79843 /* 225481 */ GIM_Reject,
79844 /* 225482 */ // Label 5232: @225482
79845 /* 225482 */ GIM_Reject,
79846 /* 225483 */ // Label 5180: @225483
79847 /* 225483 */ GIM_Try, /*On fail goto*//*Label 5235*/ GIMT_Encode4(225580),
79848 /* 225488 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
79849 /* 225491 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
79850 /* 225494 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79851 /* 225498 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79852 /* 225502 */ GIM_Try, /*On fail goto*//*Label 5236*/ GIMT_Encode4(225556), // Rule ID 6687 //
79853 /* 225507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
79854 /* 225510 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79855 /* 225514 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79856 /* 225518 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79857 /* 225521 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79858 /* 225525 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79859 /* 225529 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79860 /* 225531 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79861 /* 225538 */ // (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)
79862 /* 225538 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rm),
79863 /* 225541 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79864 /* 225543 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79865 /* 225545 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79866 /* 225549 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79867 /* 225554 */ GIR_RootConstrainSelectedInstOperands,
79868 /* 225555 */ // GIR_Coverage, 6687,
79869 /* 225555 */ GIR_EraseRootFromParent_Done,
79870 /* 225556 */ // Label 5236: @225556
79871 /* 225556 */ GIM_Try, /*On fail goto*//*Label 5237*/ GIMT_Encode4(225579), // Rule ID 6683 //
79872 /* 225561 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
79873 /* 225564 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
79874 /* 225568 */ // (strict_fdiv:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2) => (VDIVPHZ256rr:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2)
79875 /* 225568 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZ256rr),
79876 /* 225573 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79877 /* 225577 */ GIR_RootConstrainSelectedInstOperands,
79878 /* 225578 */ // GIR_Coverage, 6683,
79879 /* 225578 */ GIR_Done,
79880 /* 225579 */ // Label 5237: @225579
79881 /* 225579 */ GIM_Reject,
79882 /* 225580 */ // Label 5235: @225580
79883 /* 225580 */ GIM_Reject,
79884 /* 225581 */ // Label 5181: @225581
79885 /* 225581 */ GIM_Try, /*On fail goto*//*Label 5238*/ GIMT_Encode4(225678),
79886 /* 225586 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
79887 /* 225589 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
79888 /* 225592 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79889 /* 225596 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79890 /* 225600 */ GIM_Try, /*On fail goto*//*Label 5239*/ GIMT_Encode4(225654), // Rule ID 6663 //
79891 /* 225605 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
79892 /* 225608 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79893 /* 225612 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79894 /* 225616 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79895 /* 225619 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79896 /* 225623 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79897 /* 225627 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79898 /* 225629 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79899 /* 225636 */ // (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)
79900 /* 225636 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrm),
79901 /* 225639 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79902 /* 225641 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79903 /* 225643 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79904 /* 225647 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79905 /* 225652 */ GIR_RootConstrainSelectedInstOperands,
79906 /* 225653 */ // GIR_Coverage, 6663,
79907 /* 225653 */ GIR_EraseRootFromParent_Done,
79908 /* 225654 */ // Label 5239: @225654
79909 /* 225654 */ GIM_Try, /*On fail goto*//*Label 5240*/ GIMT_Encode4(225677), // Rule ID 6659 //
79910 /* 225659 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
79911 /* 225662 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
79912 /* 225666 */ // (strict_fdiv:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2) => (VDIVPHZrr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2)
79913 /* 225666 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPHZrr),
79914 /* 225671 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79915 /* 225675 */ GIR_RootConstrainSelectedInstOperands,
79916 /* 225676 */ // GIR_Coverage, 6659,
79917 /* 225676 */ GIR_Done,
79918 /* 225677 */ // Label 5240: @225677
79919 /* 225677 */ GIM_Reject,
79920 /* 225678 */ // Label 5238: @225678
79921 /* 225678 */ GIM_Reject,
79922 /* 225679 */ // Label 5182: @225679
79923 /* 225679 */ GIM_Try, /*On fail goto*//*Label 5241*/ GIMT_Encode4(225908),
79924 /* 225684 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
79925 /* 225687 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
79926 /* 225690 */ GIM_Try, /*On fail goto*//*Label 5242*/ GIMT_Encode4(225752), // Rule ID 2232 //
79927 /* 225695 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79928 /* 225698 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79929 /* 225702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79930 /* 225706 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79931 /* 225710 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79932 /* 225714 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79933 /* 225717 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79934 /* 225721 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79935 /* 225725 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79936 /* 225727 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79937 /* 225734 */ // (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)
79938 /* 225734 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSrm),
79939 /* 225737 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79940 /* 225739 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79941 /* 225741 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79942 /* 225745 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79943 /* 225750 */ GIR_RootConstrainSelectedInstOperands,
79944 /* 225751 */ // GIR_Coverage, 2232,
79945 /* 225751 */ GIR_EraseRootFromParent_Done,
79946 /* 225752 */ // Label 5242: @225752
79947 /* 225752 */ GIM_Try, /*On fail goto*//*Label 5243*/ GIMT_Encode4(225814), // Rule ID 6615 //
79948 /* 225757 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79949 /* 225760 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79950 /* 225764 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79951 /* 225768 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
79952 /* 225772 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
79953 /* 225776 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
79954 /* 225779 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
79955 /* 225783 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
79956 /* 225787 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
79957 /* 225789 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
79958 /* 225796 */ // (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)
79959 /* 225796 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rm),
79960 /* 225799 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
79961 /* 225801 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
79962 /* 225803 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
79963 /* 225807 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
79964 /* 225812 */ GIR_RootConstrainSelectedInstOperands,
79965 /* 225813 */ // GIR_Coverage, 6615,
79966 /* 225813 */ GIR_EraseRootFromParent_Done,
79967 /* 225814 */ // Label 5243: @225814
79968 /* 225814 */ GIM_Try, /*On fail goto*//*Label 5244*/ GIMT_Encode4(225845), // Rule ID 2230 //
79969 /* 225819 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
79970 /* 225822 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79971 /* 225826 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79972 /* 225830 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79973 /* 225834 */ // (strict_fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (VDIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
79974 /* 225834 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSrr),
79975 /* 225839 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79976 /* 225843 */ GIR_RootConstrainSelectedInstOperands,
79977 /* 225844 */ // GIR_Coverage, 2230,
79978 /* 225844 */ GIR_Done,
79979 /* 225845 */ // Label 5244: @225845
79980 /* 225845 */ GIM_Try, /*On fail goto*//*Label 5245*/ GIMT_Encode4(225876), // Rule ID 2246 //
79981 /* 225850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
79982 /* 225853 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79983 /* 225857 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79984 /* 225861 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
79985 /* 225865 */ // (strict_fdiv:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2) => (DIVPSrr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2)
79986 /* 225865 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPSrr),
79987 /* 225870 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
79988 /* 225874 */ GIR_RootConstrainSelectedInstOperands,
79989 /* 225875 */ // GIR_Coverage, 2246,
79990 /* 225875 */ GIR_Done,
79991 /* 225876 */ // Label 5245: @225876
79992 /* 225876 */ GIM_Try, /*On fail goto*//*Label 5246*/ GIMT_Encode4(225907), // Rule ID 6611 //
79993 /* 225881 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
79994 /* 225884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79995 /* 225888 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79996 /* 225892 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
79997 /* 225896 */ // (strict_fdiv:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2) => (VDIVPSZ128rr:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2)
79998 /* 225896 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ128rr),
79999 /* 225901 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80000 /* 225905 */ GIR_RootConstrainSelectedInstOperands,
80001 /* 225906 */ // GIR_Coverage, 6611,
80002 /* 225906 */ GIR_Done,
80003 /* 225907 */ // Label 5246: @225907
80004 /* 225907 */ GIM_Reject,
80005 /* 225908 */ // Label 5241: @225908
80006 /* 225908 */ GIM_Reject,
80007 /* 225909 */ // Label 5183: @225909
80008 /* 225909 */ GIM_Try, /*On fail goto*//*Label 5247*/ GIMT_Encode4(226107),
80009 /* 225914 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
80010 /* 225917 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
80011 /* 225920 */ GIM_Try, /*On fail goto*//*Label 5248*/ GIMT_Encode4(225982), // Rule ID 2240 //
80012 /* 225925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
80013 /* 225928 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80014 /* 225932 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80015 /* 225936 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80016 /* 225940 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80017 /* 225944 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80018 /* 225947 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80019 /* 225951 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80020 /* 225955 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80021 /* 225957 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80022 /* 225964 */ // (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)
80023 /* 225964 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrm),
80024 /* 225967 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80025 /* 225969 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80026 /* 225971 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80027 /* 225975 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80028 /* 225980 */ GIR_RootConstrainSelectedInstOperands,
80029 /* 225981 */ // GIR_Coverage, 2240,
80030 /* 225981 */ GIR_EraseRootFromParent_Done,
80031 /* 225982 */ // Label 5248: @225982
80032 /* 225982 */ GIM_Try, /*On fail goto*//*Label 5249*/ GIMT_Encode4(226044), // Rule ID 6627 //
80033 /* 225987 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80034 /* 225990 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80035 /* 225994 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80036 /* 225998 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80037 /* 226002 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80038 /* 226006 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80039 /* 226009 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80040 /* 226013 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80041 /* 226017 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80042 /* 226019 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80043 /* 226026 */ // (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)
80044 /* 226026 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rm),
80045 /* 226029 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80046 /* 226031 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80047 /* 226033 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80048 /* 226037 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80049 /* 226042 */ GIR_RootConstrainSelectedInstOperands,
80050 /* 226043 */ // GIR_Coverage, 6627,
80051 /* 226043 */ GIR_EraseRootFromParent_Done,
80052 /* 226044 */ // Label 5249: @226044
80053 /* 226044 */ GIM_Try, /*On fail goto*//*Label 5250*/ GIMT_Encode4(226075), // Rule ID 2238 //
80054 /* 226049 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
80055 /* 226052 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80056 /* 226056 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80057 /* 226060 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80058 /* 226064 */ // (strict_fdiv:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2) => (VDIVPSYrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2)
80059 /* 226064 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSYrr),
80060 /* 226069 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80061 /* 226073 */ GIR_RootConstrainSelectedInstOperands,
80062 /* 226074 */ // GIR_Coverage, 2238,
80063 /* 226074 */ GIR_Done,
80064 /* 226075 */ // Label 5250: @226075
80065 /* 226075 */ GIM_Try, /*On fail goto*//*Label 5251*/ GIMT_Encode4(226106), // Rule ID 6623 //
80066 /* 226080 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80067 /* 226083 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80068 /* 226087 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80069 /* 226091 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80070 /* 226095 */ // (strict_fdiv:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2) => (VDIVPSZ256rr:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2)
80071 /* 226095 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZ256rr),
80072 /* 226100 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80073 /* 226104 */ GIR_RootConstrainSelectedInstOperands,
80074 /* 226105 */ // GIR_Coverage, 6623,
80075 /* 226105 */ GIR_Done,
80076 /* 226106 */ // Label 5251: @226106
80077 /* 226106 */ GIM_Reject,
80078 /* 226107 */ // Label 5247: @226107
80079 /* 226107 */ GIM_Reject,
80080 /* 226108 */ // Label 5184: @226108
80081 /* 226108 */ GIM_Try, /*On fail goto*//*Label 5252*/ GIMT_Encode4(226205),
80082 /* 226113 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
80083 /* 226116 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
80084 /* 226119 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80085 /* 226123 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80086 /* 226127 */ GIM_Try, /*On fail goto*//*Label 5253*/ GIMT_Encode4(226181), // Rule ID 6591 //
80087 /* 226132 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80088 /* 226135 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80089 /* 226139 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80090 /* 226143 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80091 /* 226146 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80092 /* 226150 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80093 /* 226154 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80094 /* 226156 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80095 /* 226163 */ // (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)
80096 /* 226163 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrm),
80097 /* 226166 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80098 /* 226168 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80099 /* 226170 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80100 /* 226174 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80101 /* 226179 */ GIR_RootConstrainSelectedInstOperands,
80102 /* 226180 */ // GIR_Coverage, 6591,
80103 /* 226180 */ GIR_EraseRootFromParent_Done,
80104 /* 226181 */ // Label 5253: @226181
80105 /* 226181 */ GIM_Try, /*On fail goto*//*Label 5254*/ GIMT_Encode4(226204), // Rule ID 6587 //
80106 /* 226186 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80107 /* 226189 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80108 /* 226193 */ // (strict_fdiv:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2) => (VDIVPSZrr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2)
80109 /* 226193 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPSZrr),
80110 /* 226198 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80111 /* 226202 */ GIR_RootConstrainSelectedInstOperands,
80112 /* 226203 */ // GIR_Coverage, 6587,
80113 /* 226203 */ GIR_Done,
80114 /* 226204 */ // Label 5254: @226204
80115 /* 226204 */ GIM_Reject,
80116 /* 226205 */ // Label 5252: @226205
80117 /* 226205 */ GIM_Reject,
80118 /* 226206 */ // Label 5185: @226206
80119 /* 226206 */ GIM_Try, /*On fail goto*//*Label 5255*/ GIMT_Encode4(226435),
80120 /* 226211 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
80121 /* 226214 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
80122 /* 226217 */ GIM_Try, /*On fail goto*//*Label 5256*/ GIMT_Encode4(226279), // Rule ID 2236 //
80123 /* 226222 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
80124 /* 226225 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80125 /* 226229 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80126 /* 226233 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80127 /* 226237 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80128 /* 226241 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80129 /* 226244 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80130 /* 226248 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80131 /* 226252 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80132 /* 226254 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80133 /* 226261 */ // (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)
80134 /* 226261 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDrm),
80135 /* 226264 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80136 /* 226266 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80137 /* 226268 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80138 /* 226272 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80139 /* 226277 */ GIR_RootConstrainSelectedInstOperands,
80140 /* 226278 */ // GIR_Coverage, 2236,
80141 /* 226278 */ GIR_EraseRootFromParent_Done,
80142 /* 226279 */ // Label 5256: @226279
80143 /* 226279 */ GIM_Try, /*On fail goto*//*Label 5257*/ GIMT_Encode4(226341), // Rule ID 6639 //
80144 /* 226284 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80145 /* 226287 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80146 /* 226291 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80147 /* 226295 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80148 /* 226299 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80149 /* 226303 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80150 /* 226306 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80151 /* 226310 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80152 /* 226314 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80153 /* 226316 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80154 /* 226323 */ // (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)
80155 /* 226323 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rm),
80156 /* 226326 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80157 /* 226328 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80158 /* 226330 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80159 /* 226334 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80160 /* 226339 */ GIR_RootConstrainSelectedInstOperands,
80161 /* 226340 */ // GIR_Coverage, 6639,
80162 /* 226340 */ GIR_EraseRootFromParent_Done,
80163 /* 226341 */ // Label 5257: @226341
80164 /* 226341 */ GIM_Try, /*On fail goto*//*Label 5258*/ GIMT_Encode4(226372), // Rule ID 2234 //
80165 /* 226346 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
80166 /* 226349 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80167 /* 226353 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80168 /* 226357 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80169 /* 226361 */ // (strict_fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (VDIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
80170 /* 226361 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDrr),
80171 /* 226366 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80172 /* 226370 */ GIR_RootConstrainSelectedInstOperands,
80173 /* 226371 */ // GIR_Coverage, 2234,
80174 /* 226371 */ GIR_Done,
80175 /* 226372 */ // Label 5258: @226372
80176 /* 226372 */ GIM_Try, /*On fail goto*//*Label 5259*/ GIMT_Encode4(226403), // Rule ID 2250 //
80177 /* 226377 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
80178 /* 226380 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80179 /* 226384 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80180 /* 226388 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
80181 /* 226392 */ // (strict_fdiv:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2) => (DIVPDrr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2)
80182 /* 226392 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::DIVPDrr),
80183 /* 226397 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80184 /* 226401 */ GIR_RootConstrainSelectedInstOperands,
80185 /* 226402 */ // GIR_Coverage, 2250,
80186 /* 226402 */ GIR_Done,
80187 /* 226403 */ // Label 5259: @226403
80188 /* 226403 */ GIM_Try, /*On fail goto*//*Label 5260*/ GIMT_Encode4(226434), // Rule ID 6635 //
80189 /* 226408 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80190 /* 226411 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80191 /* 226415 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80192 /* 226419 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80193 /* 226423 */ // (strict_fdiv:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2) => (VDIVPDZ128rr:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2)
80194 /* 226423 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ128rr),
80195 /* 226428 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80196 /* 226432 */ GIR_RootConstrainSelectedInstOperands,
80197 /* 226433 */ // GIR_Coverage, 6635,
80198 /* 226433 */ GIR_Done,
80199 /* 226434 */ // Label 5260: @226434
80200 /* 226434 */ GIM_Reject,
80201 /* 226435 */ // Label 5255: @226435
80202 /* 226435 */ GIM_Reject,
80203 /* 226436 */ // Label 5186: @226436
80204 /* 226436 */ GIM_Try, /*On fail goto*//*Label 5261*/ GIMT_Encode4(226634),
80205 /* 226441 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
80206 /* 226444 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
80207 /* 226447 */ GIM_Try, /*On fail goto*//*Label 5262*/ GIMT_Encode4(226509), // Rule ID 2244 //
80208 /* 226452 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
80209 /* 226455 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80210 /* 226459 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80211 /* 226463 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80212 /* 226467 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80213 /* 226471 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80214 /* 226474 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80215 /* 226478 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80216 /* 226482 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80217 /* 226484 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80218 /* 226491 */ // (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)
80219 /* 226491 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrm),
80220 /* 226494 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80221 /* 226496 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80222 /* 226498 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80223 /* 226502 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80224 /* 226507 */ GIR_RootConstrainSelectedInstOperands,
80225 /* 226508 */ // GIR_Coverage, 2244,
80226 /* 226508 */ GIR_EraseRootFromParent_Done,
80227 /* 226509 */ // Label 5262: @226509
80228 /* 226509 */ GIM_Try, /*On fail goto*//*Label 5263*/ GIMT_Encode4(226571), // Rule ID 6651 //
80229 /* 226514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80230 /* 226517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80231 /* 226521 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80232 /* 226525 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80233 /* 226529 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80234 /* 226533 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80235 /* 226536 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80236 /* 226540 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80237 /* 226544 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80238 /* 226546 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80239 /* 226553 */ // (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)
80240 /* 226553 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rm),
80241 /* 226556 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80242 /* 226558 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80243 /* 226560 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80244 /* 226564 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80245 /* 226569 */ GIR_RootConstrainSelectedInstOperands,
80246 /* 226570 */ // GIR_Coverage, 6651,
80247 /* 226570 */ GIR_EraseRootFromParent_Done,
80248 /* 226571 */ // Label 5263: @226571
80249 /* 226571 */ GIM_Try, /*On fail goto*//*Label 5264*/ GIMT_Encode4(226602), // Rule ID 2242 //
80250 /* 226576 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
80251 /* 226579 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80252 /* 226583 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80253 /* 226587 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
80254 /* 226591 */ // (strict_fdiv:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2) => (VDIVPDYrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2)
80255 /* 226591 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDYrr),
80256 /* 226596 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80257 /* 226600 */ GIR_RootConstrainSelectedInstOperands,
80258 /* 226601 */ // GIR_Coverage, 2242,
80259 /* 226601 */ GIR_Done,
80260 /* 226602 */ // Label 5264: @226602
80261 /* 226602 */ GIM_Try, /*On fail goto*//*Label 5265*/ GIMT_Encode4(226633), // Rule ID 6647 //
80262 /* 226607 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
80263 /* 226610 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80264 /* 226614 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80265 /* 226618 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
80266 /* 226622 */ // (strict_fdiv:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2) => (VDIVPDZ256rr:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2)
80267 /* 226622 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZ256rr),
80268 /* 226627 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80269 /* 226631 */ GIR_RootConstrainSelectedInstOperands,
80270 /* 226632 */ // GIR_Coverage, 6647,
80271 /* 226632 */ GIR_Done,
80272 /* 226633 */ // Label 5265: @226633
80273 /* 226633 */ GIM_Reject,
80274 /* 226634 */ // Label 5261: @226634
80275 /* 226634 */ GIM_Reject,
80276 /* 226635 */ // Label 5187: @226635
80277 /* 226635 */ GIM_Try, /*On fail goto*//*Label 5266*/ GIMT_Encode4(226732),
80278 /* 226640 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
80279 /* 226643 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
80280 /* 226646 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80281 /* 226650 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80282 /* 226654 */ GIM_Try, /*On fail goto*//*Label 5267*/ GIMT_Encode4(226708), // Rule ID 6603 //
80283 /* 226659 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80284 /* 226662 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80285 /* 226666 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80286 /* 226670 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80287 /* 226673 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80288 /* 226677 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80289 /* 226681 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80290 /* 226683 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80291 /* 226690 */ // (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)
80292 /* 226690 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrm),
80293 /* 226693 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80294 /* 226695 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80295 /* 226697 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80296 /* 226701 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80297 /* 226706 */ GIR_RootConstrainSelectedInstOperands,
80298 /* 226707 */ // GIR_Coverage, 6603,
80299 /* 226707 */ GIR_EraseRootFromParent_Done,
80300 /* 226708 */ // Label 5267: @226708
80301 /* 226708 */ GIM_Try, /*On fail goto*//*Label 5268*/ GIMT_Encode4(226731), // Rule ID 6599 //
80302 /* 226713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80303 /* 226716 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
80304 /* 226720 */ // (strict_fdiv:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2) => (VDIVPDZrr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2)
80305 /* 226720 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VDIVPDZrr),
80306 /* 226725 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80307 /* 226729 */ GIR_RootConstrainSelectedInstOperands,
80308 /* 226730 */ // GIR_Coverage, 6599,
80309 /* 226730 */ GIR_Done,
80310 /* 226731 */ // Label 5268: @226731
80311 /* 226731 */ GIM_Reject,
80312 /* 226732 */ // Label 5266: @226732
80313 /* 226732 */ GIM_Reject,
80314 /* 226733 */ // Label 5188: @226733
80315 /* 226733 */ GIM_Reject,
80316 /* 226734 */ // Label 73: @226734
80317 /* 226734 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 5281*/ GIMT_Encode4(232729),
80318 /* 226745 */ /*GILLT_s16*//*Label 5269*/ GIMT_Encode4(226837),
80319 /* 226749 */ /*GILLT_s32*//*Label 5270*/ GIMT_Encode4(227082),
80320 /* 226753 */ /*GILLT_s64*//*Label 5271*/ GIMT_Encode4(227819), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
80321 /* 226801 */ /*GILLT_v8s16*//*Label 5272*/ GIMT_Encode4(228556),
80322 /* 226805 */ /*GILLT_v16s16*//*Label 5273*/ GIMT_Encode4(228801),
80323 /* 226809 */ /*GILLT_v32s16*//*Label 5274*/ GIMT_Encode4(229046),
80324 /* 226813 */ /*GILLT_v4s32*//*Label 5275*/ GIMT_Encode4(229291),
80325 /* 226817 */ /*GILLT_v8s32*//*Label 5276*/ GIMT_Encode4(230028),
80326 /* 226821 */ /*GILLT_v16s32*//*Label 5277*/ GIMT_Encode4(230765),
80327 /* 226825 */ /*GILLT_v2s64*//*Label 5278*/ GIMT_Encode4(231010),
80328 /* 226829 */ /*GILLT_v4s64*//*Label 5279*/ GIMT_Encode4(231747),
80329 /* 226833 */ /*GILLT_v8s64*//*Label 5280*/ GIMT_Encode4(232484),
80330 /* 226837 */ // Label 5269: @226837
80331 /* 226837 */ GIM_Try, /*On fail goto*//*Label 5282*/ GIMT_Encode4(227081),
80332 /* 226842 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
80333 /* 226845 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s16,
80334 /* 226848 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s16,
80335 /* 226851 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80336 /* 226855 */ GIM_Try, /*On fail goto*//*Label 5283*/ GIMT_Encode4(226919), // Rule ID 10137 //
80337 /* 226860 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80338 /* 226863 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80339 /* 226867 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80340 /* 226871 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80341 /* 226874 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80342 /* 226878 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80343 /* 226882 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80344 /* 226886 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80345 /* 226890 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80346 /* 226892 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80347 /* 226899 */ // (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)
80348 /* 226899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SHZm),
80349 /* 226902 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80350 /* 226904 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80351 /* 226906 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80352 /* 226908 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80353 /* 226912 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80354 /* 226917 */ GIR_RootConstrainSelectedInstOperands,
80355 /* 226918 */ // GIR_Coverage, 10137,
80356 /* 226918 */ GIR_EraseRootFromParent_Done,
80357 /* 226919 */ // Label 5283: @226919
80358 /* 226919 */ GIM_Try, /*On fail goto*//*Label 5284*/ GIMT_Encode4(226983), // Rule ID 10135 //
80359 /* 226924 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80360 /* 226927 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80361 /* 226931 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80362 /* 226935 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80363 /* 226939 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80364 /* 226942 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80365 /* 226946 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80366 /* 226950 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80367 /* 226954 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80368 /* 226956 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80369 /* 226963 */ // (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)
80370 /* 226963 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SHZm),
80371 /* 226966 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80372 /* 226968 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80373 /* 226970 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80374 /* 226972 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80375 /* 226976 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80376 /* 226981 */ GIR_RootConstrainSelectedInstOperands,
80377 /* 226982 */ // GIR_Coverage, 10135,
80378 /* 226982 */ GIR_EraseRootFromParent_Done,
80379 /* 226983 */ // Label 5284: @226983
80380 /* 226983 */ GIM_Try, /*On fail goto*//*Label 5285*/ GIMT_Encode4(227047), // Rule ID 10132 //
80381 /* 226988 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80382 /* 226991 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80383 /* 226995 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80384 /* 226999 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80385 /* 227003 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80386 /* 227007 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80387 /* 227010 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80388 /* 227014 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80389 /* 227018 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80390 /* 227020 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80391 /* 227027 */ // (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)
80392 /* 227027 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZm),
80393 /* 227030 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80394 /* 227032 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80395 /* 227034 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80396 /* 227036 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80397 /* 227040 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80398 /* 227045 */ GIR_RootConstrainSelectedInstOperands,
80399 /* 227046 */ // GIR_Coverage, 10132,
80400 /* 227046 */ GIR_EraseRootFromParent_Done,
80401 /* 227047 */ // Label 5285: @227047
80402 /* 227047 */ GIM_Try, /*On fail goto*//*Label 5286*/ GIMT_Encode4(227080), // Rule ID 10130 //
80403 /* 227052 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
80404 /* 227055 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80405 /* 227059 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80406 /* 227063 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
80407 /* 227067 */ // (strict_fma:{ *:[f16] } FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src3) => (VFMADD213SHZr:{ *:[f16] } FR16X:{ *:[f16] }:$src1, FR16X:{ *:[f16] }:$src2, FR16X:{ *:[f16] }:$src3)
80408 /* 227067 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SHZr),
80409 /* 227070 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80410 /* 227072 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80411 /* 227074 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80412 /* 227076 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80413 /* 227078 */ GIR_RootConstrainSelectedInstOperands,
80414 /* 227079 */ // GIR_Coverage, 10130,
80415 /* 227079 */ GIR_EraseRootFromParent_Done,
80416 /* 227080 */ // Label 5286: @227080
80417 /* 227080 */ GIM_Reject,
80418 /* 227081 */ // Label 5282: @227081
80419 /* 227081 */ GIM_Reject,
80420 /* 227082 */ // Label 5270: @227082
80421 /* 227082 */ GIM_Try, /*On fail goto*//*Label 5287*/ GIMT_Encode4(227818),
80422 /* 227087 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
80423 /* 227090 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
80424 /* 227093 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s32,
80425 /* 227096 */ GIM_Try, /*On fail goto*//*Label 5288*/ GIMT_Encode4(227164), // Rule ID 1279 //
80426 /* 227101 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80427 /* 227104 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80428 /* 227108 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80429 /* 227112 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80430 /* 227116 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80431 /* 227119 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80432 /* 227123 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80433 /* 227127 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80434 /* 227131 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80435 /* 227135 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80436 /* 227137 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80437 /* 227144 */ // (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)
80438 /* 227144 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSm),
80439 /* 227147 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80440 /* 227149 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80441 /* 227151 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80442 /* 227153 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80443 /* 227157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80444 /* 227162 */ GIR_RootConstrainSelectedInstOperands,
80445 /* 227163 */ // GIR_Coverage, 1279,
80446 /* 227163 */ GIR_EraseRootFromParent_Done,
80447 /* 227164 */ // Label 5288: @227164
80448 /* 227164 */ GIM_Try, /*On fail goto*//*Label 5289*/ GIMT_Encode4(227232), // Rule ID 10119 //
80449 /* 227169 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80450 /* 227172 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80451 /* 227176 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80452 /* 227180 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80453 /* 227184 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80454 /* 227187 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80455 /* 227191 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80456 /* 227195 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80457 /* 227199 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80458 /* 227203 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80459 /* 227205 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80460 /* 227212 */ // (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)
80461 /* 227212 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SSZm),
80462 /* 227215 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80463 /* 227217 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80464 /* 227219 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80465 /* 227221 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80466 /* 227225 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80467 /* 227230 */ GIR_RootConstrainSelectedInstOperands,
80468 /* 227231 */ // GIR_Coverage, 10119,
80469 /* 227231 */ GIR_EraseRootFromParent_Done,
80470 /* 227232 */ // Label 5289: @227232
80471 /* 227232 */ GIM_Try, /*On fail goto*//*Label 5290*/ GIMT_Encode4(227300), // Rule ID 23338 //
80472 /* 227237 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80473 /* 227240 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80474 /* 227244 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80475 /* 227248 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80476 /* 227252 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80477 /* 227255 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80478 /* 227259 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80479 /* 227263 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80480 /* 227267 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80481 /* 227271 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80482 /* 227273 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80483 /* 227280 */ // (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)
80484 /* 227280 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
80485 /* 227283 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80486 /* 227285 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80487 /* 227287 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80488 /* 227291 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80489 /* 227293 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80490 /* 227298 */ GIR_RootConstrainSelectedInstOperands,
80491 /* 227299 */ // GIR_Coverage, 23338,
80492 /* 227299 */ GIR_EraseRootFromParent_Done,
80493 /* 227300 */ // Label 5290: @227300
80494 /* 227300 */ GIM_Try, /*On fail goto*//*Label 5291*/ GIMT_Encode4(227368), // Rule ID 1277 //
80495 /* 227305 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80496 /* 227308 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80497 /* 227312 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80498 /* 227316 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80499 /* 227320 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80500 /* 227324 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80501 /* 227327 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80502 /* 227331 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80503 /* 227335 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80504 /* 227339 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80505 /* 227341 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80506 /* 227348 */ // (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)
80507 /* 227348 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSm),
80508 /* 227351 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80509 /* 227353 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80510 /* 227355 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80511 /* 227357 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80512 /* 227361 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80513 /* 227366 */ GIR_RootConstrainSelectedInstOperands,
80514 /* 227367 */ // GIR_Coverage, 1277,
80515 /* 227367 */ GIR_EraseRootFromParent_Done,
80516 /* 227368 */ // Label 5291: @227368
80517 /* 227368 */ GIM_Try, /*On fail goto*//*Label 5292*/ GIMT_Encode4(227436), // Rule ID 1341 //
80518 /* 227373 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80519 /* 227376 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80520 /* 227380 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80521 /* 227384 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80522 /* 227388 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80523 /* 227392 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80524 /* 227395 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80525 /* 227399 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80526 /* 227403 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80527 /* 227407 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80528 /* 227409 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80529 /* 227416 */ // (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)
80530 /* 227416 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4mr),
80531 /* 227419 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80532 /* 227421 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80533 /* 227423 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80534 /* 227427 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80535 /* 227429 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80536 /* 227434 */ GIR_RootConstrainSelectedInstOperands,
80537 /* 227435 */ // GIR_Coverage, 1341,
80538 /* 227435 */ GIR_EraseRootFromParent_Done,
80539 /* 227436 */ // Label 5292: @227436
80540 /* 227436 */ GIM_Try, /*On fail goto*//*Label 5293*/ GIMT_Encode4(227504), // Rule ID 10117 //
80541 /* 227441 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80542 /* 227444 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80543 /* 227448 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80544 /* 227452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80545 /* 227456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80546 /* 227460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80547 /* 227463 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80548 /* 227467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80549 /* 227471 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80550 /* 227475 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80551 /* 227477 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80552 /* 227484 */ // (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)
80553 /* 227484 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SSZm),
80554 /* 227487 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80555 /* 227489 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80556 /* 227491 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80557 /* 227493 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80558 /* 227497 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80559 /* 227502 */ GIR_RootConstrainSelectedInstOperands,
80560 /* 227503 */ // GIR_Coverage, 10117,
80561 /* 227503 */ GIR_EraseRootFromParent_Done,
80562 /* 227504 */ // Label 5293: @227504
80563 /* 227504 */ GIM_Try, /*On fail goto*//*Label 5294*/ GIMT_Encode4(227572), // Rule ID 1275 //
80564 /* 227509 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80565 /* 227512 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80566 /* 227516 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80567 /* 227520 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80568 /* 227524 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80569 /* 227528 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80570 /* 227532 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80571 /* 227535 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80572 /* 227539 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80573 /* 227543 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80574 /* 227545 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80575 /* 227552 */ // (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)
80576 /* 227552 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSm),
80577 /* 227555 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80578 /* 227557 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80579 /* 227559 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80580 /* 227561 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80581 /* 227565 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80582 /* 227570 */ GIR_RootConstrainSelectedInstOperands,
80583 /* 227571 */ // GIR_Coverage, 1275,
80584 /* 227571 */ GIR_EraseRootFromParent_Done,
80585 /* 227572 */ // Label 5294: @227572
80586 /* 227572 */ GIM_Try, /*On fail goto*//*Label 5295*/ GIMT_Encode4(227640), // Rule ID 1339 //
80587 /* 227577 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80588 /* 227580 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80589 /* 227584 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80590 /* 227588 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80591 /* 227592 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80592 /* 227596 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80593 /* 227600 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80594 /* 227603 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80595 /* 227607 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80596 /* 227611 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80597 /* 227613 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80598 /* 227620 */ // (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)
80599 /* 227620 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rm),
80600 /* 227623 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80601 /* 227625 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80602 /* 227627 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
80603 /* 227629 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80604 /* 227633 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80605 /* 227638 */ GIR_RootConstrainSelectedInstOperands,
80606 /* 227639 */ // GIR_Coverage, 1339,
80607 /* 227639 */ GIR_EraseRootFromParent_Done,
80608 /* 227640 */ // Label 5295: @227640
80609 /* 227640 */ GIM_Try, /*On fail goto*//*Label 5296*/ GIMT_Encode4(227708), // Rule ID 10114 //
80610 /* 227645 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80611 /* 227648 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80612 /* 227652 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80613 /* 227656 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80614 /* 227660 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80615 /* 227664 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80616 /* 227668 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80617 /* 227671 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80618 /* 227675 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80619 /* 227679 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80620 /* 227681 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80621 /* 227688 */ // (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)
80622 /* 227688 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZm),
80623 /* 227691 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80624 /* 227693 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80625 /* 227695 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80626 /* 227697 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80627 /* 227701 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80628 /* 227706 */ GIR_RootConstrainSelectedInstOperands,
80629 /* 227707 */ // GIR_Coverage, 10114,
80630 /* 227707 */ GIR_EraseRootFromParent_Done,
80631 /* 227708 */ // Label 5296: @227708
80632 /* 227708 */ GIM_Try, /*On fail goto*//*Label 5297*/ GIMT_Encode4(227745), // Rule ID 1273 //
80633 /* 227713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80634 /* 227716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80635 /* 227720 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80636 /* 227724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80637 /* 227728 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80638 /* 227732 */ // (strict_fma:{ *:[f32] } FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src3) => (VFMADD213SSr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
80639 /* 227732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSr),
80640 /* 227735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80641 /* 227737 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80642 /* 227739 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80643 /* 227741 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80644 /* 227743 */ GIR_RootConstrainSelectedInstOperands,
80645 /* 227744 */ // GIR_Coverage, 1273,
80646 /* 227744 */ GIR_EraseRootFromParent_Done,
80647 /* 227745 */ // Label 5297: @227745
80648 /* 227745 */ GIM_Try, /*On fail goto*//*Label 5298*/ GIMT_Encode4(227780), // Rule ID 1337 //
80649 /* 227750 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80650 /* 227753 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80651 /* 227757 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80652 /* 227761 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80653 /* 227765 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
80654 /* 227769 */ // (strict_fma:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3) => (VFMADDSS4rr:{ *:[f32] } FR32:{ *:[f32] }:$src1, FR32:{ *:[f32] }:$src2, FR32:{ *:[f32] }:$src3)
80655 /* 227769 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSS4rr),
80656 /* 227774 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80657 /* 227778 */ GIR_RootConstrainSelectedInstOperands,
80658 /* 227779 */ // GIR_Coverage, 1337,
80659 /* 227779 */ GIR_Done,
80660 /* 227780 */ // Label 5298: @227780
80661 /* 227780 */ GIM_Try, /*On fail goto*//*Label 5299*/ GIMT_Encode4(227817), // Rule ID 10112 //
80662 /* 227785 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80663 /* 227788 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80664 /* 227792 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80665 /* 227796 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80666 /* 227800 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
80667 /* 227804 */ // (strict_fma:{ *:[f32] } FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src3) => (VFMADD213SSZr:{ *:[f32] } FR32X:{ *:[f32] }:$src1, FR32X:{ *:[f32] }:$src2, FR32X:{ *:[f32] }:$src3)
80668 /* 227804 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SSZr),
80669 /* 227807 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80670 /* 227809 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80671 /* 227811 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80672 /* 227813 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80673 /* 227815 */ GIR_RootConstrainSelectedInstOperands,
80674 /* 227816 */ // GIR_Coverage, 10112,
80675 /* 227816 */ GIR_EraseRootFromParent_Done,
80676 /* 227817 */ // Label 5299: @227817
80677 /* 227817 */ GIM_Reject,
80678 /* 227818 */ // Label 5287: @227818
80679 /* 227818 */ GIM_Reject,
80680 /* 227819 */ // Label 5271: @227819
80681 /* 227819 */ GIM_Try, /*On fail goto*//*Label 5300*/ GIMT_Encode4(228555),
80682 /* 227824 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
80683 /* 227827 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s64,
80684 /* 227830 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_s64,
80685 /* 227833 */ GIM_Try, /*On fail goto*//*Label 5301*/ GIMT_Encode4(227901), // Rule ID 1287 //
80686 /* 227838 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80687 /* 227841 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80688 /* 227845 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80689 /* 227849 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80690 /* 227853 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80691 /* 227856 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80692 /* 227860 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80693 /* 227864 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80694 /* 227868 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80695 /* 227872 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80696 /* 227874 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80697 /* 227881 */ // (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)
80698 /* 227881 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDm),
80699 /* 227884 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80700 /* 227886 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80701 /* 227888 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80702 /* 227890 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80703 /* 227894 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80704 /* 227899 */ GIR_RootConstrainSelectedInstOperands,
80705 /* 227900 */ // GIR_Coverage, 1287,
80706 /* 227900 */ GIR_EraseRootFromParent_Done,
80707 /* 227901 */ // Label 5301: @227901
80708 /* 227901 */ GIM_Try, /*On fail goto*//*Label 5302*/ GIMT_Encode4(227969), // Rule ID 10128 //
80709 /* 227906 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80710 /* 227909 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80711 /* 227913 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80712 /* 227917 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80713 /* 227921 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80714 /* 227924 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80715 /* 227928 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80716 /* 227932 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80717 /* 227936 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80718 /* 227940 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80719 /* 227942 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80720 /* 227949 */ // (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)
80721 /* 227949 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132SDZm),
80722 /* 227952 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80723 /* 227954 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80724 /* 227956 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80725 /* 227958 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80726 /* 227962 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80727 /* 227967 */ GIR_RootConstrainSelectedInstOperands,
80728 /* 227968 */ // GIR_Coverage, 10128,
80729 /* 227968 */ GIR_EraseRootFromParent_Done,
80730 /* 227969 */ // Label 5302: @227969
80731 /* 227969 */ GIM_Try, /*On fail goto*//*Label 5303*/ GIMT_Encode4(228037), // Rule ID 23366 //
80732 /* 227974 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80733 /* 227977 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80734 /* 227981 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80735 /* 227985 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80736 /* 227989 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80737 /* 227992 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80738 /* 227996 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80739 /* 228000 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80740 /* 228004 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80741 /* 228008 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80742 /* 228010 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80743 /* 228017 */ // (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)
80744 /* 228017 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
80745 /* 228020 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80746 /* 228022 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80747 /* 228024 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80748 /* 228028 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80749 /* 228030 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80750 /* 228035 */ GIR_RootConstrainSelectedInstOperands,
80751 /* 228036 */ // GIR_Coverage, 23366,
80752 /* 228036 */ GIR_EraseRootFromParent_Done,
80753 /* 228037 */ // Label 5303: @228037
80754 /* 228037 */ GIM_Try, /*On fail goto*//*Label 5304*/ GIMT_Encode4(228105), // Rule ID 1285 //
80755 /* 228042 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80756 /* 228045 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80757 /* 228049 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80758 /* 228053 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80759 /* 228057 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80760 /* 228061 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80761 /* 228064 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80762 /* 228068 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80763 /* 228072 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80764 /* 228076 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80765 /* 228078 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80766 /* 228085 */ // (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)
80767 /* 228085 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDm),
80768 /* 228088 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80769 /* 228090 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80770 /* 228092 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80771 /* 228094 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80772 /* 228098 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80773 /* 228103 */ GIR_RootConstrainSelectedInstOperands,
80774 /* 228104 */ // GIR_Coverage, 1285,
80775 /* 228104 */ GIR_EraseRootFromParent_Done,
80776 /* 228105 */ // Label 5304: @228105
80777 /* 228105 */ GIM_Try, /*On fail goto*//*Label 5305*/ GIMT_Encode4(228173), // Rule ID 1425 //
80778 /* 228110 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80779 /* 228113 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80780 /* 228117 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80781 /* 228121 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80782 /* 228125 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80783 /* 228129 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80784 /* 228132 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80785 /* 228136 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80786 /* 228140 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80787 /* 228144 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80788 /* 228146 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80789 /* 228153 */ // (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)
80790 /* 228153 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4mr),
80791 /* 228156 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80792 /* 228158 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80793 /* 228160 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
80794 /* 228164 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80795 /* 228166 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80796 /* 228171 */ GIR_RootConstrainSelectedInstOperands,
80797 /* 228172 */ // GIR_Coverage, 1425,
80798 /* 228172 */ GIR_EraseRootFromParent_Done,
80799 /* 228173 */ // Label 5305: @228173
80800 /* 228173 */ GIM_Try, /*On fail goto*//*Label 5306*/ GIMT_Encode4(228241), // Rule ID 10126 //
80801 /* 228178 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80802 /* 228181 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80803 /* 228185 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80804 /* 228189 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80805 /* 228193 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80806 /* 228197 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80807 /* 228200 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80808 /* 228204 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80809 /* 228208 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80810 /* 228212 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80811 /* 228214 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80812 /* 228221 */ // (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)
80813 /* 228221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231SDZm),
80814 /* 228224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80815 /* 228226 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80816 /* 228228 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80817 /* 228230 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80818 /* 228234 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80819 /* 228239 */ GIR_RootConstrainSelectedInstOperands,
80820 /* 228240 */ // GIR_Coverage, 10126,
80821 /* 228240 */ GIR_EraseRootFromParent_Done,
80822 /* 228241 */ // Label 5306: @228241
80823 /* 228241 */ GIM_Try, /*On fail goto*//*Label 5307*/ GIMT_Encode4(228309), // Rule ID 1283 //
80824 /* 228246 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80825 /* 228249 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80826 /* 228253 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80827 /* 228257 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80828 /* 228261 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80829 /* 228265 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80830 /* 228269 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80831 /* 228272 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80832 /* 228276 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80833 /* 228280 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80834 /* 228282 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80835 /* 228289 */ // (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)
80836 /* 228289 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDm),
80837 /* 228292 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80838 /* 228294 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80839 /* 228296 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80840 /* 228298 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80841 /* 228302 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80842 /* 228307 */ GIR_RootConstrainSelectedInstOperands,
80843 /* 228308 */ // GIR_Coverage, 1283,
80844 /* 228308 */ GIR_EraseRootFromParent_Done,
80845 /* 228309 */ // Label 5307: @228309
80846 /* 228309 */ GIM_Try, /*On fail goto*//*Label 5308*/ GIMT_Encode4(228377), // Rule ID 1423 //
80847 /* 228314 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80848 /* 228317 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80849 /* 228321 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80850 /* 228325 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80851 /* 228329 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80852 /* 228333 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80853 /* 228337 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80854 /* 228340 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80855 /* 228344 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80856 /* 228348 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80857 /* 228350 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80858 /* 228357 */ // (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)
80859 /* 228357 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rm),
80860 /* 228360 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80861 /* 228362 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
80862 /* 228364 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
80863 /* 228366 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80864 /* 228370 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80865 /* 228375 */ GIR_RootConstrainSelectedInstOperands,
80866 /* 228376 */ // GIR_Coverage, 1423,
80867 /* 228376 */ GIR_EraseRootFromParent_Done,
80868 /* 228377 */ // Label 5308: @228377
80869 /* 228377 */ GIM_Try, /*On fail goto*//*Label 5309*/ GIMT_Encode4(228445), // Rule ID 10123 //
80870 /* 228382 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80871 /* 228385 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80872 /* 228389 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80873 /* 228393 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80874 /* 228397 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80875 /* 228401 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80876 /* 228405 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80877 /* 228408 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80878 /* 228412 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80879 /* 228416 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80880 /* 228418 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80881 /* 228425 */ // (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)
80882 /* 228425 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZm),
80883 /* 228428 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80884 /* 228430 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80885 /* 228432 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80886 /* 228434 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80887 /* 228438 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80888 /* 228443 */ GIR_RootConstrainSelectedInstOperands,
80889 /* 228444 */ // GIR_Coverage, 10123,
80890 /* 228444 */ GIR_EraseRootFromParent_Done,
80891 /* 228445 */ // Label 5309: @228445
80892 /* 228445 */ GIM_Try, /*On fail goto*//*Label 5310*/ GIMT_Encode4(228482), // Rule ID 1281 //
80893 /* 228450 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoAVX512_NoFMA4),
80894 /* 228453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80895 /* 228457 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80896 /* 228461 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80897 /* 228465 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80898 /* 228469 */ // (strict_fma:{ *:[f64] } FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src3) => (VFMADD213SDr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
80899 /* 228469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDr),
80900 /* 228472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80901 /* 228474 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80902 /* 228476 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80903 /* 228478 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80904 /* 228480 */ GIR_RootConstrainSelectedInstOperands,
80905 /* 228481 */ // GIR_Coverage, 1281,
80906 /* 228481 */ GIR_EraseRootFromParent_Done,
80907 /* 228482 */ // Label 5310: @228482
80908 /* 228482 */ GIM_Try, /*On fail goto*//*Label 5311*/ GIMT_Encode4(228517), // Rule ID 1421 //
80909 /* 228487 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoAVX512),
80910 /* 228490 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80911 /* 228494 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80912 /* 228498 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80913 /* 228502 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
80914 /* 228506 */ // (strict_fma:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3) => (VFMADDSD4rr:{ *:[f64] } FR64:{ *:[f64] }:$src1, FR64:{ *:[f64] }:$src2, FR64:{ *:[f64] }:$src3)
80915 /* 228506 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDSD4rr),
80916 /* 228511 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
80917 /* 228515 */ GIR_RootConstrainSelectedInstOperands,
80918 /* 228516 */ // GIR_Coverage, 1421,
80919 /* 228516 */ GIR_Done,
80920 /* 228517 */ // Label 5311: @228517
80921 /* 228517 */ GIM_Try, /*On fail goto*//*Label 5312*/ GIMT_Encode4(228554), // Rule ID 10121 //
80922 /* 228522 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
80923 /* 228525 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80924 /* 228529 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80925 /* 228533 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80926 /* 228537 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
80927 /* 228541 */ // (strict_fma:{ *:[f64] } FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src3) => (VFMADD213SDZr:{ *:[f64] } FR64X:{ *:[f64] }:$src1, FR64X:{ *:[f64] }:$src2, FR64X:{ *:[f64] }:$src3)
80928 /* 228541 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213SDZr),
80929 /* 228544 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80930 /* 228546 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80931 /* 228548 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80932 /* 228550 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
80933 /* 228552 */ GIR_RootConstrainSelectedInstOperands,
80934 /* 228553 */ // GIR_Coverage, 10121,
80935 /* 228553 */ GIR_EraseRootFromParent_Done,
80936 /* 228554 */ // Label 5312: @228554
80937 /* 228554 */ GIM_Reject,
80938 /* 228555 */ // Label 5300: @228555
80939 /* 228555 */ GIM_Reject,
80940 /* 228556 */ // Label 5272: @228556
80941 /* 228556 */ GIM_Try, /*On fail goto*//*Label 5313*/ GIMT_Encode4(228800),
80942 /* 228561 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
80943 /* 228564 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s16,
80944 /* 228567 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s16,
80945 /* 228570 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80946 /* 228574 */ GIM_Try, /*On fail goto*//*Label 5314*/ GIMT_Encode4(228638), // Rule ID 9596 //
80947 /* 228579 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
80948 /* 228582 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
80949 /* 228586 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80950 /* 228590 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80951 /* 228593 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80952 /* 228597 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80953 /* 228601 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80954 /* 228605 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80955 /* 228609 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80956 /* 228611 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80957 /* 228618 */ // (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)
80958 /* 228618 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ128m),
80959 /* 228621 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80960 /* 228623 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
80961 /* 228625 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
80962 /* 228627 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80963 /* 228631 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80964 /* 228636 */ GIR_RootConstrainSelectedInstOperands,
80965 /* 228637 */ // GIR_Coverage, 9596,
80966 /* 228637 */ GIR_EraseRootFromParent_Done,
80967 /* 228638 */ // Label 5314: @228638
80968 /* 228638 */ GIM_Try, /*On fail goto*//*Label 5315*/ GIMT_Encode4(228702), // Rule ID 9056 //
80969 /* 228643 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
80970 /* 228646 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80971 /* 228650 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
80972 /* 228654 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80973 /* 228658 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80974 /* 228661 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80975 /* 228665 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80976 /* 228669 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80977 /* 228673 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
80978 /* 228675 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
80979 /* 228682 */ // (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)
80980 /* 228682 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ128m),
80981 /* 228685 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
80982 /* 228687 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
80983 /* 228689 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
80984 /* 228691 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
80985 /* 228695 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
80986 /* 228700 */ GIR_RootConstrainSelectedInstOperands,
80987 /* 228701 */ // GIR_Coverage, 9056,
80988 /* 228701 */ GIR_EraseRootFromParent_Done,
80989 /* 228702 */ // Label 5315: @228702
80990 /* 228702 */ GIM_Try, /*On fail goto*//*Label 5316*/ GIMT_Encode4(228766), // Rule ID 8415 //
80991 /* 228707 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
80992 /* 228710 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80993 /* 228714 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
80994 /* 228718 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
80995 /* 228722 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
80996 /* 228726 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
80997 /* 228729 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
80998 /* 228733 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
80999 /* 228737 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81000 /* 228739 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81001 /* 228746 */ // (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)
81002 /* 228746 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128m),
81003 /* 228749 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81004 /* 228751 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81005 /* 228753 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81006 /* 228755 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81007 /* 228759 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81008 /* 228764 */ GIR_RootConstrainSelectedInstOperands,
81009 /* 228765 */ // GIR_Coverage, 8415,
81010 /* 228765 */ GIR_EraseRootFromParent_Done,
81011 /* 228766 */ // Label 5316: @228766
81012 /* 228766 */ GIM_Try, /*On fail goto*//*Label 5317*/ GIMT_Encode4(228799), // Rule ID 8411 //
81013 /* 228771 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81014 /* 228774 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81015 /* 228778 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81016 /* 228782 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81017 /* 228786 */ // (strict_fma:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src3) => (VFMADD213PHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src1, VR128X:{ *:[v8f16] }:$src2, VR128X:{ *:[v8f16] }:$src3)
81018 /* 228786 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ128r),
81019 /* 228789 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81020 /* 228791 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81021 /* 228793 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81022 /* 228795 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81023 /* 228797 */ GIR_RootConstrainSelectedInstOperands,
81024 /* 228798 */ // GIR_Coverage, 8411,
81025 /* 228798 */ GIR_EraseRootFromParent_Done,
81026 /* 228799 */ // Label 5317: @228799
81027 /* 228799 */ GIM_Reject,
81028 /* 228800 */ // Label 5313: @228800
81029 /* 228800 */ GIM_Reject,
81030 /* 228801 */ // Label 5273: @228801
81031 /* 228801 */ GIM_Try, /*On fail goto*//*Label 5318*/ GIMT_Encode4(229045),
81032 /* 228806 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
81033 /* 228809 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s16,
81034 /* 228812 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s16,
81035 /* 228815 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81036 /* 228819 */ GIM_Try, /*On fail goto*//*Label 5319*/ GIMT_Encode4(228883), // Rule ID 9586 //
81037 /* 228824 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81038 /* 228827 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81039 /* 228831 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81040 /* 228835 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81041 /* 228838 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81042 /* 228842 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81043 /* 228846 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81044 /* 228850 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81045 /* 228854 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81046 /* 228856 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81047 /* 228863 */ // (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)
81048 /* 228863 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZ256m),
81049 /* 228866 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81050 /* 228868 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81051 /* 228870 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81052 /* 228872 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81053 /* 228876 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81054 /* 228881 */ GIR_RootConstrainSelectedInstOperands,
81055 /* 228882 */ // GIR_Coverage, 9586,
81056 /* 228882 */ GIR_EraseRootFromParent_Done,
81057 /* 228883 */ // Label 5319: @228883
81058 /* 228883 */ GIM_Try, /*On fail goto*//*Label 5320*/ GIMT_Encode4(228947), // Rule ID 9046 //
81059 /* 228888 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81060 /* 228891 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81061 /* 228895 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81062 /* 228899 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81063 /* 228903 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81064 /* 228906 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81065 /* 228910 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81066 /* 228914 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81067 /* 228918 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81068 /* 228920 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81069 /* 228927 */ // (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)
81070 /* 228927 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZ256m),
81071 /* 228930 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81072 /* 228932 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81073 /* 228934 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81074 /* 228936 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81075 /* 228940 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81076 /* 228945 */ GIR_RootConstrainSelectedInstOperands,
81077 /* 228946 */ // GIR_Coverage, 9046,
81078 /* 228946 */ GIR_EraseRootFromParent_Done,
81079 /* 228947 */ // Label 5320: @228947
81080 /* 228947 */ GIM_Try, /*On fail goto*//*Label 5321*/ GIMT_Encode4(229011), // Rule ID 8403 //
81081 /* 228952 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81082 /* 228955 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81083 /* 228959 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81084 /* 228963 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81085 /* 228967 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81086 /* 228971 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81087 /* 228974 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81088 /* 228978 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81089 /* 228982 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81090 /* 228984 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81091 /* 228991 */ // (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)
81092 /* 228991 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256m),
81093 /* 228994 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81094 /* 228996 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81095 /* 228998 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81096 /* 229000 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81097 /* 229004 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81098 /* 229009 */ GIR_RootConstrainSelectedInstOperands,
81099 /* 229010 */ // GIR_Coverage, 8403,
81100 /* 229010 */ GIR_EraseRootFromParent_Done,
81101 /* 229011 */ // Label 5321: @229011
81102 /* 229011 */ GIM_Try, /*On fail goto*//*Label 5322*/ GIMT_Encode4(229044), // Rule ID 8399 //
81103 /* 229016 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
81104 /* 229019 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81105 /* 229023 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81106 /* 229027 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81107 /* 229031 */ // (strict_fma:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src3) => (VFMADD213PHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src1, VR256X:{ *:[v16f16] }:$src2, VR256X:{ *:[v16f16] }:$src3)
81108 /* 229031 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZ256r),
81109 /* 229034 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81110 /* 229036 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81111 /* 229038 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81112 /* 229040 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81113 /* 229042 */ GIR_RootConstrainSelectedInstOperands,
81114 /* 229043 */ // GIR_Coverage, 8399,
81115 /* 229043 */ GIR_EraseRootFromParent_Done,
81116 /* 229044 */ // Label 5322: @229044
81117 /* 229044 */ GIM_Reject,
81118 /* 229045 */ // Label 5318: @229045
81119 /* 229045 */ GIM_Reject,
81120 /* 229046 */ // Label 5274: @229046
81121 /* 229046 */ GIM_Try, /*On fail goto*//*Label 5323*/ GIMT_Encode4(229290),
81122 /* 229051 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
81123 /* 229054 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v32s16,
81124 /* 229057 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v32s16,
81125 /* 229060 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81126 /* 229064 */ GIM_Try, /*On fail goto*//*Label 5324*/ GIMT_Encode4(229128), // Rule ID 9574 //
81127 /* 229069 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
81128 /* 229072 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81129 /* 229076 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81130 /* 229080 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81131 /* 229083 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81132 /* 229087 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81133 /* 229091 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81134 /* 229095 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81135 /* 229099 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81136 /* 229101 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81137 /* 229108 */ // (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)
81138 /* 229108 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PHZm),
81139 /* 229111 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81140 /* 229113 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81141 /* 229115 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81142 /* 229117 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81143 /* 229121 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81144 /* 229126 */ GIR_RootConstrainSelectedInstOperands,
81145 /* 229127 */ // GIR_Coverage, 9574,
81146 /* 229127 */ GIR_EraseRootFromParent_Done,
81147 /* 229128 */ // Label 5324: @229128
81148 /* 229128 */ GIM_Try, /*On fail goto*//*Label 5325*/ GIMT_Encode4(229192), // Rule ID 9034 //
81149 /* 229133 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
81150 /* 229136 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81151 /* 229140 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81152 /* 229144 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81153 /* 229148 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81154 /* 229151 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81155 /* 229155 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81156 /* 229159 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81157 /* 229163 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81158 /* 229165 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81159 /* 229172 */ // (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)
81160 /* 229172 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PHZm),
81161 /* 229175 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81162 /* 229177 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81163 /* 229179 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81164 /* 229181 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81165 /* 229185 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81166 /* 229190 */ GIR_RootConstrainSelectedInstOperands,
81167 /* 229191 */ // GIR_Coverage, 9034,
81168 /* 229191 */ GIR_EraseRootFromParent_Done,
81169 /* 229192 */ // Label 5325: @229192
81170 /* 229192 */ GIM_Try, /*On fail goto*//*Label 5326*/ GIMT_Encode4(229256), // Rule ID 8388 //
81171 /* 229197 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
81172 /* 229200 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81173 /* 229204 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81174 /* 229208 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81175 /* 229212 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81176 /* 229216 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81177 /* 229219 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81178 /* 229223 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81179 /* 229227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81180 /* 229229 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81181 /* 229236 */ // (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)
81182 /* 229236 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZm),
81183 /* 229239 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81184 /* 229241 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81185 /* 229243 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81186 /* 229245 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81187 /* 229249 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81188 /* 229254 */ GIR_RootConstrainSelectedInstOperands,
81189 /* 229255 */ // GIR_Coverage, 8388,
81190 /* 229255 */ GIR_EraseRootFromParent_Done,
81191 /* 229256 */ // Label 5326: @229256
81192 /* 229256 */ GIM_Try, /*On fail goto*//*Label 5327*/ GIMT_Encode4(229289), // Rule ID 8384 //
81193 /* 229261 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
81194 /* 229264 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81195 /* 229268 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81196 /* 229272 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81197 /* 229276 */ // (strict_fma:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src3) => (VFMADD213PHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src1, VR512:{ *:[v32f16] }:$src2, VR512:{ *:[v32f16] }:$src3)
81198 /* 229276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PHZr),
81199 /* 229279 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81200 /* 229281 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81201 /* 229283 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81202 /* 229285 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81203 /* 229287 */ GIR_RootConstrainSelectedInstOperands,
81204 /* 229288 */ // GIR_Coverage, 8384,
81205 /* 229288 */ GIR_EraseRootFromParent_Done,
81206 /* 229289 */ // Label 5327: @229289
81207 /* 229289 */ GIM_Reject,
81208 /* 229290 */ // Label 5323: @229290
81209 /* 229290 */ GIM_Reject,
81210 /* 229291 */ // Label 5275: @229291
81211 /* 229291 */ GIM_Try, /*On fail goto*//*Label 5328*/ GIMT_Encode4(230027),
81212 /* 229296 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
81213 /* 229299 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s32,
81214 /* 229302 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s32,
81215 /* 229305 */ GIM_Try, /*On fail goto*//*Label 5329*/ GIMT_Encode4(229373), // Rule ID 1119 //
81216 /* 229310 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81217 /* 229313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81218 /* 229317 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81219 /* 229321 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81220 /* 229325 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81221 /* 229328 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81222 /* 229332 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81223 /* 229336 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81224 /* 229340 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81225 /* 229344 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81226 /* 229346 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81227 /* 229353 */ // (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)
81228 /* 229353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSm),
81229 /* 229356 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81230 /* 229358 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81231 /* 229360 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81232 /* 229362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81233 /* 229366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81234 /* 229371 */ GIR_RootConstrainSelectedInstOperands,
81235 /* 229372 */ // GIR_Coverage, 1119,
81236 /* 229372 */ GIR_EraseRootFromParent_Done,
81237 /* 229373 */ // Label 5329: @229373
81238 /* 229373 */ GIM_Try, /*On fail goto*//*Label 5330*/ GIMT_Encode4(229441), // Rule ID 9628 //
81239 /* 229378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81240 /* 229381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81241 /* 229385 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81242 /* 229389 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81243 /* 229393 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81244 /* 229396 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81245 /* 229400 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81246 /* 229404 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81247 /* 229408 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81248 /* 229412 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81249 /* 229414 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81250 /* 229421 */ // (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)
81251 /* 229421 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ128m),
81252 /* 229424 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81253 /* 229426 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81254 /* 229428 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81255 /* 229430 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81256 /* 229434 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81257 /* 229439 */ GIR_RootConstrainSelectedInstOperands,
81258 /* 229440 */ // GIR_Coverage, 9628,
81259 /* 229440 */ GIR_EraseRootFromParent_Done,
81260 /* 229441 */ // Label 5330: @229441
81261 /* 229441 */ GIM_Try, /*On fail goto*//*Label 5331*/ GIMT_Encode4(229509), // Rule ID 23346 //
81262 /* 229446 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81263 /* 229449 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81264 /* 229453 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81265 /* 229457 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81266 /* 229461 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81267 /* 229464 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81268 /* 229468 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81269 /* 229472 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81270 /* 229476 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81271 /* 229480 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81272 /* 229482 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81273 /* 229489 */ // (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)
81274 /* 229489 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
81275 /* 229492 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81276 /* 229494 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81277 /* 229496 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81278 /* 229500 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81279 /* 229502 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81280 /* 229507 */ GIR_RootConstrainSelectedInstOperands,
81281 /* 229508 */ // GIR_Coverage, 23346,
81282 /* 229508 */ GIR_EraseRootFromParent_Done,
81283 /* 229509 */ // Label 5331: @229509
81284 /* 229509 */ GIM_Try, /*On fail goto*//*Label 5332*/ GIMT_Encode4(229577), // Rule ID 1117 //
81285 /* 229514 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81286 /* 229517 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81287 /* 229521 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81288 /* 229525 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81289 /* 229529 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81290 /* 229533 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81291 /* 229536 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81292 /* 229540 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81293 /* 229544 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81294 /* 229548 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81295 /* 229550 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81296 /* 229557 */ // (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)
81297 /* 229557 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSm),
81298 /* 229560 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81299 /* 229562 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81300 /* 229564 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81301 /* 229566 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81302 /* 229570 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81303 /* 229575 */ GIR_RootConstrainSelectedInstOperands,
81304 /* 229576 */ // GIR_Coverage, 1117,
81305 /* 229576 */ GIR_EraseRootFromParent_Done,
81306 /* 229577 */ // Label 5332: @229577
81307 /* 229577 */ GIM_Try, /*On fail goto*//*Label 5333*/ GIMT_Encode4(229645), // Rule ID 1365 //
81308 /* 229582 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81309 /* 229585 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81310 /* 229589 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81311 /* 229593 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81312 /* 229597 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81313 /* 229601 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81314 /* 229604 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81315 /* 229608 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81316 /* 229612 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81317 /* 229616 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81318 /* 229618 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81319 /* 229625 */ // (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)
81320 /* 229625 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4mr),
81321 /* 229628 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81322 /* 229630 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81323 /* 229632 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81324 /* 229636 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81325 /* 229638 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81326 /* 229643 */ GIR_RootConstrainSelectedInstOperands,
81327 /* 229644 */ // GIR_Coverage, 1365,
81328 /* 229644 */ GIR_EraseRootFromParent_Done,
81329 /* 229645 */ // Label 5333: @229645
81330 /* 229645 */ GIM_Try, /*On fail goto*//*Label 5334*/ GIMT_Encode4(229713), // Rule ID 9088 //
81331 /* 229650 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81332 /* 229653 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81333 /* 229657 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81334 /* 229661 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81335 /* 229665 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81336 /* 229669 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81337 /* 229672 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81338 /* 229676 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81339 /* 229680 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81340 /* 229684 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81341 /* 229686 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81342 /* 229693 */ // (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)
81343 /* 229693 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ128m),
81344 /* 229696 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81345 /* 229698 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81346 /* 229700 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81347 /* 229702 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81348 /* 229706 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81349 /* 229711 */ GIR_RootConstrainSelectedInstOperands,
81350 /* 229712 */ // GIR_Coverage, 9088,
81351 /* 229712 */ GIR_EraseRootFromParent_Done,
81352 /* 229713 */ // Label 5334: @229713
81353 /* 229713 */ GIM_Try, /*On fail goto*//*Label 5335*/ GIMT_Encode4(229781), // Rule ID 1115 //
81354 /* 229718 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81355 /* 229721 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81356 /* 229725 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81357 /* 229729 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81358 /* 229733 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81359 /* 229737 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81360 /* 229741 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81361 /* 229744 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81362 /* 229748 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81363 /* 229752 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81364 /* 229754 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81365 /* 229761 */ // (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)
81366 /* 229761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSm),
81367 /* 229764 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81368 /* 229766 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81369 /* 229768 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81370 /* 229770 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81371 /* 229774 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81372 /* 229779 */ GIR_RootConstrainSelectedInstOperands,
81373 /* 229780 */ // GIR_Coverage, 1115,
81374 /* 229780 */ GIR_EraseRootFromParent_Done,
81375 /* 229781 */ // Label 5335: @229781
81376 /* 229781 */ GIM_Try, /*On fail goto*//*Label 5336*/ GIMT_Encode4(229849), // Rule ID 1363 //
81377 /* 229786 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81378 /* 229789 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81379 /* 229793 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81380 /* 229797 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81381 /* 229801 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81382 /* 229805 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81383 /* 229809 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81384 /* 229812 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81385 /* 229816 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81386 /* 229820 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81387 /* 229822 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81388 /* 229829 */ // (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)
81389 /* 229829 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rm),
81390 /* 229832 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81391 /* 229834 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81392 /* 229836 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
81393 /* 229838 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81394 /* 229842 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81395 /* 229847 */ GIR_RootConstrainSelectedInstOperands,
81396 /* 229848 */ // GIR_Coverage, 1363,
81397 /* 229848 */ GIR_EraseRootFromParent_Done,
81398 /* 229849 */ // Label 5336: @229849
81399 /* 229849 */ GIM_Try, /*On fail goto*//*Label 5337*/ GIMT_Encode4(229917), // Rule ID 8454 //
81400 /* 229854 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81401 /* 229857 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81402 /* 229861 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81403 /* 229865 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81404 /* 229869 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81405 /* 229873 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81406 /* 229877 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81407 /* 229880 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81408 /* 229884 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81409 /* 229888 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81410 /* 229890 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81411 /* 229897 */ // (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)
81412 /* 229897 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128m),
81413 /* 229900 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81414 /* 229902 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81415 /* 229904 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81416 /* 229906 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81417 /* 229910 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81418 /* 229915 */ GIR_RootConstrainSelectedInstOperands,
81419 /* 229916 */ // GIR_Coverage, 8454,
81420 /* 229916 */ GIR_EraseRootFromParent_Done,
81421 /* 229917 */ // Label 5337: @229917
81422 /* 229917 */ GIM_Try, /*On fail goto*//*Label 5338*/ GIMT_Encode4(229954), // Rule ID 1113 //
81423 /* 229922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81424 /* 229925 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81425 /* 229929 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81426 /* 229933 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81427 /* 229937 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81428 /* 229941 */ // (strict_fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src3) => (VFMADD213PSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
81429 /* 229941 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSr),
81430 /* 229944 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81431 /* 229946 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81432 /* 229948 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81433 /* 229950 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81434 /* 229952 */ GIR_RootConstrainSelectedInstOperands,
81435 /* 229953 */ // GIR_Coverage, 1113,
81436 /* 229953 */ GIR_EraseRootFromParent_Done,
81437 /* 229954 */ // Label 5338: @229954
81438 /* 229954 */ GIM_Try, /*On fail goto*//*Label 5339*/ GIMT_Encode4(229989), // Rule ID 1361 //
81439 /* 229959 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81440 /* 229962 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81441 /* 229966 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81442 /* 229970 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81443 /* 229974 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81444 /* 229978 */ // (strict_fma:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3) => (VFMADDPS4rr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src1, VR128:{ *:[v4f32] }:$src2, VR128:{ *:[v4f32] }:$src3)
81445 /* 229978 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4rr),
81446 /* 229983 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81447 /* 229987 */ GIR_RootConstrainSelectedInstOperands,
81448 /* 229988 */ // GIR_Coverage, 1361,
81449 /* 229988 */ GIR_Done,
81450 /* 229989 */ // Label 5339: @229989
81451 /* 229989 */ GIM_Try, /*On fail goto*//*Label 5340*/ GIMT_Encode4(230026), // Rule ID 8450 //
81452 /* 229994 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81453 /* 229997 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81454 /* 230001 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81455 /* 230005 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81456 /* 230009 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81457 /* 230013 */ // (strict_fma:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src3) => (VFMADD213PSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src1, VR128X:{ *:[v4f32] }:$src2, VR128X:{ *:[v4f32] }:$src3)
81458 /* 230013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ128r),
81459 /* 230016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81460 /* 230018 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81461 /* 230020 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81462 /* 230022 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81463 /* 230024 */ GIR_RootConstrainSelectedInstOperands,
81464 /* 230025 */ // GIR_Coverage, 8450,
81465 /* 230025 */ GIR_EraseRootFromParent_Done,
81466 /* 230026 */ // Label 5340: @230026
81467 /* 230026 */ GIM_Reject,
81468 /* 230027 */ // Label 5328: @230027
81469 /* 230027 */ GIM_Reject,
81470 /* 230028 */ // Label 5276: @230028
81471 /* 230028 */ GIM_Try, /*On fail goto*//*Label 5341*/ GIMT_Encode4(230764),
81472 /* 230033 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
81473 /* 230036 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s32,
81474 /* 230039 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s32,
81475 /* 230042 */ GIM_Try, /*On fail goto*//*Label 5342*/ GIMT_Encode4(230110), // Rule ID 1127 //
81476 /* 230047 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81477 /* 230050 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81478 /* 230054 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81479 /* 230058 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81480 /* 230062 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81481 /* 230065 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81482 /* 230069 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81483 /* 230073 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81484 /* 230077 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81485 /* 230081 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81486 /* 230083 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81487 /* 230090 */ // (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)
81488 /* 230090 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSYm),
81489 /* 230093 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81490 /* 230095 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81491 /* 230097 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81492 /* 230099 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81493 /* 230103 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81494 /* 230108 */ GIR_RootConstrainSelectedInstOperands,
81495 /* 230109 */ // GIR_Coverage, 1127,
81496 /* 230109 */ GIR_EraseRootFromParent_Done,
81497 /* 230110 */ // Label 5342: @230110
81498 /* 230110 */ GIM_Try, /*On fail goto*//*Label 5343*/ GIMT_Encode4(230178), // Rule ID 9618 //
81499 /* 230115 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81500 /* 230118 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81501 /* 230122 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81502 /* 230126 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81503 /* 230130 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81504 /* 230133 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81505 /* 230137 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81506 /* 230141 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81507 /* 230145 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81508 /* 230149 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81509 /* 230151 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81510 /* 230158 */ // (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)
81511 /* 230158 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZ256m),
81512 /* 230161 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81513 /* 230163 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81514 /* 230165 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81515 /* 230167 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81516 /* 230171 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81517 /* 230176 */ GIR_RootConstrainSelectedInstOperands,
81518 /* 230177 */ // GIR_Coverage, 9618,
81519 /* 230177 */ GIR_EraseRootFromParent_Done,
81520 /* 230178 */ // Label 5343: @230178
81521 /* 230178 */ GIM_Try, /*On fail goto*//*Label 5344*/ GIMT_Encode4(230246), // Rule ID 23348 //
81522 /* 230183 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81523 /* 230186 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81524 /* 230190 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81525 /* 230194 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81526 /* 230198 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81527 /* 230201 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81528 /* 230205 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81529 /* 230209 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81530 /* 230213 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81531 /* 230217 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81532 /* 230219 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81533 /* 230226 */ // (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)
81534 /* 230226 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
81535 /* 230229 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81536 /* 230231 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81537 /* 230233 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81538 /* 230237 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81539 /* 230239 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81540 /* 230244 */ GIR_RootConstrainSelectedInstOperands,
81541 /* 230245 */ // GIR_Coverage, 23348,
81542 /* 230245 */ GIR_EraseRootFromParent_Done,
81543 /* 230246 */ // Label 5344: @230246
81544 /* 230246 */ GIM_Try, /*On fail goto*//*Label 5345*/ GIMT_Encode4(230314), // Rule ID 1125 //
81545 /* 230251 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81546 /* 230254 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81547 /* 230258 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81548 /* 230262 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81549 /* 230266 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81550 /* 230270 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81551 /* 230273 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81552 /* 230277 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81553 /* 230281 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81554 /* 230285 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81555 /* 230287 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81556 /* 230294 */ // (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)
81557 /* 230294 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSYm),
81558 /* 230297 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81559 /* 230299 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81560 /* 230301 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81561 /* 230303 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81562 /* 230307 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81563 /* 230312 */ GIR_RootConstrainSelectedInstOperands,
81564 /* 230313 */ // GIR_Coverage, 1125,
81565 /* 230313 */ GIR_EraseRootFromParent_Done,
81566 /* 230314 */ // Label 5345: @230314
81567 /* 230314 */ GIM_Try, /*On fail goto*//*Label 5346*/ GIMT_Encode4(230382), // Rule ID 1371 //
81568 /* 230319 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81569 /* 230322 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81570 /* 230326 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81571 /* 230330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81572 /* 230334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81573 /* 230338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81574 /* 230341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81575 /* 230345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81576 /* 230349 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81577 /* 230353 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81578 /* 230355 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81579 /* 230362 */ // (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)
81580 /* 230362 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Ymr),
81581 /* 230365 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81582 /* 230367 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81583 /* 230369 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81584 /* 230373 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81585 /* 230375 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81586 /* 230380 */ GIR_RootConstrainSelectedInstOperands,
81587 /* 230381 */ // GIR_Coverage, 1371,
81588 /* 230381 */ GIR_EraseRootFromParent_Done,
81589 /* 230382 */ // Label 5346: @230382
81590 /* 230382 */ GIM_Try, /*On fail goto*//*Label 5347*/ GIMT_Encode4(230450), // Rule ID 9078 //
81591 /* 230387 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81592 /* 230390 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81593 /* 230394 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81594 /* 230398 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81595 /* 230402 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81596 /* 230406 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81597 /* 230409 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81598 /* 230413 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81599 /* 230417 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81600 /* 230421 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81601 /* 230423 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81602 /* 230430 */ // (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)
81603 /* 230430 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZ256m),
81604 /* 230433 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81605 /* 230435 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81606 /* 230437 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81607 /* 230439 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81608 /* 230443 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81609 /* 230448 */ GIR_RootConstrainSelectedInstOperands,
81610 /* 230449 */ // GIR_Coverage, 9078,
81611 /* 230449 */ GIR_EraseRootFromParent_Done,
81612 /* 230450 */ // Label 5347: @230450
81613 /* 230450 */ GIM_Try, /*On fail goto*//*Label 5348*/ GIMT_Encode4(230518), // Rule ID 1123 //
81614 /* 230455 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81615 /* 230458 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81616 /* 230462 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81617 /* 230466 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81618 /* 230470 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81619 /* 230474 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81620 /* 230478 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81621 /* 230481 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81622 /* 230485 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81623 /* 230489 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81624 /* 230491 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81625 /* 230498 */ // (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)
81626 /* 230498 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYm),
81627 /* 230501 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81628 /* 230503 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81629 /* 230505 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81630 /* 230507 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81631 /* 230511 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81632 /* 230516 */ GIR_RootConstrainSelectedInstOperands,
81633 /* 230517 */ // GIR_Coverage, 1123,
81634 /* 230517 */ GIR_EraseRootFromParent_Done,
81635 /* 230518 */ // Label 5348: @230518
81636 /* 230518 */ GIM_Try, /*On fail goto*//*Label 5349*/ GIMT_Encode4(230586), // Rule ID 1369 //
81637 /* 230523 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81638 /* 230526 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81639 /* 230530 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81640 /* 230534 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81641 /* 230538 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81642 /* 230542 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81643 /* 230546 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81644 /* 230549 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81645 /* 230553 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81646 /* 230557 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81647 /* 230559 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81648 /* 230566 */ // (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)
81649 /* 230566 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrm),
81650 /* 230569 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81651 /* 230571 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81652 /* 230573 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
81653 /* 230575 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81654 /* 230579 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81655 /* 230584 */ GIR_RootConstrainSelectedInstOperands,
81656 /* 230585 */ // GIR_Coverage, 1369,
81657 /* 230585 */ GIR_EraseRootFromParent_Done,
81658 /* 230586 */ // Label 5349: @230586
81659 /* 230586 */ GIM_Try, /*On fail goto*//*Label 5350*/ GIMT_Encode4(230654), // Rule ID 8442 //
81660 /* 230591 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81661 /* 230594 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81662 /* 230598 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81663 /* 230602 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81664 /* 230606 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81665 /* 230610 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81666 /* 230614 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81667 /* 230617 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81668 /* 230621 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81669 /* 230625 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81670 /* 230627 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81671 /* 230634 */ // (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)
81672 /* 230634 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256m),
81673 /* 230637 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81674 /* 230639 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81675 /* 230641 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81676 /* 230643 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81677 /* 230647 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81678 /* 230652 */ GIR_RootConstrainSelectedInstOperands,
81679 /* 230653 */ // GIR_Coverage, 8442,
81680 /* 230653 */ GIR_EraseRootFromParent_Done,
81681 /* 230654 */ // Label 5350: @230654
81682 /* 230654 */ GIM_Try, /*On fail goto*//*Label 5351*/ GIMT_Encode4(230691), // Rule ID 1121 //
81683 /* 230659 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81684 /* 230662 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81685 /* 230666 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81686 /* 230670 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81687 /* 230674 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81688 /* 230678 */ // (strict_fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src3) => (VFMADD213PSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
81689 /* 230678 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSYr),
81690 /* 230681 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81691 /* 230683 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81692 /* 230685 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81693 /* 230687 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81694 /* 230689 */ GIR_RootConstrainSelectedInstOperands,
81695 /* 230690 */ // GIR_Coverage, 1121,
81696 /* 230690 */ GIR_EraseRootFromParent_Done,
81697 /* 230691 */ // Label 5351: @230691
81698 /* 230691 */ GIM_Try, /*On fail goto*//*Label 5352*/ GIMT_Encode4(230726), // Rule ID 1367 //
81699 /* 230696 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81700 /* 230699 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81701 /* 230703 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81702 /* 230707 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81703 /* 230711 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
81704 /* 230715 */ // (strict_fma:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3) => (VFMADDPS4Yrr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src1, VR256:{ *:[v8f32] }:$src2, VR256:{ *:[v8f32] }:$src3)
81705 /* 230715 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPS4Yrr),
81706 /* 230720 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
81707 /* 230724 */ GIR_RootConstrainSelectedInstOperands,
81708 /* 230725 */ // GIR_Coverage, 1367,
81709 /* 230725 */ GIR_Done,
81710 /* 230726 */ // Label 5352: @230726
81711 /* 230726 */ GIM_Try, /*On fail goto*//*Label 5353*/ GIMT_Encode4(230763), // Rule ID 8438 //
81712 /* 230731 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81713 /* 230734 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81714 /* 230738 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81715 /* 230742 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81716 /* 230746 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
81717 /* 230750 */ // (strict_fma:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src3) => (VFMADD213PSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src1, VR256X:{ *:[v8f32] }:$src2, VR256X:{ *:[v8f32] }:$src3)
81718 /* 230750 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZ256r),
81719 /* 230753 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81720 /* 230755 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81721 /* 230757 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81722 /* 230759 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81723 /* 230761 */ GIR_RootConstrainSelectedInstOperands,
81724 /* 230762 */ // GIR_Coverage, 8438,
81725 /* 230762 */ GIR_EraseRootFromParent_Done,
81726 /* 230763 */ // Label 5353: @230763
81727 /* 230763 */ GIM_Reject,
81728 /* 230764 */ // Label 5341: @230764
81729 /* 230764 */ GIM_Reject,
81730 /* 230765 */ // Label 5277: @230765
81731 /* 230765 */ GIM_Try, /*On fail goto*//*Label 5354*/ GIMT_Encode4(231009),
81732 /* 230770 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
81733 /* 230773 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v16s32,
81734 /* 230776 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v16s32,
81735 /* 230779 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81736 /* 230783 */ GIM_Try, /*On fail goto*//*Label 5355*/ GIMT_Encode4(230847), // Rule ID 9606 //
81737 /* 230788 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81738 /* 230791 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81739 /* 230795 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81740 /* 230799 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81741 /* 230802 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81742 /* 230806 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81743 /* 230810 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81744 /* 230814 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81745 /* 230818 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81746 /* 230820 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81747 /* 230827 */ // (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)
81748 /* 230827 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PSZm),
81749 /* 230830 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81750 /* 230832 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81751 /* 230834 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81752 /* 230836 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81753 /* 230840 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81754 /* 230845 */ GIR_RootConstrainSelectedInstOperands,
81755 /* 230846 */ // GIR_Coverage, 9606,
81756 /* 230846 */ GIR_EraseRootFromParent_Done,
81757 /* 230847 */ // Label 5355: @230847
81758 /* 230847 */ GIM_Try, /*On fail goto*//*Label 5356*/ GIMT_Encode4(230911), // Rule ID 9066 //
81759 /* 230852 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81760 /* 230855 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81761 /* 230859 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81762 /* 230863 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81763 /* 230867 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81764 /* 230870 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81765 /* 230874 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81766 /* 230878 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81767 /* 230882 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81768 /* 230884 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81769 /* 230891 */ // (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)
81770 /* 230891 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PSZm),
81771 /* 230894 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81772 /* 230896 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81773 /* 230898 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81774 /* 230900 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81775 /* 230904 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81776 /* 230909 */ GIR_RootConstrainSelectedInstOperands,
81777 /* 230910 */ // GIR_Coverage, 9066,
81778 /* 230910 */ GIR_EraseRootFromParent_Done,
81779 /* 230911 */ // Label 5356: @230911
81780 /* 230911 */ GIM_Try, /*On fail goto*//*Label 5357*/ GIMT_Encode4(230975), // Rule ID 8427 //
81781 /* 230916 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81782 /* 230919 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81783 /* 230923 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81784 /* 230927 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81785 /* 230931 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81786 /* 230935 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81787 /* 230938 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81788 /* 230942 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81789 /* 230946 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81790 /* 230948 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81791 /* 230955 */ // (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)
81792 /* 230955 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZm),
81793 /* 230958 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81794 /* 230960 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81795 /* 230962 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81796 /* 230964 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81797 /* 230968 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81798 /* 230973 */ GIR_RootConstrainSelectedInstOperands,
81799 /* 230974 */ // GIR_Coverage, 8427,
81800 /* 230974 */ GIR_EraseRootFromParent_Done,
81801 /* 230975 */ // Label 5357: @230975
81802 /* 230975 */ GIM_Try, /*On fail goto*//*Label 5358*/ GIMT_Encode4(231008), // Rule ID 8423 //
81803 /* 230980 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
81804 /* 230983 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81805 /* 230987 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81806 /* 230991 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
81807 /* 230995 */ // (strict_fma:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src3) => (VFMADD213PSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src1, VR512:{ *:[v16f32] }:$src2, VR512:{ *:[v16f32] }:$src3)
81808 /* 230995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PSZr),
81809 /* 230998 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81810 /* 231000 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81811 /* 231002 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81812 /* 231004 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81813 /* 231006 */ GIR_RootConstrainSelectedInstOperands,
81814 /* 231007 */ // GIR_Coverage, 8423,
81815 /* 231007 */ GIR_EraseRootFromParent_Done,
81816 /* 231008 */ // Label 5358: @231008
81817 /* 231008 */ GIM_Reject,
81818 /* 231009 */ // Label 5354: @231009
81819 /* 231009 */ GIM_Reject,
81820 /* 231010 */ // Label 5278: @231010
81821 /* 231010 */ GIM_Try, /*On fail goto*//*Label 5359*/ GIMT_Encode4(231746),
81822 /* 231015 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
81823 /* 231018 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v2s64,
81824 /* 231021 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v2s64,
81825 /* 231024 */ GIM_Try, /*On fail goto*//*Label 5360*/ GIMT_Encode4(231092), // Rule ID 1167 //
81826 /* 231029 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81827 /* 231032 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81828 /* 231036 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81829 /* 231040 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81830 /* 231044 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81831 /* 231047 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81832 /* 231051 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81833 /* 231055 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81834 /* 231059 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81835 /* 231063 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81836 /* 231065 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81837 /* 231072 */ // (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)
81838 /* 231072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDm),
81839 /* 231075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81840 /* 231077 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81841 /* 231079 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81842 /* 231081 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81843 /* 231085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81844 /* 231090 */ GIR_RootConstrainSelectedInstOperands,
81845 /* 231091 */ // GIR_Coverage, 1167,
81846 /* 231091 */ GIR_EraseRootFromParent_Done,
81847 /* 231092 */ // Label 5360: @231092
81848 /* 231092 */ GIM_Try, /*On fail goto*//*Label 5361*/ GIMT_Encode4(231160), // Rule ID 9660 //
81849 /* 231097 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81850 /* 231100 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81851 /* 231104 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81852 /* 231108 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81853 /* 231112 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81854 /* 231115 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81855 /* 231119 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81856 /* 231123 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81857 /* 231127 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81858 /* 231131 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81859 /* 231133 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81860 /* 231140 */ // (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)
81861 /* 231140 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ128m),
81862 /* 231143 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81863 /* 231145 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81864 /* 231147 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
81865 /* 231149 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81866 /* 231153 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81867 /* 231158 */ GIR_RootConstrainSelectedInstOperands,
81868 /* 231159 */ // GIR_Coverage, 9660,
81869 /* 231159 */ GIR_EraseRootFromParent_Done,
81870 /* 231160 */ // Label 5361: @231160
81871 /* 231160 */ GIM_Try, /*On fail goto*//*Label 5362*/ GIMT_Encode4(231228), // Rule ID 23374 //
81872 /* 231165 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81873 /* 231168 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81874 /* 231172 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
81875 /* 231176 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81876 /* 231180 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81877 /* 231183 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81878 /* 231187 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81879 /* 231191 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81880 /* 231195 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81881 /* 231199 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81882 /* 231201 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81883 /* 231208 */ // (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)
81884 /* 231208 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
81885 /* 231211 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81886 /* 231213 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81887 /* 231215 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81888 /* 231219 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81889 /* 231221 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81890 /* 231226 */ GIR_RootConstrainSelectedInstOperands,
81891 /* 231227 */ // GIR_Coverage, 23374,
81892 /* 231227 */ GIR_EraseRootFromParent_Done,
81893 /* 231228 */ // Label 5362: @231228
81894 /* 231228 */ GIM_Try, /*On fail goto*//*Label 5363*/ GIMT_Encode4(231296), // Rule ID 1165 //
81895 /* 231233 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81896 /* 231236 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81897 /* 231240 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81898 /* 231244 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81899 /* 231248 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81900 /* 231252 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81901 /* 231255 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81902 /* 231259 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81903 /* 231263 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81904 /* 231267 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81905 /* 231269 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81906 /* 231276 */ // (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)
81907 /* 231276 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDm),
81908 /* 231279 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81909 /* 231281 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81910 /* 231283 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81911 /* 231285 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81912 /* 231289 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81913 /* 231294 */ GIR_RootConstrainSelectedInstOperands,
81914 /* 231295 */ // GIR_Coverage, 1165,
81915 /* 231295 */ GIR_EraseRootFromParent_Done,
81916 /* 231296 */ // Label 5363: @231296
81917 /* 231296 */ GIM_Try, /*On fail goto*//*Label 5364*/ GIMT_Encode4(231364), // Rule ID 1449 //
81918 /* 231301 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81919 /* 231304 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81920 /* 231308 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81921 /* 231312 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81922 /* 231316 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81923 /* 231320 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81924 /* 231323 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81925 /* 231327 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81926 /* 231331 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81927 /* 231335 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81928 /* 231337 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81929 /* 231344 */ // (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)
81930 /* 231344 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4mr),
81931 /* 231347 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81932 /* 231349 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
81933 /* 231351 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
81934 /* 231355 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
81935 /* 231357 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81936 /* 231362 */ GIR_RootConstrainSelectedInstOperands,
81937 /* 231363 */ // GIR_Coverage, 1449,
81938 /* 231363 */ GIR_EraseRootFromParent_Done,
81939 /* 231364 */ // Label 5364: @231364
81940 /* 231364 */ GIM_Try, /*On fail goto*//*Label 5365*/ GIMT_Encode4(231432), // Rule ID 9120 //
81941 /* 231369 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
81942 /* 231372 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81943 /* 231376 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81944 /* 231380 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
81945 /* 231384 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81946 /* 231388 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81947 /* 231391 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81948 /* 231395 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81949 /* 231399 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
81950 /* 231403 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81951 /* 231405 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81952 /* 231412 */ // (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)
81953 /* 231412 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ128m),
81954 /* 231415 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81955 /* 231417 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
81956 /* 231419 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81957 /* 231421 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81958 /* 231425 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81959 /* 231430 */ GIR_RootConstrainSelectedInstOperands,
81960 /* 231431 */ // GIR_Coverage, 9120,
81961 /* 231431 */ GIR_EraseRootFromParent_Done,
81962 /* 231432 */ // Label 5365: @231432
81963 /* 231432 */ GIM_Try, /*On fail goto*//*Label 5366*/ GIMT_Encode4(231500), // Rule ID 1163 //
81964 /* 231437 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
81965 /* 231440 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81966 /* 231444 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81967 /* 231448 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81968 /* 231452 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81969 /* 231456 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81970 /* 231460 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81971 /* 231463 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81972 /* 231467 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81973 /* 231471 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81974 /* 231473 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81975 /* 231480 */ // (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)
81976 /* 231480 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDm),
81977 /* 231483 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
81978 /* 231485 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
81979 /* 231487 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
81980 /* 231489 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
81981 /* 231493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
81982 /* 231498 */ GIR_RootConstrainSelectedInstOperands,
81983 /* 231499 */ // GIR_Coverage, 1163,
81984 /* 231499 */ GIR_EraseRootFromParent_Done,
81985 /* 231500 */ // Label 5366: @231500
81986 /* 231500 */ GIM_Try, /*On fail goto*//*Label 5367*/ GIMT_Encode4(231568), // Rule ID 1447 //
81987 /* 231505 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
81988 /* 231508 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81989 /* 231512 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81990 /* 231516 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
81991 /* 231520 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
81992 /* 231524 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
81993 /* 231528 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
81994 /* 231531 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
81995 /* 231535 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
81996 /* 231539 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
81997 /* 231541 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
81998 /* 231548 */ // (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)
81999 /* 231548 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rm),
82000 /* 231551 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82001 /* 231553 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
82002 /* 231555 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
82003 /* 231557 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82004 /* 231561 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82005 /* 231566 */ GIR_RootConstrainSelectedInstOperands,
82006 /* 231567 */ // GIR_Coverage, 1447,
82007 /* 231567 */ GIR_EraseRootFromParent_Done,
82008 /* 231568 */ // Label 5367: @231568
82009 /* 231568 */ GIM_Try, /*On fail goto*//*Label 5368*/ GIMT_Encode4(231636), // Rule ID 8493 //
82010 /* 231573 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82011 /* 231576 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82012 /* 231580 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82013 /* 231584 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82014 /* 231588 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82015 /* 231592 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82016 /* 231596 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82017 /* 231599 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82018 /* 231603 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82019 /* 231607 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82020 /* 231609 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82021 /* 231616 */ // (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)
82022 /* 231616 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128m),
82023 /* 231619 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82024 /* 231621 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82025 /* 231623 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82026 /* 231625 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82027 /* 231629 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82028 /* 231634 */ GIR_RootConstrainSelectedInstOperands,
82029 /* 231635 */ // GIR_Coverage, 8493,
82030 /* 231635 */ GIR_EraseRootFromParent_Done,
82031 /* 231636 */ // Label 5368: @231636
82032 /* 231636 */ GIM_Try, /*On fail goto*//*Label 5369*/ GIMT_Encode4(231673), // Rule ID 1161 //
82033 /* 231641 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82034 /* 231644 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82035 /* 231648 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82036 /* 231652 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82037 /* 231656 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82038 /* 231660 */ // (strict_fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src3) => (VFMADD213PDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
82039 /* 231660 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDr),
82040 /* 231663 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82041 /* 231665 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82042 /* 231667 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82043 /* 231669 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82044 /* 231671 */ GIR_RootConstrainSelectedInstOperands,
82045 /* 231672 */ // GIR_Coverage, 1161,
82046 /* 231672 */ GIR_EraseRootFromParent_Done,
82047 /* 231673 */ // Label 5369: @231673
82048 /* 231673 */ GIM_Try, /*On fail goto*//*Label 5370*/ GIMT_Encode4(231708), // Rule ID 1445 //
82049 /* 231678 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82050 /* 231681 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82051 /* 231685 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82052 /* 231689 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82053 /* 231693 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82054 /* 231697 */ // (strict_fma:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3) => (VFMADDPD4rr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src1, VR128:{ *:[v2f64] }:$src2, VR128:{ *:[v2f64] }:$src3)
82055 /* 231697 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4rr),
82056 /* 231702 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82057 /* 231706 */ GIR_RootConstrainSelectedInstOperands,
82058 /* 231707 */ // GIR_Coverage, 1445,
82059 /* 231707 */ GIR_Done,
82060 /* 231708 */ // Label 5370: @231708
82061 /* 231708 */ GIM_Try, /*On fail goto*//*Label 5371*/ GIMT_Encode4(231745), // Rule ID 8489 //
82062 /* 231713 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82063 /* 231716 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82064 /* 231720 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82065 /* 231724 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82066 /* 231728 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82067 /* 231732 */ // (strict_fma:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src3) => (VFMADD213PDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src1, VR128X:{ *:[v2f64] }:$src2, VR128X:{ *:[v2f64] }:$src3)
82068 /* 231732 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ128r),
82069 /* 231735 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82070 /* 231737 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82071 /* 231739 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82072 /* 231741 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82073 /* 231743 */ GIR_RootConstrainSelectedInstOperands,
82074 /* 231744 */ // GIR_Coverage, 8489,
82075 /* 231744 */ GIR_EraseRootFromParent_Done,
82076 /* 231745 */ // Label 5371: @231745
82077 /* 231745 */ GIM_Reject,
82078 /* 231746 */ // Label 5359: @231746
82079 /* 231746 */ GIM_Reject,
82080 /* 231747 */ // Label 5279: @231747
82081 /* 231747 */ GIM_Try, /*On fail goto*//*Label 5372*/ GIMT_Encode4(232483),
82082 /* 231752 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
82083 /* 231755 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v4s64,
82084 /* 231758 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v4s64,
82085 /* 231761 */ GIM_Try, /*On fail goto*//*Label 5373*/ GIMT_Encode4(231829), // Rule ID 1175 //
82086 /* 231766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82087 /* 231769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82088 /* 231773 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82089 /* 231777 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82090 /* 231781 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82091 /* 231784 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82092 /* 231788 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82093 /* 231792 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82094 /* 231796 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82095 /* 231800 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82096 /* 231802 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82097 /* 231809 */ // (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)
82098 /* 231809 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDYm),
82099 /* 231812 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82100 /* 231814 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82101 /* 231816 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82102 /* 231818 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82103 /* 231822 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82104 /* 231827 */ GIR_RootConstrainSelectedInstOperands,
82105 /* 231828 */ // GIR_Coverage, 1175,
82106 /* 231828 */ GIR_EraseRootFromParent_Done,
82107 /* 231829 */ // Label 5373: @231829
82108 /* 231829 */ GIM_Try, /*On fail goto*//*Label 5374*/ GIMT_Encode4(231897), // Rule ID 9650 //
82109 /* 231834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82110 /* 231837 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82111 /* 231841 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82112 /* 231845 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82113 /* 231849 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82114 /* 231852 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82115 /* 231856 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82116 /* 231860 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82117 /* 231864 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82118 /* 231868 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82119 /* 231870 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82120 /* 231877 */ // (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)
82121 /* 231877 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZ256m),
82122 /* 231880 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82123 /* 231882 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82124 /* 231884 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82125 /* 231886 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82126 /* 231890 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82127 /* 231895 */ GIR_RootConstrainSelectedInstOperands,
82128 /* 231896 */ // GIR_Coverage, 9650,
82129 /* 231896 */ GIR_EraseRootFromParent_Done,
82130 /* 231897 */ // Label 5374: @231897
82131 /* 231897 */ GIM_Try, /*On fail goto*//*Label 5375*/ GIMT_Encode4(231965), // Rule ID 23376 //
82132 /* 231902 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82133 /* 231905 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82134 /* 231909 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82135 /* 231913 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82136 /* 231917 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82137 /* 231920 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82138 /* 231924 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82139 /* 231928 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82140 /* 231932 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82141 /* 231936 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82142 /* 231938 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82143 /* 231945 */ // (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)
82144 /* 231945 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
82145 /* 231948 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82146 /* 231950 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82147 /* 231952 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
82148 /* 231956 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82149 /* 231958 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82150 /* 231963 */ GIR_RootConstrainSelectedInstOperands,
82151 /* 231964 */ // GIR_Coverage, 23376,
82152 /* 231964 */ GIR_EraseRootFromParent_Done,
82153 /* 231965 */ // Label 5375: @231965
82154 /* 231965 */ GIM_Try, /*On fail goto*//*Label 5376*/ GIMT_Encode4(232033), // Rule ID 1173 //
82155 /* 231970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82156 /* 231973 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82157 /* 231977 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82158 /* 231981 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82159 /* 231985 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82160 /* 231989 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82161 /* 231992 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82162 /* 231996 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82163 /* 232000 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82164 /* 232004 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82165 /* 232006 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82166 /* 232013 */ // (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)
82167 /* 232013 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDYm),
82168 /* 232016 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82169 /* 232018 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82170 /* 232020 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82171 /* 232022 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82172 /* 232026 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82173 /* 232031 */ GIR_RootConstrainSelectedInstOperands,
82174 /* 232032 */ // GIR_Coverage, 1173,
82175 /* 232032 */ GIR_EraseRootFromParent_Done,
82176 /* 232033 */ // Label 5376: @232033
82177 /* 232033 */ GIM_Try, /*On fail goto*//*Label 5377*/ GIMT_Encode4(232101), // Rule ID 1455 //
82178 /* 232038 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82179 /* 232041 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82180 /* 232045 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82181 /* 232049 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82182 /* 232053 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82183 /* 232057 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82184 /* 232060 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82185 /* 232064 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82186 /* 232068 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82187 /* 232072 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82188 /* 232074 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82189 /* 232081 */ // (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)
82190 /* 232081 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Ymr),
82191 /* 232084 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82192 /* 232086 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
82193 /* 232088 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src2
82194 /* 232092 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82195 /* 232094 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82196 /* 232099 */ GIR_RootConstrainSelectedInstOperands,
82197 /* 232100 */ // GIR_Coverage, 1455,
82198 /* 232100 */ GIR_EraseRootFromParent_Done,
82199 /* 232101 */ // Label 5377: @232101
82200 /* 232101 */ GIM_Try, /*On fail goto*//*Label 5378*/ GIMT_Encode4(232169), // Rule ID 9110 //
82201 /* 232106 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82202 /* 232109 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82203 /* 232113 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82204 /* 232117 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82205 /* 232121 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82206 /* 232125 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82207 /* 232128 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82208 /* 232132 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82209 /* 232136 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82210 /* 232140 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82211 /* 232142 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82212 /* 232149 */ // (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)
82213 /* 232149 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZ256m),
82214 /* 232152 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82215 /* 232154 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82216 /* 232156 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82217 /* 232158 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82218 /* 232162 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82219 /* 232167 */ GIR_RootConstrainSelectedInstOperands,
82220 /* 232168 */ // GIR_Coverage, 9110,
82221 /* 232168 */ GIR_EraseRootFromParent_Done,
82222 /* 232169 */ // Label 5378: @232169
82223 /* 232169 */ GIM_Try, /*On fail goto*//*Label 5379*/ GIMT_Encode4(232237), // Rule ID 1171 //
82224 /* 232174 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82225 /* 232177 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82226 /* 232181 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82227 /* 232185 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82228 /* 232189 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82229 /* 232193 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82230 /* 232197 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82231 /* 232200 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82232 /* 232204 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82233 /* 232208 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82234 /* 232210 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82235 /* 232217 */ // (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)
82236 /* 232217 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYm),
82237 /* 232220 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82238 /* 232222 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82239 /* 232224 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82240 /* 232226 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82241 /* 232230 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82242 /* 232235 */ GIR_RootConstrainSelectedInstOperands,
82243 /* 232236 */ // GIR_Coverage, 1171,
82244 /* 232236 */ GIR_EraseRootFromParent_Done,
82245 /* 232237 */ // Label 5379: @232237
82246 /* 232237 */ GIM_Try, /*On fail goto*//*Label 5380*/ GIMT_Encode4(232305), // Rule ID 1453 //
82247 /* 232242 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82248 /* 232245 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82249 /* 232249 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82250 /* 232253 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82251 /* 232257 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82252 /* 232261 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82253 /* 232265 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82254 /* 232268 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82255 /* 232272 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82256 /* 232276 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82257 /* 232278 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82258 /* 232285 */ // (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)
82259 /* 232285 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrm),
82260 /* 232288 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82261 /* 232290 */ GIR_RootToRootCopy, /*OpIdx*/1, // src1
82262 /* 232292 */ GIR_RootToRootCopy, /*OpIdx*/2, // src2
82263 /* 232294 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82264 /* 232298 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82265 /* 232303 */ GIR_RootConstrainSelectedInstOperands,
82266 /* 232304 */ // GIR_Coverage, 1453,
82267 /* 232304 */ GIR_EraseRootFromParent_Done,
82268 /* 232305 */ // Label 5380: @232305
82269 /* 232305 */ GIM_Try, /*On fail goto*//*Label 5381*/ GIMT_Encode4(232373), // Rule ID 8481 //
82270 /* 232310 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82271 /* 232313 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82272 /* 232317 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82273 /* 232321 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82274 /* 232325 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82275 /* 232329 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82276 /* 232333 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82277 /* 232336 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82278 /* 232340 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82279 /* 232344 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82280 /* 232346 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82281 /* 232353 */ // (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)
82282 /* 232353 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256m),
82283 /* 232356 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82284 /* 232358 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82285 /* 232360 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82286 /* 232362 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82287 /* 232366 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82288 /* 232371 */ GIR_RootConstrainSelectedInstOperands,
82289 /* 232372 */ // GIR_Coverage, 8481,
82290 /* 232372 */ GIR_EraseRootFromParent_Done,
82291 /* 232373 */ // Label 5381: @232373
82292 /* 232373 */ GIM_Try, /*On fail goto*//*Label 5382*/ GIMT_Encode4(232410), // Rule ID 1169 //
82293 /* 232378 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA_NoFMA4_NoVLX),
82294 /* 232381 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82295 /* 232385 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82296 /* 232389 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82297 /* 232393 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82298 /* 232397 */ // (strict_fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src3) => (VFMADD213PDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
82299 /* 232397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDYr),
82300 /* 232400 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82301 /* 232402 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82302 /* 232404 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82303 /* 232406 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82304 /* 232408 */ GIR_RootConstrainSelectedInstOperands,
82305 /* 232409 */ // GIR_Coverage, 1169,
82306 /* 232409 */ GIR_EraseRootFromParent_Done,
82307 /* 232410 */ // Label 5382: @232410
82308 /* 232410 */ GIM_Try, /*On fail goto*//*Label 5383*/ GIMT_Encode4(232445), // Rule ID 1451 //
82309 /* 232415 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFMA4_NoVLX),
82310 /* 232418 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82311 /* 232422 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82312 /* 232426 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82313 /* 232430 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82314 /* 232434 */ // (strict_fma:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3) => (VFMADDPD4Yrr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src1, VR256:{ *:[v4f64] }:$src2, VR256:{ *:[v4f64] }:$src3)
82315 /* 232434 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VFMADDPD4Yrr),
82316 /* 232439 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82317 /* 232443 */ GIR_RootConstrainSelectedInstOperands,
82318 /* 232444 */ // GIR_Coverage, 1451,
82319 /* 232444 */ GIR_Done,
82320 /* 232445 */ // Label 5383: @232445
82321 /* 232445 */ GIM_Try, /*On fail goto*//*Label 5384*/ GIMT_Encode4(232482), // Rule ID 8477 //
82322 /* 232450 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_HasVLX),
82323 /* 232453 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82324 /* 232457 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82325 /* 232461 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82326 /* 232465 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82327 /* 232469 */ // (strict_fma:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src3) => (VFMADD213PDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src1, VR256X:{ *:[v4f64] }:$src2, VR256X:{ *:[v4f64] }:$src3)
82328 /* 232469 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZ256r),
82329 /* 232472 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82330 /* 232474 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82331 /* 232476 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82332 /* 232478 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82333 /* 232480 */ GIR_RootConstrainSelectedInstOperands,
82334 /* 232481 */ // GIR_Coverage, 8477,
82335 /* 232481 */ GIR_EraseRootFromParent_Done,
82336 /* 232482 */ // Label 5384: @232482
82337 /* 232482 */ GIM_Reject,
82338 /* 232483 */ // Label 5372: @232483
82339 /* 232483 */ GIM_Reject,
82340 /* 232484 */ // Label 5280: @232484
82341 /* 232484 */ GIM_Try, /*On fail goto*//*Label 5385*/ GIMT_Encode4(232728),
82342 /* 232489 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
82343 /* 232492 */ GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_v8s64,
82344 /* 232495 */ GIM_RootCheckType, /*Op*/3, /*Type*/GILLT_v8s64,
82345 /* 232498 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82346 /* 232502 */ GIM_Try, /*On fail goto*//*Label 5386*/ GIMT_Encode4(232566), // Rule ID 9638 //
82347 /* 232507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82348 /* 232510 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82349 /* 232514 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82350 /* 232518 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82351 /* 232521 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82352 /* 232525 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82353 /* 232529 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82354 /* 232533 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82355 /* 232537 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82356 /* 232539 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82357 /* 232546 */ // (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)
82358 /* 232546 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD132PDZm),
82359 /* 232549 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82360 /* 232551 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82361 /* 232553 */ GIR_RootToRootCopy, /*OpIdx*/3, // src2
82362 /* 232555 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82363 /* 232559 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82364 /* 232564 */ GIR_RootConstrainSelectedInstOperands,
82365 /* 232565 */ // GIR_Coverage, 9638,
82366 /* 232565 */ GIR_EraseRootFromParent_Done,
82367 /* 232566 */ // Label 5386: @232566
82368 /* 232566 */ GIM_Try, /*On fail goto*//*Label 5387*/ GIMT_Encode4(232630), // Rule ID 9098 //
82369 /* 232571 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82370 /* 232574 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82371 /* 232578 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
82372 /* 232582 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82373 /* 232586 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82374 /* 232589 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82375 /* 232593 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82376 /* 232597 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82377 /* 232601 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82378 /* 232603 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82379 /* 232610 */ // (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)
82380 /* 232610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD231PDZm),
82381 /* 232613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82382 /* 232615 */ GIR_RootToRootCopy, /*OpIdx*/3, // src1
82383 /* 232617 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82384 /* 232619 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82385 /* 232623 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82386 /* 232628 */ GIR_RootConstrainSelectedInstOperands,
82387 /* 232629 */ // GIR_Coverage, 9098,
82388 /* 232629 */ GIR_EraseRootFromParent_Done,
82389 /* 232630 */ // Label 5387: @232630
82390 /* 232630 */ GIM_Try, /*On fail goto*//*Label 5388*/ GIMT_Encode4(232694), // Rule ID 8466 //
82391 /* 232635 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82392 /* 232638 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82393 /* 232642 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82394 /* 232646 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/3, // MIs[1]
82395 /* 232650 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82396 /* 232654 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82397 /* 232657 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82398 /* 232661 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82399 /* 232665 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82400 /* 232667 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82401 /* 232674 */ // (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)
82402 /* 232674 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZm),
82403 /* 232677 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82404 /* 232679 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82405 /* 232681 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82406 /* 232683 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src3
82407 /* 232687 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82408 /* 232692 */ GIR_RootConstrainSelectedInstOperands,
82409 /* 232693 */ // GIR_Coverage, 8466,
82410 /* 232693 */ GIR_EraseRootFromParent_Done,
82411 /* 232694 */ // Label 5388: @232694
82412 /* 232694 */ GIM_Try, /*On fail goto*//*Label 5389*/ GIMT_Encode4(232727), // Rule ID 8462 //
82413 /* 232699 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82414 /* 232702 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82415 /* 232706 */ GIM_RootCheckRegBankForClass, /*Op*/2, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82416 /* 232710 */ GIM_RootCheckRegBankForClass, /*Op*/3, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82417 /* 232714 */ // (strict_fma:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src3) => (VFMADD213PDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src1, VR512:{ *:[v8f64] }:$src2, VR512:{ *:[v8f64] }:$src3)
82418 /* 232714 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VFMADD213PDZr),
82419 /* 232717 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82420 /* 232719 */ GIR_RootToRootCopy, /*OpIdx*/2, // src1
82421 /* 232721 */ GIR_RootToRootCopy, /*OpIdx*/1, // src2
82422 /* 232723 */ GIR_RootToRootCopy, /*OpIdx*/3, // src3
82423 /* 232725 */ GIR_RootConstrainSelectedInstOperands,
82424 /* 232726 */ // GIR_Coverage, 8462,
82425 /* 232726 */ GIR_EraseRootFromParent_Done,
82426 /* 232727 */ // Label 5389: @232727
82427 /* 232727 */ GIM_Reject,
82428 /* 232728 */ // Label 5385: @232728
82429 /* 232728 */ GIM_Reject,
82430 /* 232729 */ // Label 5281: @232729
82431 /* 232729 */ GIM_Reject,
82432 /* 232730 */ // Label 74: @232730
82433 /* 232730 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(2), GIMT_Encode2(25), /*)*//*default:*//*Label 5403*/ GIMT_Encode4(234906),
82434 /* 232741 */ /*GILLT_s16*//*Label 5390*/ GIMT_Encode4(232833),
82435 /* 232745 */ /*GILLT_s32*//*Label 5391*/ GIMT_Encode4(232954),
82436 /* 232749 */ /*GILLT_s64*//*Label 5392*/ GIMT_Encode4(233310),
82437 /* 232753 */ /*GILLT_s80*//*Label 5393*/ GIMT_Encode4(233666), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
82438 /* 232797 */ /*GILLT_v8s16*//*Label 5394*/ GIMT_Encode4(233703),
82439 /* 232801 */ /*GILLT_v16s16*//*Label 5395*/ GIMT_Encode4(233792),
82440 /* 232805 */ /*GILLT_v32s16*//*Label 5396*/ GIMT_Encode4(233881),
82441 /* 232809 */ /*GILLT_v4s32*//*Label 5397*/ GIMT_Encode4(233970),
82442 /* 232813 */ /*GILLT_v8s32*//*Label 5398*/ GIMT_Encode4(234173),
82443 /* 232817 */ /*GILLT_v16s32*//*Label 5399*/ GIMT_Encode4(234349),
82444 /* 232821 */ /*GILLT_v2s64*//*Label 5400*/ GIMT_Encode4(234438),
82445 /* 232825 */ /*GILLT_v4s64*//*Label 5401*/ GIMT_Encode4(234641),
82446 /* 232829 */ /*GILLT_v8s64*//*Label 5402*/ GIMT_Encode4(234817),
82447 /* 232833 */ // Label 5390: @232833
82448 /* 232833 */ GIM_Try, /*On fail goto*//*Label 5404*/ GIMT_Encode4(232953),
82449 /* 232838 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s16,
82450 /* 232841 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
82451 /* 232845 */ GIM_Try, /*On fail goto*//*Label 5405*/ GIMT_Encode4(232914), // Rule ID 21407 //
82452 /* 232850 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_OptForSize),
82453 /* 232853 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82454 /* 232857 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82455 /* 232861 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82456 /* 232864 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82457 /* 232868 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82458 /* 232872 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82459 /* 232874 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82460 /* 232881 */ // (strict_fsqrt:{ *:[f16] } (ld:{ *:[f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSHZm:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), addr:{ *:[iPTR] }:$src)
82461 /* 232881 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
82462 /* 232884 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82463 /* 232888 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82464 /* 232893 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82465 /* 232895 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZm),
82466 /* 232898 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82467 /* 232900 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82468 /* 232903 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82469 /* 232907 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82470 /* 232912 */ GIR_RootConstrainSelectedInstOperands,
82471 /* 232913 */ // GIR_Coverage, 21407,
82472 /* 232913 */ GIR_EraseRootFromParent_Done,
82473 /* 232914 */ // Label 5405: @232914
82474 /* 232914 */ GIM_Try, /*On fail goto*//*Label 5406*/ GIMT_Encode4(232952), // Rule ID 21405 //
82475 /* 232919 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
82476 /* 232922 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR16XRegClassID),
82477 /* 232926 */ // (strict_fsqrt:{ *:[f16] } FR16X:{ *:[f16] }:$src) => (VSQRTSHZr:{ *:[f16] } (IMPLICIT_DEF:{ *:[f16] }), FR16X:{ *:[f16] }:$src)
82478 /* 232926 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s16,
82479 /* 232929 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82480 /* 232933 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82481 /* 232938 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82482 /* 232940 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSHZr),
82483 /* 232943 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82484 /* 232945 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82485 /* 232948 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
82486 /* 232950 */ GIR_RootConstrainSelectedInstOperands,
82487 /* 232951 */ // GIR_Coverage, 21405,
82488 /* 232951 */ GIR_EraseRootFromParent_Done,
82489 /* 232952 */ // Label 5406: @232952
82490 /* 232952 */ GIM_Reject,
82491 /* 232953 */ // Label 5404: @232953
82492 /* 232953 */ GIM_Reject,
82493 /* 232954 */ // Label 5391: @232954
82494 /* 232954 */ GIM_Try, /*On fail goto*//*Label 5407*/ GIMT_Encode4(233309),
82495 /* 232959 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s32,
82496 /* 232962 */ GIM_Try, /*On fail goto*//*Label 5408*/ GIMT_Encode4(233018), // Rule ID 2424 //
82497 /* 232967 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE1),
82498 /* 232970 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82499 /* 232974 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82500 /* 232978 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82501 /* 232982 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82502 /* 232985 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82503 /* 232989 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82504 /* 232993 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82505 /* 232995 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82506 /* 233002 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSSm:{ *:[f32] } addr:{ *:[iPTR] }:$src1)
82507 /* 233002 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSSm),
82508 /* 233005 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82509 /* 233007 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
82510 /* 233011 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82511 /* 233016 */ GIR_RootConstrainSelectedInstOperands,
82512 /* 233017 */ // GIR_Coverage, 2424,
82513 /* 233017 */ GIR_EraseRootFromParent_Done,
82514 /* 233018 */ // Label 5408: @233018
82515 /* 233018 */ GIM_Try, /*On fail goto*//*Label 5409*/ GIMT_Encode4(233091), // Rule ID 18242 //
82516 /* 233023 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
82517 /* 233026 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82518 /* 233030 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82519 /* 233034 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82520 /* 233038 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82521 /* 233041 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82522 /* 233045 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82523 /* 233049 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82524 /* 233051 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82525 /* 233058 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
82526 /* 233058 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
82527 /* 233061 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82528 /* 233065 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82529 /* 233070 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82530 /* 233072 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSm),
82531 /* 233075 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82532 /* 233077 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82533 /* 233080 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82534 /* 233084 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82535 /* 233089 */ GIR_RootConstrainSelectedInstOperands,
82536 /* 233090 */ // GIR_Coverage, 18242,
82537 /* 233090 */ GIR_EraseRootFromParent_Done,
82538 /* 233091 */ // Label 5409: @233091
82539 /* 233091 */ GIM_Try, /*On fail goto*//*Label 5410*/ GIMT_Encode4(233164), // Rule ID 21411 //
82540 /* 233096 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
82541 /* 233099 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
82542 /* 233103 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82543 /* 233107 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82544 /* 233111 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82545 /* 233114 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82546 /* 233118 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82547 /* 233122 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82548 /* 233124 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82549 /* 233131 */ // (strict_fsqrt:{ *:[f32] } (ld:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSSZm:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), addr:{ *:[iPTR] }:$src)
82550 /* 233131 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
82551 /* 233134 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82552 /* 233138 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82553 /* 233143 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82554 /* 233145 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZm),
82555 /* 233148 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82556 /* 233150 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82557 /* 233153 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82558 /* 233157 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82559 /* 233162 */ GIR_RootConstrainSelectedInstOperands,
82560 /* 233163 */ // GIR_Coverage, 21411,
82561 /* 233163 */ GIR_EraseRootFromParent_Done,
82562 /* 233164 */ // Label 5410: @233164
82563 /* 233164 */ GIM_Try, /*On fail goto*//*Label 5411*/ GIMT_Encode4(233197), // Rule ID 1024 //
82564 /* 233169 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
82565 /* 233172 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
82566 /* 233176 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
82567 /* 233180 */ // (strict_fsqrt:{ *:[f32] } RFP32:{ *:[f32] }:$src) => (SQRT_Fp32:{ *:[f32] }:{ *:[i16] } RFP32:{ *:[f32] }:$src)
82568 /* 233180 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp32),
82569 /* 233185 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
82570 /* 233191 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
82571 /* 233195 */ GIR_RootConstrainSelectedInstOperands,
82572 /* 233196 */ // GIR_Coverage, 1024,
82573 /* 233196 */ GIR_Done,
82574 /* 233197 */ // Label 5411: @233197
82575 /* 233197 */ GIM_Try, /*On fail goto*//*Label 5412*/ GIMT_Encode4(233224), // Rule ID 2422 //
82576 /* 233202 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
82577 /* 233205 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82578 /* 233209 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82579 /* 233213 */ // (strict_fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src1) => (SQRTSSr:{ *:[f32] } FR32:{ *:[f32] }:$src1)
82580 /* 233213 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSSr),
82581 /* 233218 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82582 /* 233222 */ GIR_RootConstrainSelectedInstOperands,
82583 /* 233223 */ // GIR_Coverage, 2422,
82584 /* 233223 */ GIR_Done,
82585 /* 233224 */ // Label 5412: @233224
82586 /* 233224 */ GIM_Try, /*On fail goto*//*Label 5413*/ GIMT_Encode4(233266), // Rule ID 18240 //
82587 /* 233229 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
82588 /* 233232 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82589 /* 233236 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32RegClassID),
82590 /* 233240 */ // (strict_fsqrt:{ *:[f32] } FR32:{ *:[f32] }:$src) => (VSQRTSSr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32:{ *:[f32] }:$src)
82591 /* 233240 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
82592 /* 233243 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82593 /* 233247 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82594 /* 233252 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82595 /* 233254 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSr),
82596 /* 233257 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82597 /* 233259 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82598 /* 233262 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
82599 /* 233264 */ GIR_RootConstrainSelectedInstOperands,
82600 /* 233265 */ // GIR_Coverage, 18240,
82601 /* 233265 */ GIR_EraseRootFromParent_Done,
82602 /* 233266 */ // Label 5413: @233266
82603 /* 233266 */ GIM_Try, /*On fail goto*//*Label 5414*/ GIMT_Encode4(233308), // Rule ID 21409 //
82604 /* 233271 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82605 /* 233274 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
82606 /* 233278 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR32XRegClassID),
82607 /* 233282 */ // (strict_fsqrt:{ *:[f32] } FR32X:{ *:[f32] }:$src) => (VSQRTSSZr:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), FR32X:{ *:[f32] }:$src)
82608 /* 233282 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s32,
82609 /* 233285 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82610 /* 233289 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82611 /* 233294 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82612 /* 233296 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSSZr),
82613 /* 233299 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82614 /* 233301 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82615 /* 233304 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
82616 /* 233306 */ GIR_RootConstrainSelectedInstOperands,
82617 /* 233307 */ // GIR_Coverage, 21409,
82618 /* 233307 */ GIR_EraseRootFromParent_Done,
82619 /* 233308 */ // Label 5414: @233308
82620 /* 233308 */ GIM_Reject,
82621 /* 233309 */ // Label 5407: @233309
82622 /* 233309 */ GIM_Reject,
82623 /* 233310 */ // Label 5392: @233310
82624 /* 233310 */ GIM_Try, /*On fail goto*//*Label 5415*/ GIMT_Encode4(233665),
82625 /* 233315 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s64,
82626 /* 233318 */ GIM_Try, /*On fail goto*//*Label 5416*/ GIMT_Encode4(233374), // Rule ID 2440 //
82627 /* 233323 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseSSE2),
82628 /* 233326 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82629 /* 233330 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82630 /* 233334 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82631 /* 233338 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82632 /* 233341 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82633 /* 233345 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82634 /* 233349 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82635 /* 233351 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82636 /* 233358 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (SQRTSDm:{ *:[f64] } addr:{ *:[iPTR] }:$src1)
82637 /* 233358 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::SQRTSDm),
82638 /* 233361 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82639 /* 233363 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src1
82640 /* 233367 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82641 /* 233372 */ GIR_RootConstrainSelectedInstOperands,
82642 /* 233373 */ // GIR_Coverage, 2440,
82643 /* 233373 */ GIR_EraseRootFromParent_Done,
82644 /* 233374 */ // Label 5416: @233374
82645 /* 233374 */ GIM_Try, /*On fail goto*//*Label 5417*/ GIMT_Encode4(233447), // Rule ID 18246 //
82646 /* 233379 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_OptForSize_UseAVX),
82647 /* 233382 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82648 /* 233386 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82649 /* 233390 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82650 /* 233394 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82651 /* 233397 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82652 /* 233401 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82653 /* 233405 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82654 /* 233407 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82655 /* 233414 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
82656 /* 233414 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
82657 /* 233417 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82658 /* 233421 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82659 /* 233426 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82660 /* 233428 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDm),
82661 /* 233431 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82662 /* 233433 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82663 /* 233436 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82664 /* 233440 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82665 /* 233445 */ GIR_RootConstrainSelectedInstOperands,
82666 /* 233446 */ // GIR_Coverage, 18246,
82667 /* 233446 */ GIR_EraseRootFromParent_Done,
82668 /* 233447 */ // Label 5417: @233447
82669 /* 233447 */ GIM_Try, /*On fail goto*//*Label 5418*/ GIMT_Encode4(233520), // Rule ID 21415 //
82670 /* 233452 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512_OptForSize),
82671 /* 233455 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
82672 /* 233459 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82673 /* 233463 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82674 /* 233467 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82675 /* 233470 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82676 /* 233474 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82677 /* 233478 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82678 /* 233480 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82679 /* 233487 */ // (strict_fsqrt:{ *:[f64] } (ld:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTSDZm:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), addr:{ *:[iPTR] }:$src)
82680 /* 233487 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
82681 /* 233490 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82682 /* 233494 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82683 /* 233499 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82684 /* 233501 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZm),
82685 /* 233504 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82686 /* 233506 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82687 /* 233509 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82688 /* 233513 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82689 /* 233518 */ GIR_RootConstrainSelectedInstOperands,
82690 /* 233519 */ // GIR_Coverage, 21415,
82691 /* 233519 */ GIR_EraseRootFromParent_Done,
82692 /* 233520 */ // Label 5418: @233520
82693 /* 233520 */ GIM_Try, /*On fail goto*//*Label 5419*/ GIMT_Encode4(233553), // Rule ID 1026 //
82694 /* 233525 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
82695 /* 233528 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
82696 /* 233532 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
82697 /* 233536 */ // (strict_fsqrt:{ *:[f64] } RFP64:{ *:[f64] }:$src) => (SQRT_Fp64:{ *:[f64] }:{ *:[i16] } RFP64:{ *:[f64] }:$src)
82698 /* 233536 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp64),
82699 /* 233541 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
82700 /* 233547 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
82701 /* 233551 */ GIR_RootConstrainSelectedInstOperands,
82702 /* 233552 */ // GIR_Coverage, 1026,
82703 /* 233552 */ GIR_Done,
82704 /* 233553 */ // Label 5419: @233553
82705 /* 233553 */ GIM_Try, /*On fail goto*//*Label 5420*/ GIMT_Encode4(233580), // Rule ID 2438 //
82706 /* 233558 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
82707 /* 233561 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82708 /* 233565 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82709 /* 233569 */ // (strict_fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src1) => (SQRTSDr:{ *:[f64] } FR64:{ *:[f64] }:$src1)
82710 /* 233569 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTSDr),
82711 /* 233574 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82712 /* 233578 */ GIR_RootConstrainSelectedInstOperands,
82713 /* 233579 */ // GIR_Coverage, 2438,
82714 /* 233579 */ GIR_Done,
82715 /* 233580 */ // Label 5420: @233580
82716 /* 233580 */ GIM_Try, /*On fail goto*//*Label 5421*/ GIMT_Encode4(233622), // Rule ID 18244 //
82717 /* 233585 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseAVX),
82718 /* 233588 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82719 /* 233592 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64RegClassID),
82720 /* 233596 */ // (strict_fsqrt:{ *:[f64] } FR64:{ *:[f64] }:$src) => (VSQRTSDr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64:{ *:[f64] }:$src)
82721 /* 233596 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
82722 /* 233599 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82723 /* 233603 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82724 /* 233608 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82725 /* 233610 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDr),
82726 /* 233613 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82727 /* 233615 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82728 /* 233618 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
82729 /* 233620 */ GIR_RootConstrainSelectedInstOperands,
82730 /* 233621 */ // GIR_Coverage, 18244,
82731 /* 233621 */ GIR_EraseRootFromParent_Done,
82732 /* 233622 */ // Label 5421: @233622
82733 /* 233622 */ GIM_Try, /*On fail goto*//*Label 5422*/ GIMT_Encode4(233664), // Rule ID 21413 //
82734 /* 233627 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
82735 /* 233630 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
82736 /* 233634 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::FR64XRegClassID),
82737 /* 233638 */ // (strict_fsqrt:{ *:[f64] } FR64X:{ *:[f64] }:$src) => (VSQRTSDZr:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), FR64X:{ *:[f64] }:$src)
82738 /* 233638 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/GILLT_s64,
82739 /* 233641 */ GIR_BuildMI, /*InsnID*/1, /*Opcode*/GIMT_Encode2(TargetOpcode::IMPLICIT_DEF),
82740 /* 233645 */ GIR_AddTempRegister, /*InsnID*/1, /*TempRegID*/0, /*TempRegFlags*/GIMT_Encode2(static_cast<uint16_t>(RegState::Define)),
82741 /* 233650 */ GIR_ConstrainSelectedInstOperands, /*InsnID*/1,
82742 /* 233652 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTSDZr),
82743 /* 233655 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82744 /* 233657 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
82745 /* 233660 */ GIR_RootToRootCopy, /*OpIdx*/1, // src
82746 /* 233662 */ GIR_RootConstrainSelectedInstOperands,
82747 /* 233663 */ // GIR_Coverage, 21413,
82748 /* 233663 */ GIR_EraseRootFromParent_Done,
82749 /* 233664 */ // Label 5422: @233664
82750 /* 233664 */ GIM_Reject,
82751 /* 233665 */ // Label 5415: @233665
82752 /* 233665 */ GIM_Reject,
82753 /* 233666 */ // Label 5393: @233666
82754 /* 233666 */ GIM_Try, /*On fail goto*//*Label 5423*/ GIMT_Encode4(233702), // Rule ID 1028 //
82755 /* 233671 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
82756 /* 233674 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_s80,
82757 /* 233677 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
82758 /* 233681 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
82759 /* 233685 */ // (strict_fsqrt:{ *:[f80] } RFP80:{ *:[f80] }:$src) => (SQRT_Fp80:{ *:[f80] }:{ *:[i16] } RFP80:{ *:[f80] }:$src)
82760 /* 233685 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRT_Fp80),
82761 /* 233690 */ GIR_AddImplicitDef, /*InsnID*/0, GIMT_Encode2(X86::FPSW), GIMT_Encode2(static_cast<unsigned>(RegState::Dead)),
82762 /* 233696 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::FPCW),
82763 /* 233700 */ GIR_RootConstrainSelectedInstOperands,
82764 /* 233701 */ // GIR_Coverage, 1028,
82765 /* 233701 */ GIR_Done,
82766 /* 233702 */ // Label 5423: @233702
82767 /* 233702 */ GIM_Reject,
82768 /* 233703 */ // Label 5394: @233703
82769 /* 233703 */ GIM_Try, /*On fail goto*//*Label 5424*/ GIMT_Encode4(233791),
82770 /* 233708 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s16,
82771 /* 233711 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82772 /* 233715 */ GIM_Try, /*On fail goto*//*Label 5425*/ GIMT_Encode4(233767), // Rule ID 11994 //
82773 /* 233720 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
82774 /* 233723 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82775 /* 233727 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82776 /* 233731 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82777 /* 233734 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82778 /* 233738 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82779 /* 233742 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82780 /* 233744 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82781 /* 233751 */ // (strict_fsqrt:{ *:[v8f16] } (ld:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ128m:{ *:[v8f16] } addr:{ *:[iPTR] }:$src)
82782 /* 233751 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128m),
82783 /* 233754 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82784 /* 233756 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82785 /* 233760 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82786 /* 233765 */ GIR_RootConstrainSelectedInstOperands,
82787 /* 233766 */ // GIR_Coverage, 11994,
82788 /* 233766 */ GIR_EraseRootFromParent_Done,
82789 /* 233767 */ // Label 5425: @233767
82790 /* 233767 */ GIM_Try, /*On fail goto*//*Label 5426*/ GIMT_Encode4(233790), // Rule ID 11990 //
82791 /* 233772 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
82792 /* 233775 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82793 /* 233779 */ // (strict_fsqrt:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src) => (VSQRTPHZ128r:{ *:[v8f16] } VR128X:{ *:[v8f16] }:$src)
82794 /* 233779 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ128r),
82795 /* 233784 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82796 /* 233788 */ GIR_RootConstrainSelectedInstOperands,
82797 /* 233789 */ // GIR_Coverage, 11990,
82798 /* 233789 */ GIR_Done,
82799 /* 233790 */ // Label 5426: @233790
82800 /* 233790 */ GIM_Reject,
82801 /* 233791 */ // Label 5424: @233791
82802 /* 233791 */ GIM_Reject,
82803 /* 233792 */ // Label 5395: @233792
82804 /* 233792 */ GIM_Try, /*On fail goto*//*Label 5427*/ GIMT_Encode4(233880),
82805 /* 233797 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s16,
82806 /* 233800 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82807 /* 233804 */ GIM_Try, /*On fail goto*//*Label 5428*/ GIMT_Encode4(233856), // Rule ID 12006 //
82808 /* 233809 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
82809 /* 233812 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82810 /* 233816 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82811 /* 233820 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82812 /* 233823 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82813 /* 233827 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82814 /* 233831 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82815 /* 233833 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82816 /* 233840 */ // (strict_fsqrt:{ *:[v16f16] } (ld:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZ256m:{ *:[v16f16] } addr:{ *:[iPTR] }:$src)
82817 /* 233840 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256m),
82818 /* 233843 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82819 /* 233845 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82820 /* 233849 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82821 /* 233854 */ GIR_RootConstrainSelectedInstOperands,
82822 /* 233855 */ // GIR_Coverage, 12006,
82823 /* 233855 */ GIR_EraseRootFromParent_Done,
82824 /* 233856 */ // Label 5428: @233856
82825 /* 233856 */ GIM_Try, /*On fail goto*//*Label 5429*/ GIMT_Encode4(233879), // Rule ID 12002 //
82826 /* 233861 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16_HasVLX),
82827 /* 233864 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82828 /* 233868 */ // (strict_fsqrt:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src) => (VSQRTPHZ256r:{ *:[v16f16] } VR256X:{ *:[v16f16] }:$src)
82829 /* 233868 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZ256r),
82830 /* 233873 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82831 /* 233877 */ GIR_RootConstrainSelectedInstOperands,
82832 /* 233878 */ // GIR_Coverage, 12002,
82833 /* 233878 */ GIR_Done,
82834 /* 233879 */ // Label 5429: @233879
82835 /* 233879 */ GIM_Reject,
82836 /* 233880 */ // Label 5427: @233880
82837 /* 233880 */ GIM_Reject,
82838 /* 233881 */ // Label 5396: @233881
82839 /* 233881 */ GIM_Try, /*On fail goto*//*Label 5430*/ GIMT_Encode4(233969),
82840 /* 233886 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v32s16,
82841 /* 233889 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82842 /* 233893 */ GIM_Try, /*On fail goto*//*Label 5431*/ GIMT_Encode4(233945), // Rule ID 11982 //
82843 /* 233898 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
82844 /* 233901 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82845 /* 233905 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82846 /* 233909 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82847 /* 233912 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82848 /* 233916 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82849 /* 233920 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82850 /* 233922 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82851 /* 233929 */ // (strict_fsqrt:{ *:[v32f16] } (ld:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPHZm:{ *:[v32f16] } addr:{ *:[iPTR] }:$src)
82852 /* 233929 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZm),
82853 /* 233932 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82854 /* 233934 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82855 /* 233938 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82856 /* 233943 */ GIR_RootConstrainSelectedInstOperands,
82857 /* 233944 */ // GIR_Coverage, 11982,
82858 /* 233944 */ GIR_EraseRootFromParent_Done,
82859 /* 233945 */ // Label 5431: @233945
82860 /* 233945 */ GIM_Try, /*On fail goto*//*Label 5432*/ GIMT_Encode4(233968), // Rule ID 11978 //
82861 /* 233950 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasFP16),
82862 /* 233953 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
82863 /* 233957 */ // (strict_fsqrt:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src) => (VSQRTPHZr:{ *:[v32f16] } VR512:{ *:[v32f16] }:$src)
82864 /* 233957 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPHZr),
82865 /* 233962 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82866 /* 233966 */ GIR_RootConstrainSelectedInstOperands,
82867 /* 233967 */ // GIR_Coverage, 11978,
82868 /* 233967 */ GIR_Done,
82869 /* 233968 */ // Label 5432: @233968
82870 /* 233968 */ GIM_Reject,
82871 /* 233969 */ // Label 5430: @233969
82872 /* 233969 */ GIM_Reject,
82873 /* 233970 */ // Label 5397: @233970
82874 /* 233970 */ GIM_Try, /*On fail goto*//*Label 5433*/ GIMT_Encode4(234172),
82875 /* 233975 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s32,
82876 /* 233978 */ GIM_Try, /*On fail goto*//*Label 5434*/ GIMT_Encode4(234034), // Rule ID 2428 //
82877 /* 233983 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
82878 /* 233986 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82879 /* 233990 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82880 /* 233994 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82881 /* 233998 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82882 /* 234001 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82883 /* 234005 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82884 /* 234009 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82885 /* 234011 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82886 /* 234018 */ // (strict_fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSm:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
82887 /* 234018 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSm),
82888 /* 234021 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82889 /* 234023 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82890 /* 234027 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82891 /* 234032 */ GIR_RootConstrainSelectedInstOperands,
82892 /* 234033 */ // GIR_Coverage, 2428,
82893 /* 234033 */ GIR_EraseRootFromParent_Done,
82894 /* 234034 */ // Label 5434: @234034
82895 /* 234034 */ GIM_Try, /*On fail goto*//*Label 5435*/ GIMT_Encode4(234090), // Rule ID 12042 //
82896 /* 234039 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
82897 /* 234042 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82898 /* 234046 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82899 /* 234050 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82900 /* 234054 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82901 /* 234057 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82902 /* 234061 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82903 /* 234065 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82904 /* 234067 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82905 /* 234074 */ // (strict_fsqrt:{ *:[v4f32] } (ld:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ128m:{ *:[v4f32] } addr:{ *:[iPTR] }:$src)
82906 /* 234074 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128m),
82907 /* 234077 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82908 /* 234079 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82909 /* 234083 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82910 /* 234088 */ GIR_RootConstrainSelectedInstOperands,
82911 /* 234089 */ // GIR_Coverage, 12042,
82912 /* 234089 */ GIR_EraseRootFromParent_Done,
82913 /* 234090 */ // Label 5435: @234090
82914 /* 234090 */ GIM_Try, /*On fail goto*//*Label 5436*/ GIMT_Encode4(234117), // Rule ID 2426 //
82915 /* 234095 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
82916 /* 234098 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82917 /* 234102 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82918 /* 234106 */ // (strict_fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (VSQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
82919 /* 234106 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSr),
82920 /* 234111 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82921 /* 234115 */ GIR_RootConstrainSelectedInstOperands,
82922 /* 234116 */ // GIR_Coverage, 2426,
82923 /* 234116 */ GIR_Done,
82924 /* 234117 */ // Label 5436: @234117
82925 /* 234117 */ GIM_Try, /*On fail goto*//*Label 5437*/ GIMT_Encode4(234144), // Rule ID 2434 //
82926 /* 234122 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE1),
82927 /* 234125 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82928 /* 234129 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
82929 /* 234133 */ // (strict_fsqrt:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src) => (SQRTPSr:{ *:[v4f32] } VR128:{ *:[v4f32] }:$src)
82930 /* 234133 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPSr),
82931 /* 234138 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82932 /* 234142 */ GIR_RootConstrainSelectedInstOperands,
82933 /* 234143 */ // GIR_Coverage, 2434,
82934 /* 234143 */ GIR_Done,
82935 /* 234144 */ // Label 5437: @234144
82936 /* 234144 */ GIM_Try, /*On fail goto*//*Label 5438*/ GIMT_Encode4(234171), // Rule ID 12038 //
82937 /* 234149 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
82938 /* 234152 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82939 /* 234156 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
82940 /* 234160 */ // (strict_fsqrt:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src) => (VSQRTPSZ128r:{ *:[v4f32] } VR128X:{ *:[v4f32] }:$src)
82941 /* 234160 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ128r),
82942 /* 234165 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82943 /* 234169 */ GIR_RootConstrainSelectedInstOperands,
82944 /* 234170 */ // GIR_Coverage, 12038,
82945 /* 234170 */ GIR_Done,
82946 /* 234171 */ // Label 5438: @234171
82947 /* 234171 */ GIM_Reject,
82948 /* 234172 */ // Label 5433: @234172
82949 /* 234172 */ GIM_Reject,
82950 /* 234173 */ // Label 5398: @234173
82951 /* 234173 */ GIM_Try, /*On fail goto*//*Label 5439*/ GIMT_Encode4(234348),
82952 /* 234178 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s32,
82953 /* 234181 */ GIM_Try, /*On fail goto*//*Label 5440*/ GIMT_Encode4(234237), // Rule ID 2432 //
82954 /* 234186 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
82955 /* 234189 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82956 /* 234193 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82957 /* 234197 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82958 /* 234201 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82959 /* 234204 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82960 /* 234208 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82961 /* 234212 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82962 /* 234214 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82963 /* 234221 */ // (strict_fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSYm:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
82964 /* 234221 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYm),
82965 /* 234224 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82966 /* 234226 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82967 /* 234230 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82968 /* 234235 */ GIR_RootConstrainSelectedInstOperands,
82969 /* 234236 */ // GIR_Coverage, 2432,
82970 /* 234236 */ GIR_EraseRootFromParent_Done,
82971 /* 234237 */ // Label 5440: @234237
82972 /* 234237 */ GIM_Try, /*On fail goto*//*Label 5441*/ GIMT_Encode4(234293), // Rule ID 12054 //
82973 /* 234242 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
82974 /* 234245 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
82975 /* 234249 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
82976 /* 234253 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
82977 /* 234257 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
82978 /* 234260 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
82979 /* 234264 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
82980 /* 234268 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
82981 /* 234270 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
82982 /* 234277 */ // (strict_fsqrt:{ *:[v8f32] } (ld:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZ256m:{ *:[v8f32] } addr:{ *:[iPTR] }:$src)
82983 /* 234277 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256m),
82984 /* 234280 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
82985 /* 234282 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
82986 /* 234286 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
82987 /* 234291 */ GIR_RootConstrainSelectedInstOperands,
82988 /* 234292 */ // GIR_Coverage, 12054,
82989 /* 234292 */ GIR_EraseRootFromParent_Done,
82990 /* 234293 */ // Label 5441: @234293
82991 /* 234293 */ GIM_Try, /*On fail goto*//*Label 5442*/ GIMT_Encode4(234320), // Rule ID 2430 //
82992 /* 234298 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
82993 /* 234301 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82994 /* 234305 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
82995 /* 234309 */ // (strict_fsqrt:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src) => (VSQRTPSYr:{ *:[v8f32] } VR256:{ *:[v8f32] }:$src)
82996 /* 234309 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSYr),
82997 /* 234314 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
82998 /* 234318 */ GIR_RootConstrainSelectedInstOperands,
82999 /* 234319 */ // GIR_Coverage, 2430,
83000 /* 234319 */ GIR_Done,
83001 /* 234320 */ // Label 5442: @234320
83002 /* 234320 */ GIM_Try, /*On fail goto*//*Label 5443*/ GIMT_Encode4(234347), // Rule ID 12050 //
83003 /* 234325 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
83004 /* 234328 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83005 /* 234332 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83006 /* 234336 */ // (strict_fsqrt:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src) => (VSQRTPSZ256r:{ *:[v8f32] } VR256X:{ *:[v8f32] }:$src)
83007 /* 234336 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZ256r),
83008 /* 234341 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83009 /* 234345 */ GIR_RootConstrainSelectedInstOperands,
83010 /* 234346 */ // GIR_Coverage, 12050,
83011 /* 234346 */ GIR_Done,
83012 /* 234347 */ // Label 5443: @234347
83013 /* 234347 */ GIM_Reject,
83014 /* 234348 */ // Label 5439: @234348
83015 /* 234348 */ GIM_Reject,
83016 /* 234349 */ // Label 5399: @234349
83017 /* 234349 */ GIM_Try, /*On fail goto*//*Label 5444*/ GIMT_Encode4(234437),
83018 /* 234354 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v16s32,
83019 /* 234357 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83020 /* 234361 */ GIM_Try, /*On fail goto*//*Label 5445*/ GIMT_Encode4(234413), // Rule ID 12018 //
83021 /* 234366 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83022 /* 234369 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83023 /* 234373 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83024 /* 234377 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83025 /* 234380 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83026 /* 234384 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83027 /* 234388 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83028 /* 234390 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83029 /* 234397 */ // (strict_fsqrt:{ *:[v16f32] } (ld:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPSZm:{ *:[v16f32] } addr:{ *:[iPTR] }:$src)
83030 /* 234397 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZm),
83031 /* 234400 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83032 /* 234402 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83033 /* 234406 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83034 /* 234411 */ GIR_RootConstrainSelectedInstOperands,
83035 /* 234412 */ // GIR_Coverage, 12018,
83036 /* 234412 */ GIR_EraseRootFromParent_Done,
83037 /* 234413 */ // Label 5445: @234413
83038 /* 234413 */ GIM_Try, /*On fail goto*//*Label 5446*/ GIMT_Encode4(234436), // Rule ID 12014 //
83039 /* 234418 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83040 /* 234421 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83041 /* 234425 */ // (strict_fsqrt:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src) => (VSQRTPSZr:{ *:[v16f32] } VR512:{ *:[v16f32] }:$src)
83042 /* 234425 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPSZr),
83043 /* 234430 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83044 /* 234434 */ GIR_RootConstrainSelectedInstOperands,
83045 /* 234435 */ // GIR_Coverage, 12014,
83046 /* 234435 */ GIR_Done,
83047 /* 234436 */ // Label 5446: @234436
83048 /* 234436 */ GIM_Reject,
83049 /* 234437 */ // Label 5444: @234437
83050 /* 234437 */ GIM_Reject,
83051 /* 234438 */ // Label 5400: @234438
83052 /* 234438 */ GIM_Try, /*On fail goto*//*Label 5447*/ GIMT_Encode4(234640),
83053 /* 234443 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v2s64,
83054 /* 234446 */ GIM_Try, /*On fail goto*//*Label 5448*/ GIMT_Encode4(234502), // Rule ID 2444 //
83055 /* 234451 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
83056 /* 234454 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83057 /* 234458 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83058 /* 234462 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83059 /* 234466 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83060 /* 234469 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83061 /* 234473 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83062 /* 234477 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83063 /* 234479 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83064 /* 234486 */ // (strict_fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDm:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
83065 /* 234486 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDm),
83066 /* 234489 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83067 /* 234491 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83068 /* 234495 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83069 /* 234500 */ GIR_RootConstrainSelectedInstOperands,
83070 /* 234501 */ // GIR_Coverage, 2444,
83071 /* 234501 */ GIR_EraseRootFromParent_Done,
83072 /* 234502 */ // Label 5448: @234502
83073 /* 234502 */ GIM_Try, /*On fail goto*//*Label 5449*/ GIMT_Encode4(234558), // Rule ID 12066 //
83074 /* 234507 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
83075 /* 234510 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
83076 /* 234514 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83077 /* 234518 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83078 /* 234522 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83079 /* 234525 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83080 /* 234529 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83081 /* 234533 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83082 /* 234535 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83083 /* 234542 */ // (strict_fsqrt:{ *:[v2f64] } (ld:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ128m:{ *:[v2f64] } addr:{ *:[iPTR] }:$src)
83084 /* 234542 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128m),
83085 /* 234545 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83086 /* 234547 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83087 /* 234551 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83088 /* 234556 */ GIR_RootConstrainSelectedInstOperands,
83089 /* 234557 */ // GIR_Coverage, 12066,
83090 /* 234557 */ GIR_EraseRootFromParent_Done,
83091 /* 234558 */ // Label 5449: @234558
83092 /* 234558 */ GIM_Try, /*On fail goto*//*Label 5450*/ GIMT_Encode4(234585), // Rule ID 2442 //
83093 /* 234563 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
83094 /* 234566 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83095 /* 234570 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83096 /* 234574 */ // (strict_fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (VSQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
83097 /* 234574 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDr),
83098 /* 234579 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83099 /* 234583 */ GIR_RootConstrainSelectedInstOperands,
83100 /* 234584 */ // GIR_Coverage, 2442,
83101 /* 234584 */ GIR_Done,
83102 /* 234585 */ // Label 5450: @234585
83103 /* 234585 */ GIM_Try, /*On fail goto*//*Label 5451*/ GIMT_Encode4(234612), // Rule ID 2450 //
83104 /* 234590 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_UseSSE2),
83105 /* 234593 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83106 /* 234597 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128RegClassID),
83107 /* 234601 */ // (strict_fsqrt:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src) => (SQRTPDr:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src)
83108 /* 234601 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::SQRTPDr),
83109 /* 234606 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83110 /* 234610 */ GIR_RootConstrainSelectedInstOperands,
83111 /* 234611 */ // GIR_Coverage, 2450,
83112 /* 234611 */ GIR_Done,
83113 /* 234612 */ // Label 5451: @234612
83114 /* 234612 */ GIM_Try, /*On fail goto*//*Label 5452*/ GIMT_Encode4(234639), // Rule ID 12062 //
83115 /* 234617 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
83116 /* 234620 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
83117 /* 234624 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR128XRegClassID),
83118 /* 234628 */ // (strict_fsqrt:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src) => (VSQRTPDZ128r:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src)
83119 /* 234628 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ128r),
83120 /* 234633 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83121 /* 234637 */ GIR_RootConstrainSelectedInstOperands,
83122 /* 234638 */ // GIR_Coverage, 12062,
83123 /* 234638 */ GIR_Done,
83124 /* 234639 */ // Label 5452: @234639
83125 /* 234639 */ GIM_Reject,
83126 /* 234640 */ // Label 5447: @234640
83127 /* 234640 */ GIM_Reject,
83128 /* 234641 */ // Label 5401: @234641
83129 /* 234641 */ GIM_Try, /*On fail goto*//*Label 5453*/ GIMT_Encode4(234816),
83130 /* 234646 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v4s64,
83131 /* 234649 */ GIM_Try, /*On fail goto*//*Label 5454*/ GIMT_Encode4(234705), // Rule ID 2448 //
83132 /* 234654 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
83133 /* 234657 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83134 /* 234661 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83135 /* 234665 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83136 /* 234669 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83137 /* 234672 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83138 /* 234676 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83139 /* 234680 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83140 /* 234682 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83141 /* 234689 */ // (strict_fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDYm:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
83142 /* 234689 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYm),
83143 /* 234692 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83144 /* 234694 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83145 /* 234698 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83146 /* 234703 */ GIR_RootConstrainSelectedInstOperands,
83147 /* 234704 */ // GIR_Coverage, 2448,
83148 /* 234704 */ GIR_EraseRootFromParent_Done,
83149 /* 234705 */ // Label 5454: @234705
83150 /* 234705 */ GIM_Try, /*On fail goto*//*Label 5455*/ GIMT_Encode4(234761), // Rule ID 12078 //
83151 /* 234710 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
83152 /* 234713 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83153 /* 234717 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83154 /* 234721 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83155 /* 234725 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83156 /* 234728 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83157 /* 234732 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83158 /* 234736 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83159 /* 234738 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83160 /* 234745 */ // (strict_fsqrt:{ *:[v4f64] } (ld:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZ256m:{ *:[v4f64] } addr:{ *:[iPTR] }:$src)
83161 /* 234745 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256m),
83162 /* 234748 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83163 /* 234750 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83164 /* 234754 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83165 /* 234759 */ GIR_RootConstrainSelectedInstOperands,
83166 /* 234760 */ // GIR_Coverage, 12078,
83167 /* 234760 */ GIR_EraseRootFromParent_Done,
83168 /* 234761 */ // Label 5455: @234761
83169 /* 234761 */ GIM_Try, /*On fail goto*//*Label 5456*/ GIMT_Encode4(234788), // Rule ID 2446 //
83170 /* 234766 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX_NoVLX),
83171 /* 234769 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83172 /* 234773 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256RegClassID),
83173 /* 234777 */ // (strict_fsqrt:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src) => (VSQRTPDYr:{ *:[v4f64] } VR256:{ *:[v4f64] }:$src)
83174 /* 234777 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDYr),
83175 /* 234782 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83176 /* 234786 */ GIR_RootConstrainSelectedInstOperands,
83177 /* 234787 */ // GIR_Coverage, 2446,
83178 /* 234787 */ GIR_Done,
83179 /* 234788 */ // Label 5456: @234788
83180 /* 234788 */ GIM_Try, /*On fail goto*//*Label 5457*/ GIMT_Encode4(234815), // Rule ID 12074 //
83181 /* 234793 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasVLX),
83182 /* 234796 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83183 /* 234800 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR256XRegClassID),
83184 /* 234804 */ // (strict_fsqrt:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src) => (VSQRTPDZ256r:{ *:[v4f64] } VR256X:{ *:[v4f64] }:$src)
83185 /* 234804 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZ256r),
83186 /* 234809 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83187 /* 234813 */ GIR_RootConstrainSelectedInstOperands,
83188 /* 234814 */ // GIR_Coverage, 12074,
83189 /* 234814 */ GIR_Done,
83190 /* 234815 */ // Label 5457: @234815
83191 /* 234815 */ GIM_Reject,
83192 /* 234816 */ // Label 5453: @234816
83193 /* 234816 */ GIM_Reject,
83194 /* 234817 */ // Label 5402: @234817
83195 /* 234817 */ GIM_Try, /*On fail goto*//*Label 5458*/ GIMT_Encode4(234905),
83196 /* 234822 */ GIM_RootCheckType, /*Op*/1, /*Type*/GILLT_v8s64,
83197 /* 234825 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83198 /* 234829 */ GIM_Try, /*On fail goto*//*Label 5459*/ GIMT_Encode4(234881), // Rule ID 12030 //
83199 /* 234834 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83200 /* 234837 */ GIM_RecordInsn, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
83201 /* 234841 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_LOAD),
83202 /* 234845 */ GIM_CheckAtomicOrdering, /*MI*/1, /*Order*/(uint8_t)AtomicOrdering::NotAtomic,
83203 /* 234848 */ GIM_CheckMemorySizeEqualToLLT, /*MI*/1, /*MMO*/0, /*OpIdx*/0,
83204 /* 234852 */ GIM_CheckPointerToAny, /*MI*/1, /*Op*/1, /*SizeInBits*/0,
83205 /* 234856 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
83206 /* 234858 */ GIM_CheckComplexPattern, /*MI*/1, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83207 /* 234865 */ // (strict_fsqrt:{ *:[v8f64] } (ld:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>>) => (VSQRTPDZm:{ *:[v8f64] } addr:{ *:[iPTR] }:$src)
83208 /* 234865 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZm),
83209 /* 234868 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83210 /* 234870 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83211 /* 234874 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
83212 /* 234879 */ GIR_RootConstrainSelectedInstOperands,
83213 /* 234880 */ // GIR_Coverage, 12030,
83214 /* 234880 */ GIR_EraseRootFromParent_Done,
83215 /* 234881 */ // Label 5459: @234881
83216 /* 234881 */ GIM_Try, /*On fail goto*//*Label 5460*/ GIMT_Encode4(234904), // Rule ID 12026 //
83217 /* 234886 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAVX512),
83218 /* 234889 */ GIM_RootCheckRegBankForClass, /*Op*/1, /*RC*/GIMT_Encode2(X86::VR512RegClassID),
83219 /* 234893 */ // (strict_fsqrt:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src) => (VSQRTPDZr:{ *:[v8f64] } VR512:{ *:[v8f64] }:$src)
83220 /* 234893 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::VSQRTPDZr),
83221 /* 234898 */ GIR_AddImplicitUse, /*InsnID*/0, GIMT_Encode2(X86::MXCSR),
83222 /* 234902 */ GIR_RootConstrainSelectedInstOperands,
83223 /* 234903 */ // GIR_Coverage, 12026,
83224 /* 234903 */ GIR_Done,
83225 /* 234904 */ // Label 5460: @234904
83226 /* 234904 */ GIM_Reject,
83227 /* 234905 */ // Label 5458: @234905
83228 /* 234905 */ GIM_Reject,
83229 /* 234906 */ // Label 5403: @234906
83230 /* 234906 */ GIM_Reject,
83231 /* 234907 */ // Label 75: @234907
83232 /* 234907 */ GIM_Try, /*On fail goto*//*Label 5461*/ GIMT_Encode4(234919), // Rule ID 17038 //
83233 /* 234912 */ // (trap) => (TRAP)
83234 /* 234912 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::TRAP),
83235 /* 234917 */ GIR_RootConstrainSelectedInstOperands,
83236 /* 234918 */ // GIR_Coverage, 17038,
83237 /* 234918 */ GIR_Done,
83238 /* 234919 */ // Label 5461: @234919
83239 /* 234919 */ GIM_Reject,
83240 /* 234920 */ // Label 76: @234920
83241 /* 234920 */ GIM_Try, /*On fail goto*//*Label 5462*/ GIMT_Encode4(234935), // Rule ID 22414 //
83242 /* 234925 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_NotPS),
83243 /* 234928 */ // (debugtrap) => (INT3)
83244 /* 234928 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::INT3),
83245 /* 234933 */ GIR_RootConstrainSelectedInstOperands,
83246 /* 234934 */ // GIR_Coverage, 22414,
83247 /* 234934 */ GIR_Done,
83248 /* 234935 */ // Label 5462: @234935
83249 /* 234935 */ GIM_Try, /*On fail goto*//*Label 5463*/ GIMT_Encode4(234955), // Rule ID 22415 //
83250 /* 234940 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_IsPS),
83251 /* 234943 */ // (debugtrap) => (INT 65:{ *:[i8] })
83252 /* 234943 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::INT),
83253 /* 234946 */ GIR_AddImm8, /*InsnID*/0, /*Imm*/65,
83254 /* 234949 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83255 /* 234953 */ GIR_RootConstrainSelectedInstOperands,
83256 /* 234954 */ // GIR_Coverage, 22415,
83257 /* 234954 */ GIR_EraseRootFromParent_Done,
83258 /* 234955 */ // Label 5463: @234955
83259 /* 234955 */ GIM_Reject,
83260 /* 234956 */ // Label 77: @234956
83261 /* 234956 */ GIM_Try, /*On fail goto*//*Label 5464*/ GIMT_Encode4(234971), // Rule ID 17040 //
83262 /* 234961 */ // MIs[0] kind
83263 /* 234961 */ GIM_CheckIsImm, /*MI*/0, /*Op*/0,
83264 /* 234964 */ // (ubsantrap (timm:{ *:[i32] }):$kind) => (UBSAN_UD1 (timm:{ *:[i32] }):$kind)
83265 /* 234964 */ GIR_MutateOpcode, /*InsnID*/0, /*RecycleInsnID*/0, /*Opcode*/GIMT_Encode2(X86::UBSAN_UD1),
83266 /* 234969 */ GIR_RootConstrainSelectedInstOperands,
83267 /* 234970 */ // GIR_Coverage, 17040,
83268 /* 234970 */ GIR_Done,
83269 /* 234971 */ // Label 5464: @234971
83270 /* 234971 */ GIM_Reject,
83271 /* 234972 */ // Label 78: @234972
83272 /* 234972 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 5468*/ GIMT_Encode4(235430),
83273 /* 234983 */ /*GILLT_s32*//*Label 5465*/ GIMT_Encode4(234995),
83274 /* 234987 */ /*GILLT_s64*//*Label 5466*/ GIMT_Encode4(235140),
83275 /* 234991 */ /*GILLT_s80*//*Label 5467*/ GIMT_Encode4(235285),
83276 /* 234995 */ // Label 5465: @234995
83277 /* 234995 */ GIM_Try, /*On fail goto*//*Label 5469*/ GIMT_Encode4(235043), // Rule ID 1062 //
83278 /* 235000 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
83279 /* 235003 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83280 /* 235010 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83281 /* 235014 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83282 /* 235018 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83283 /* 235025 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83284 /* 235025 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m32),
83285 /* 235028 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83286 /* 235030 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83287 /* 235034 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83288 /* 235037 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83289 /* 235041 */ GIR_RootConstrainSelectedInstOperands,
83290 /* 235042 */ // GIR_Coverage, 1062,
83291 /* 235042 */ GIR_EraseRootFromParent_Done,
83292 /* 235043 */ // Label 5469: @235043
83293 /* 235043 */ GIM_Try, /*On fail goto*//*Label 5470*/ GIMT_Encode4(235091), // Rule ID 1063 //
83294 /* 235048 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
83295 /* 235051 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83296 /* 235058 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83297 /* 235062 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83298 /* 235066 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83299 /* 235073 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83300 /* 235073 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m32),
83301 /* 235076 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83302 /* 235078 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83303 /* 235082 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83304 /* 235085 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83305 /* 235089 */ GIR_RootConstrainSelectedInstOperands,
83306 /* 235090 */ // GIR_Coverage, 1063,
83307 /* 235090 */ GIR_EraseRootFromParent_Done,
83308 /* 235091 */ // Label 5470: @235091
83309 /* 235091 */ GIM_Try, /*On fail goto*//*Label 5471*/ GIMT_Encode4(235139), // Rule ID 1064 //
83310 /* 235096 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf32),
83311 /* 235099 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83312 /* 235106 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83313 /* 235110 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83314 /* 235114 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83315 /* 235121 */ // (X86fild:{ *:[f32] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m32:{ *:[f32] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83316 /* 235121 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m32),
83317 /* 235124 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83318 /* 235126 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83319 /* 235130 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83320 /* 235133 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83321 /* 235137 */ GIR_RootConstrainSelectedInstOperands,
83322 /* 235138 */ // GIR_Coverage, 1064,
83323 /* 235138 */ GIR_EraseRootFromParent_Done,
83324 /* 235139 */ // Label 5471: @235139
83325 /* 235139 */ GIM_Reject,
83326 /* 235140 */ // Label 5466: @235140
83327 /* 235140 */ GIM_Try, /*On fail goto*//*Label 5472*/ GIMT_Encode4(235188), // Rule ID 1065 //
83328 /* 235145 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
83329 /* 235148 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83330 /* 235155 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83331 /* 235159 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83332 /* 235163 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83333 /* 235170 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83334 /* 235170 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m64),
83335 /* 235173 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83336 /* 235175 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83337 /* 235179 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83338 /* 235182 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83339 /* 235186 */ GIR_RootConstrainSelectedInstOperands,
83340 /* 235187 */ // GIR_Coverage, 1065,
83341 /* 235187 */ GIR_EraseRootFromParent_Done,
83342 /* 235188 */ // Label 5472: @235188
83343 /* 235188 */ GIM_Try, /*On fail goto*//*Label 5473*/ GIMT_Encode4(235236), // Rule ID 1066 //
83344 /* 235193 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
83345 /* 235196 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83346 /* 235203 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83347 /* 235207 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83348 /* 235211 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83349 /* 235218 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83350 /* 235218 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m64),
83351 /* 235221 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83352 /* 235223 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83353 /* 235227 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83354 /* 235230 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83355 /* 235234 */ GIR_RootConstrainSelectedInstOperands,
83356 /* 235235 */ // GIR_Coverage, 1066,
83357 /* 235235 */ GIR_EraseRootFromParent_Done,
83358 /* 235236 */ // Label 5473: @235236
83359 /* 235236 */ GIM_Try, /*On fail goto*//*Label 5474*/ GIMT_Encode4(235284), // Rule ID 1067 //
83360 /* 235241 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_FPStackf64),
83361 /* 235244 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83362 /* 235251 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83363 /* 235255 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83364 /* 235259 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83365 /* 235266 */ // (X86fild:{ *:[f64] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m64:{ *:[f64] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83366 /* 235266 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m64),
83367 /* 235269 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83368 /* 235271 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83369 /* 235275 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83370 /* 235278 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83371 /* 235282 */ GIR_RootConstrainSelectedInstOperands,
83372 /* 235283 */ // GIR_Coverage, 1067,
83373 /* 235283 */ GIR_EraseRootFromParent_Done,
83374 /* 235284 */ // Label 5474: @235284
83375 /* 235284 */ GIM_Reject,
83376 /* 235285 */ // Label 5467: @235285
83377 /* 235285 */ GIM_Try, /*On fail goto*//*Label 5475*/ GIMT_Encode4(235333), // Rule ID 1068 //
83378 /* 235290 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
83379 /* 235293 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83380 /* 235300 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83381 /* 235304 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83382 /* 235308 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83383 /* 235315 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild16>> => (ILD_Fp16m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83384 /* 235315 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp16m80),
83385 /* 235318 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83386 /* 235320 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83387 /* 235324 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83388 /* 235327 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83389 /* 235331 */ GIR_RootConstrainSelectedInstOperands,
83390 /* 235332 */ // GIR_Coverage, 1068,
83391 /* 235332 */ GIR_EraseRootFromParent_Done,
83392 /* 235333 */ // Label 5475: @235333
83393 /* 235333 */ GIM_Try, /*On fail goto*//*Label 5476*/ GIMT_Encode4(235381), // Rule ID 1069 //
83394 /* 235338 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
83395 /* 235341 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83396 /* 235348 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83397 /* 235352 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83398 /* 235356 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83399 /* 235363 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild32>> => (ILD_Fp32m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83400 /* 235363 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp32m80),
83401 /* 235366 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83402 /* 235368 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83403 /* 235372 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83404 /* 235375 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83405 /* 235379 */ GIR_RootConstrainSelectedInstOperands,
83406 /* 235380 */ // GIR_Coverage, 1069,
83407 /* 235380 */ GIR_EraseRootFromParent_Done,
83408 /* 235381 */ // Label 5476: @235381
83409 /* 235381 */ GIM_Try, /*On fail goto*//*Label 5477*/ GIMT_Encode4(235429), // Rule ID 1070 //
83410 /* 235386 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasX87),
83411 /* 235389 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83412 /* 235396 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83413 /* 235400 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83414 /* 235404 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83415 /* 235411 */ // (X86fild:{ *:[f80] } addr:{ *:[iPTR] }:$src)<<P:Predicate_X86fild64>> => (ILD_Fp64m80:{ *:[f80] }:{ *:[i16] } addr:{ *:[iPTR] }:$src)
83416 /* 235411 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ILD_Fp64m80),
83417 /* 235414 */ GIR_RootToRootCopy, /*OpIdx*/0, // DstI[dst]
83418 /* 235416 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // src
83419 /* 235420 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83420 /* 235423 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83421 /* 235427 */ GIR_RootConstrainSelectedInstOperands,
83422 /* 235428 */ // GIR_Coverage, 1070,
83423 /* 235428 */ GIR_EraseRootFromParent_Done,
83424 /* 235429 */ // Label 5477: @235429
83425 /* 235429 */ GIM_Reject,
83426 /* 235430 */ // Label 5468: @235430
83427 /* 235430 */ GIM_Reject,
83428 /* 235431 */ // Label 79: @235431
83429 /* 235431 */ GIM_SwitchType, /*MI*/0, /*Op*/0, /*[*/GIMT_Encode2(3), GIMT_Encode2(6), /*)*//*default:*//*Label 5481*/ GIMT_Encode4(236294),
83430 /* 235442 */ /*GILLT_s32*//*Label 5478*/ GIMT_Encode4(235454),
83431 /* 235446 */ /*GILLT_s64*//*Label 5479*/ GIMT_Encode4(235734),
83432 /* 235450 */ /*GILLT_s80*//*Label 5480*/ GIMT_Encode4(236014),
83433 /* 235454 */ // Label 5478: @235454
83434 /* 235454 */ GIM_Try, /*On fail goto*//*Label 5482*/ GIMT_Encode4(235499), // Rule ID 849 //
83435 /* 235459 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83436 /* 235466 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83437 /* 235470 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83438 /* 235474 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83439 /* 235481 */ // (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)
83440 /* 235481 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT16_IN_MEM),
83441 /* 235484 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83442 /* 235488 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83443 /* 235490 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83444 /* 235493 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83445 /* 235497 */ GIR_RootConstrainSelectedInstOperands,
83446 /* 235498 */ // GIR_Coverage, 849,
83447 /* 235498 */ GIR_EraseRootFromParent_Done,
83448 /* 235499 */ // Label 5482: @235499
83449 /* 235499 */ GIM_Try, /*On fail goto*//*Label 5483*/ GIMT_Encode4(235544), // Rule ID 850 //
83450 /* 235504 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83451 /* 235511 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83452 /* 235515 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83453 /* 235519 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83454 /* 235526 */ // (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)
83455 /* 235526 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT32_IN_MEM),
83456 /* 235529 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83457 /* 235533 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83458 /* 235535 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83459 /* 235538 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83460 /* 235542 */ GIR_RootConstrainSelectedInstOperands,
83461 /* 235543 */ // GIR_Coverage, 850,
83462 /* 235543 */ GIR_EraseRootFromParent_Done,
83463 /* 235544 */ // Label 5483: @235544
83464 /* 235544 */ GIM_Try, /*On fail goto*//*Label 5484*/ GIMT_Encode4(235589), // Rule ID 851 //
83465 /* 235549 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83466 /* 235556 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83467 /* 235560 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83468 /* 235564 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83469 /* 235571 */ // (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)
83470 /* 235571 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP32_TO_INT64_IN_MEM),
83471 /* 235574 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83472 /* 235578 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83473 /* 235580 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83474 /* 235583 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83475 /* 235587 */ GIR_RootConstrainSelectedInstOperands,
83476 /* 235588 */ // GIR_Coverage, 851,
83477 /* 235588 */ GIR_EraseRootFromParent_Done,
83478 /* 235589 */ // Label 5484: @235589
83479 /* 235589 */ GIM_Try, /*On fail goto*//*Label 5485*/ GIMT_Encode4(235637), // Rule ID 1083 //
83480 /* 235594 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83481 /* 235597 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83482 /* 235604 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83483 /* 235608 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83484 /* 235612 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83485 /* 235619 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
83486 /* 235619 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m32),
83487 /* 235622 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83488 /* 235626 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83489 /* 235628 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83490 /* 235631 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83491 /* 235635 */ GIR_RootConstrainSelectedInstOperands,
83492 /* 235636 */ // GIR_Coverage, 1083,
83493 /* 235636 */ GIR_EraseRootFromParent_Done,
83494 /* 235637 */ // Label 5485: @235637
83495 /* 235637 */ GIM_Try, /*On fail goto*//*Label 5486*/ GIMT_Encode4(235685), // Rule ID 1084 //
83496 /* 235642 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83497 /* 235645 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83498 /* 235652 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83499 /* 235656 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83500 /* 235660 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83501 /* 235667 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
83502 /* 235667 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m32),
83503 /* 235670 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83504 /* 235674 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83505 /* 235676 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83506 /* 235679 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83507 /* 235683 */ GIR_RootConstrainSelectedInstOperands,
83508 /* 235684 */ // GIR_Coverage, 1084,
83509 /* 235684 */ GIR_EraseRootFromParent_Done,
83510 /* 235685 */ // Label 5486: @235685
83511 /* 235685 */ GIM_Try, /*On fail goto*//*Label 5487*/ GIMT_Encode4(235733), // Rule ID 1085 //
83512 /* 235690 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83513 /* 235693 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83514 /* 235700 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP32RegClassID),
83515 /* 235704 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83516 /* 235708 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83517 /* 235715 */ // (X86fp_to_mem RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
83518 /* 235715 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m32),
83519 /* 235718 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83520 /* 235722 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83521 /* 235724 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83522 /* 235727 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83523 /* 235731 */ GIR_RootConstrainSelectedInstOperands,
83524 /* 235732 */ // GIR_Coverage, 1085,
83525 /* 235732 */ GIR_EraseRootFromParent_Done,
83526 /* 235733 */ // Label 5487: @235733
83527 /* 235733 */ GIM_Reject,
83528 /* 235734 */ // Label 5479: @235734
83529 /* 235734 */ GIM_Try, /*On fail goto*//*Label 5488*/ GIMT_Encode4(235779), // Rule ID 852 //
83530 /* 235739 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83531 /* 235746 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83532 /* 235750 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83533 /* 235754 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83534 /* 235761 */ // (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)
83535 /* 235761 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT16_IN_MEM),
83536 /* 235764 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83537 /* 235768 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83538 /* 235770 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83539 /* 235773 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83540 /* 235777 */ GIR_RootConstrainSelectedInstOperands,
83541 /* 235778 */ // GIR_Coverage, 852,
83542 /* 235778 */ GIR_EraseRootFromParent_Done,
83543 /* 235779 */ // Label 5488: @235779
83544 /* 235779 */ GIM_Try, /*On fail goto*//*Label 5489*/ GIMT_Encode4(235824), // Rule ID 853 //
83545 /* 235784 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83546 /* 235791 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83547 /* 235795 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83548 /* 235799 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83549 /* 235806 */ // (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)
83550 /* 235806 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT32_IN_MEM),
83551 /* 235809 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83552 /* 235813 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83553 /* 235815 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83554 /* 235818 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83555 /* 235822 */ GIR_RootConstrainSelectedInstOperands,
83556 /* 235823 */ // GIR_Coverage, 853,
83557 /* 235823 */ GIR_EraseRootFromParent_Done,
83558 /* 235824 */ // Label 5489: @235824
83559 /* 235824 */ GIM_Try, /*On fail goto*//*Label 5490*/ GIMT_Encode4(235869), // Rule ID 854 //
83560 /* 235829 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83561 /* 235836 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83562 /* 235840 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83563 /* 235844 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83564 /* 235851 */ // (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)
83565 /* 235851 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP64_TO_INT64_IN_MEM),
83566 /* 235854 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83567 /* 235858 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83568 /* 235860 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83569 /* 235863 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83570 /* 235867 */ GIR_RootConstrainSelectedInstOperands,
83571 /* 235868 */ // GIR_Coverage, 854,
83572 /* 235868 */ GIR_EraseRootFromParent_Done,
83573 /* 235869 */ // Label 5490: @235869
83574 /* 235869 */ GIM_Try, /*On fail goto*//*Label 5491*/ GIMT_Encode4(235917), // Rule ID 1086 //
83575 /* 235874 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83576 /* 235877 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83577 /* 235884 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83578 /* 235888 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83579 /* 235892 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83580 /* 235899 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
83581 /* 235899 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m64),
83582 /* 235902 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83583 /* 235906 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83584 /* 235908 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83585 /* 235911 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83586 /* 235915 */ GIR_RootConstrainSelectedInstOperands,
83587 /* 235916 */ // GIR_Coverage, 1086,
83588 /* 235916 */ GIR_EraseRootFromParent_Done,
83589 /* 235917 */ // Label 5491: @235917
83590 /* 235917 */ GIM_Try, /*On fail goto*//*Label 5492*/ GIMT_Encode4(235965), // Rule ID 1087 //
83591 /* 235922 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83592 /* 235925 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83593 /* 235932 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83594 /* 235936 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83595 /* 235940 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83596 /* 235947 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
83597 /* 235947 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m64),
83598 /* 235950 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83599 /* 235954 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83600 /* 235956 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83601 /* 235959 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83602 /* 235963 */ GIR_RootConstrainSelectedInstOperands,
83603 /* 235964 */ // GIR_Coverage, 1087,
83604 /* 235964 */ GIR_EraseRootFromParent_Done,
83605 /* 235965 */ // Label 5492: @235965
83606 /* 235965 */ GIM_Try, /*On fail goto*//*Label 5493*/ GIMT_Encode4(236013), // Rule ID 1088 //
83607 /* 235970 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83608 /* 235973 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83609 /* 235980 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP64RegClassID),
83610 /* 235984 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83611 /* 235988 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83612 /* 235995 */ // (X86fp_to_mem RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
83613 /* 235995 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m64),
83614 /* 235998 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83615 /* 236002 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83616 /* 236004 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83617 /* 236007 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83618 /* 236011 */ GIR_RootConstrainSelectedInstOperands,
83619 /* 236012 */ // GIR_Coverage, 1088,
83620 /* 236012 */ GIR_EraseRootFromParent_Done,
83621 /* 236013 */ // Label 5493: @236013
83622 /* 236013 */ GIM_Reject,
83623 /* 236014 */ // Label 5480: @236014
83624 /* 236014 */ GIM_Try, /*On fail goto*//*Label 5494*/ GIMT_Encode4(236059), // Rule ID 855 //
83625 /* 236019 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83626 /* 236026 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83627 /* 236030 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83628 /* 236034 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83629 /* 236041 */ // (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)
83630 /* 236041 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT16_IN_MEM),
83631 /* 236044 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83632 /* 236048 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83633 /* 236050 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83634 /* 236053 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83635 /* 236057 */ GIR_RootConstrainSelectedInstOperands,
83636 /* 236058 */ // GIR_Coverage, 855,
83637 /* 236058 */ GIR_EraseRootFromParent_Done,
83638 /* 236059 */ // Label 5494: @236059
83639 /* 236059 */ GIM_Try, /*On fail goto*//*Label 5495*/ GIMT_Encode4(236104), // Rule ID 856 //
83640 /* 236064 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83641 /* 236071 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83642 /* 236075 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83643 /* 236079 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83644 /* 236086 */ // (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)
83645 /* 236086 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT32_IN_MEM),
83646 /* 236089 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83647 /* 236093 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83648 /* 236095 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83649 /* 236098 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83650 /* 236102 */ GIR_RootConstrainSelectedInstOperands,
83651 /* 236103 */ // GIR_Coverage, 856,
83652 /* 236103 */ GIR_EraseRootFromParent_Done,
83653 /* 236104 */ // Label 5495: @236104
83654 /* 236104 */ GIM_Try, /*On fail goto*//*Label 5496*/ GIMT_Encode4(236149), // Rule ID 857 //
83655 /* 236109 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83656 /* 236116 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83657 /* 236120 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83658 /* 236124 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83659 /* 236131 */ // (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)
83660 /* 236131 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FP80_TO_INT64_IN_MEM),
83661 /* 236134 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83662 /* 236138 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83663 /* 236140 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::EFLAGS*/0,
83664 /* 236143 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83665 /* 236147 */ GIR_RootConstrainSelectedInstOperands,
83666 /* 236148 */ // GIR_Coverage, 857,
83667 /* 236148 */ GIR_EraseRootFromParent_Done,
83668 /* 236149 */ // Label 5496: @236149
83669 /* 236149 */ GIM_Try, /*On fail goto*//*Label 5497*/ GIMT_Encode4(236197), // Rule ID 1089 //
83670 /* 236154 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83671 /* 236157 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(2),
83672 /* 236164 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83673 /* 236168 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83674 /* 236172 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83675 /* 236179 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i16mem>> => (ISTT_Fp16m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
83676 /* 236179 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp16m80),
83677 /* 236182 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83678 /* 236186 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83679 /* 236188 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83680 /* 236191 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83681 /* 236195 */ GIR_RootConstrainSelectedInstOperands,
83682 /* 236196 */ // GIR_Coverage, 1089,
83683 /* 236196 */ GIR_EraseRootFromParent_Done,
83684 /* 236197 */ // Label 5497: @236197
83685 /* 236197 */ GIM_Try, /*On fail goto*//*Label 5498*/ GIMT_Encode4(236245), // Rule ID 1090 //
83686 /* 236202 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83687 /* 236205 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(4),
83688 /* 236212 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83689 /* 236216 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83690 /* 236220 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83691 /* 236227 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i32mem>> => (ISTT_Fp32m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
83692 /* 236227 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp32m80),
83693 /* 236230 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83694 /* 236234 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83695 /* 236236 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83696 /* 236239 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83697 /* 236243 */ GIR_RootConstrainSelectedInstOperands,
83698 /* 236244 */ // GIR_Coverage, 1090,
83699 /* 236244 */ GIR_EraseRootFromParent_Done,
83700 /* 236245 */ // Label 5498: @236245
83701 /* 236245 */ GIM_Try, /*On fail goto*//*Label 5499*/ GIMT_Encode4(236293), // Rule ID 1091 //
83702 /* 236250 */ GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasSSE3),
83703 /* 236253 */ GIM_CheckMemorySizeEqualTo, /*MI*/0, /*MMO*/0, /*Size*/GIMT_Encode4(8),
83704 /* 236260 */ GIM_RootCheckRegBankForClass, /*Op*/0, /*RC*/GIMT_Encode2(X86::RFP80RegClassID),
83705 /* 236264 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/1, /*SizeInBits*/0,
83706 /* 236268 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/1, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83707 /* 236275 */ // (X86fp_to_mem RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_X86fp_to_i64mem>> => (ISTT_Fp64m80:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
83708 /* 236275 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::ISTT_Fp64m80),
83709 /* 236278 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // op
83710 /* 236282 */ GIR_RootToRootCopy, /*OpIdx*/0, // src
83711 /* 236284 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83712 /* 236287 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83713 /* 236291 */ GIR_RootConstrainSelectedInstOperands,
83714 /* 236292 */ // GIR_Coverage, 1091,
83715 /* 236292 */ GIR_EraseRootFromParent_Done,
83716 /* 236293 */ // Label 5499: @236293
83717 /* 236293 */ GIM_Reject,
83718 /* 236294 */ // Label 5481: @236294
83719 /* 236294 */ GIM_Reject,
83720 /* 236295 */ // Label 80: @236295
83721 /* 236295 */ GIM_Try, /*On fail goto*//*Label 5500*/ GIMT_Encode4(236330), // Rule ID 1108 //
83722 /* 236300 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
83723 /* 236304 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83724 /* 236311 */ // (X86fp_cwd_set16 addr:{ *:[iPTR] }:$dst) => (FLDCW16m:{ *:[i16] } addr:{ *:[iPTR] }:$dst)
83725 /* 236311 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FLDCW16m),
83726 /* 236314 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83727 /* 236318 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83728 /* 236321 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPCW*/1,
83729 /* 236324 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83730 /* 236328 */ GIR_RootConstrainSelectedInstOperands,
83731 /* 236329 */ // GIR_Coverage, 1108,
83732 /* 236329 */ GIR_EraseRootFromParent_Done,
83733 /* 236330 */ // Label 5500: @236330
83734 /* 236330 */ GIM_Reject,
83735 /* 236331 */ // Label 81: @236331
83736 /* 236331 */ GIM_Try, /*On fail goto*//*Label 5501*/ GIMT_Encode4(236363), // Rule ID 1107 //
83737 /* 236336 */ GIM_CheckPointerToAny, /*MI*/0, /*Op*/0, /*SizeInBits*/0,
83738 /* 236340 */ GIM_CheckComplexPattern, /*MI*/0, /*Op*/0, /*Renderer*/GIMT_Encode2(0), GIMT_Encode2(GICP_gi_addr),
83739 /* 236347 */ // (X86fp_cwd_get16 addr:{ *:[iPTR] }:$dst) => (FNSTCW16m:{ *:[i16] } addr:{ *:[iPTR] }:$dst)
83740 /* 236347 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(X86::FNSTCW16m),
83741 /* 236350 */ GIR_ComplexRenderer, /*InsnID*/0, /*RendererID*/GIMT_Encode2(0), // dst
83742 /* 236354 */ GIR_SetImplicitDefDead, /*InsnID*/0, /*OpIdx for X86::FPSW*/0,
83743 /* 236357 */ GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/1, /*MergeInsnID's*/0,
83744 /* 236361 */ GIR_RootConstrainSelectedInstOperands,
83745 /* 236362 */ // GIR_Coverage, 1107,
83746 /* 236362 */ GIR_EraseRootFromParent_Done,
83747 /* 236363 */ // Label 5501: @236363
83748 /* 236363 */ GIM_Reject,
83749 /* 236364 */ // Label 82: @236364
83750 /* 236364 */ GIM_Reject,
83751 /* 236365 */ }; // Size: 236365 bytes
83752 return MatchTable0;
83753}
83754#undef GIMT_Encode2
83755#undef GIMT_Encode4
83756#undef GIMT_Encode8
83757
83758
83759#endif // GET_GLOBALISEL_IMPL
83760
83761#ifdef GET_GLOBALISEL_PREDICATES_DECL
83762
83763PredicateBitset AvailableModuleFeatures;
83764mutable PredicateBitset AvailableFunctionFeatures;
83765PredicateBitset getAvailableFeatures() const {
83766 return AvailableModuleFeatures | AvailableFunctionFeatures;
83767}
83768PredicateBitset
83769computeAvailableModuleFeatures(const X86Subtarget *Subtarget) const;
83770PredicateBitset
83771computeAvailableFunctionFeatures(const X86Subtarget *Subtarget,
83772 const MachineFunction *MF) const;
83773void setupGeneratedPerFunctionState(MachineFunction &MF) override;
83774
83775#endif // GET_GLOBALISEL_PREDICATES_DECL
83776
83777#ifdef GET_GLOBALISEL_PREDICATES_INIT
83778
83779AvailableModuleFeatures(computeAvailableModuleFeatures(&STI)),
83780AvailableFunctionFeatures()
83781
83782#endif // GET_GLOBALISEL_PREDICATES_INIT
83783
83784